2013-02-20 18 views
17

Googleのアプリケーションスクリプトを使用してスプレッドシート内の1つの列のみから文字列の値を取得し、 私はインターネットを検索し、私は、このリンクを発見した - これは愚かに聞こえる場合、Googleは、スクリプトAppsに申し訳ありませんが、私は新しいです - 私はそれが有用でなければならないと思いhttps://developers.google.com/apps-script/class_spreadsheetGoogle Appsスクリプトを使用してスプレッドシートの1つの列に値を取得

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

を、唯一の問題は、カラムは、私がしたいということです

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

をあなたは目の中のすべてのデータの2次元配列を取得します:あなたは、単に使用している場合、私はこのコラム

答えて

29

の範囲を設定しますどのように動的であるから値を取得します行と列によってインデックス付けされたシート。ですから、values[0][0]を使用ROW1列Aに値を取得する

、columnA、行2、列CのROW1のためvalues[0][2]、等のためのvalues[1][0] ...

forループで反復処理する必要がある場合(中単一の列):

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

あなたは()一列にforループで反復処理する必要がある場合:

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

が、これはしかし、実際にそれを行うための効率的な方法ですか?データ範囲全体を取得するのはあまりにも過剰だと思われ、1つの列しか必要ありません。 – Henrik

+1

すべてのデータまたはカラムデータを取得するのに同じ時間がかかります。実際には違いはありません:-)すべての実行時間がサービスコールによって記録されている実行記録内で簡単に確認できます。 –

関連する問題