2013-02-20 11 views
17

Bir dize değeri elde etmek istiyorum - Google Apps komut dosyasını kullanarak e-tablodaki bir sütundan yalnızca bir sütunu kullanarak daha sonra karşılaştırmak istiyorum. İnternet arama ve ben bu bağlantıyı buldum - bu saçma gelebilir, Google komut uygulamaları için üzgünüm, ben yeniyim - O yararlı olmalıdır tahmin https://developers.google.com/apps-script/class_spreadsheetgoogle apps script'i kullanarak elektronik tablonun bir sütununda değer elde edin

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

, tek sorun sütun İstiyorum ki

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

sen th tüm verilerin bir 2 Boyut dizisi alacak: dinamiktir dan sadece kullanırsam bu sütunda

cevap

29

aralığını ayarlamak yapmak yüzden nasıl değerlerini almak satırlar ve sütunlar tarafından dizinlenmiş e sayfası. İçinde (döngü için yineleme gerekirse values[0][0] vb Columna, sıranın 2, sütun C ROW1 için values[0][2] için values[1][0] ...

kullanmak row1 Yani

, A sütununda değeri elde etmek tek bir sütun):

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

bu olsa gerçekten bunu yapmanın etkili bir yolu mu:

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

siz) tek bir satırda (döngü için yineleme gerekiyorsa

? Tüm veri aralığını almak çok aşırı görünüyor ve sonra sadece bir sütuna ihtiyaç var. – Henrik

+1

Tüm verileri veya sadece bir sütun verisini almak için aynı zaman alır, bu yüzden gerçekten herhangi bir fark yaratmaz :-) Tüm yürütme zamanlarının servis çağrısıyla kaydedildiği yürütme transkriptinde bunu kolayca kontrol edebilirsiniz. –