備忘録記事です。GoogleAppsScriptで、スプレッドシートのデータを配列として取得する方法。
※多くの他の解説記事では、「スプレッドシートのセル範囲(例えばA1からE10までの5行10列)を配列として取得する」というgetRange,getValuesの解説をしているが、このページでは、「1行目」と「3行目」のデータだけを配列として取得する方法を解説しておく。
前提(やりたいこと)
図のように、スプレッドシートの「1行目」つまり各データの「列名」に当たる部分と、「3行目」の該当データだけをひとまとまりの配列データとして取得したい、というもの。
このシートのデータを全部まとめて配列として取得したいというのなら、よくある解説のように「getRange」「getValues」で一発で取得すればいいが、今回のように「連続していない(飛び飛びの)セル範囲」のデータを配列として取得したい、という場合にはどうすればイイか?
書き方
function myFunction() { var MySheet=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var MyArray1=MySheet.getRange(1,1,1,8).getValues();・・・(1) var MyArray2=MySheet.getRange(3,1,1,8).getValues();・・・(2) var MyArray=Array(MyArray1,MyArray2);・・・(3) Logger.log(MyArray[1][0][4]); } ※↓ログに書き出された内容 12:22:15 情報 yoshioka_tomoka@example.com・・・(4)
(1)1行目の1列目(A列)~8列目(H列)までのセル範囲データを配列として取得
(2)3行目の1列目(A列)~8列目(H列)までのセル範囲データを配列として取得
(3)(1)と(2)のそれぞれの配列を要素として一つの配列に取りまとめる
取得した配列の中からデータを取り出すときには、(4)のようにする
コメントを投稿するにはログインしてください。