2013-02-20 18 views
17

Chcę uzyskać wartość ciągu -to porównać je później z if condition- tylko z jednej kolumny w arkuszu przy użyciu Google Apps Script. Szukałem w internecie i znalazłem ten link - Przepraszam, jeśli to brzmi głupio, jestem nowy na Google Apps skrypty - https://developers.google.com/apps-script/class_spreadsheetuzyskać wartość w jednej kolumnie w arkuszu za pomocą Google Apps Script

var values = SpreadsheetApp.getActiveSheet().getRange(2, 3, 6, 4).getValues(); 

myślę, że musi być pomocny, jedynym problemem jest to, że kolumna chcę uzyskać wartości z jest dynamiczna, więc jak mogę ustawić zakres tej kolumnie

Odpowiedz

29

jeśli używasz po prostu:

var values = SpreadsheetApp.getActiveSheet().getDataRange().getValues()

dostaniesz tablicę 2 wymiar wszystkich danych w th e arkusz indeksowany wierszami i kolumnami.

Tak, aby uzyskać wartość w kolumnie A, ROW1 użyć values[0][0], values[1][0] dla kręgosłupa, rzędu 2 values[0][2] w kolumnie C row1, itp ...

Jeśli trzeba iteracji w pętli for (w pojedyncza kolumna):

for(n=0;n<values.length;++n){ 
var cell = values[n][x] ; // x is the index of the column starting from 0 
} 

Jeśli trzeba iteracji w pętli for (w jednym wierszu):

for(n=0;n<values[0].length;++n){ 
var cell = values[x][n] ; // x is the index of the row starting from 0 
} 
+0

jest to bardzo skuteczny sposób to zrobić, chociaż? Wydaje się zbyt wygórowane, aby pobrać cały zakres danych, a następnie wystarczy jedna kolumna. – Henrik

+1

zajmuje tyle samo czasu, aby wszystkie dane, czy tylko dane kolumn, tak naprawdę nie ma żadnej różnicy :-) można łatwo sprawdzić, że w transkryptu wykonania gdzie wszystkie czasy są rejestrowane przez wykonanie połączenia serwisowego. –

Powiązane problemy