Google Apps Script - ⑦GoogleSpreadSheetのデータ参照

GASを使って、GoogleSpreadSheetのデータ参照を行ってみます。

スプレッドシートのデータ構造

GoogleSpreadSheetは、3つのデータ構造に分けることができます。

  • SpreadSheet
    1つのスプレッドシート・ファイルのこと。
    複数のシートを持ちます。
  • Sheet
    SpreadSheet内にあるシートのこと。
  • Range
    Sheet内にあるマス目の集合のこと。

一般的な表形式と同じ概念なので理解しやすいかと思います。

データ参照

データ参照を行うソースは以下の通りです。

[Google Apps Script]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function main() {
var id="********************************************"; // スプレッドシートID
var spreadsheet = SpreadsheetApp.openById(id) // スプレッドシートを取得
var sheet = spreadsheet.getSheetByName("シート1") // シートを取得

// 1セルのデータ取得(上から2つ、左から2つめのデータ取得)
Logger.log(sheet.getRange(2,2).getValue());

// 複数セルのデータ取得(3行3列のデータ取得)
var data = sheet.getRange(1,1,3,3).getValues();
for (var i=0; i < 3; i++) { // 横ループ
for (var j=0; j < 3; j++) { // 縦ループ
Logger.log(i + " " + j + " " + data[i][j]);
}
}
}
  • 2行目
    操作するスプレッドシートのIDを設定します。
    スプレッドシートIDは、ブラウザでスプレッドシートを開いたときのURLの“spreadsheets/d/“の後ろから“/edit”の前の文字列です。
  • 7行目
    1つのセルのデータを取得します。
    getRange関数でセル位置を指定し、getValue()関数をデータを取得しています。
  • 10行目
    複数のセルデータを取得します。
    1行目から3行目、1列目から3列目のデータをgetValues()関数を使ってまとめて取得し、配列に格納しています。
    複数のデータを参照したい場合は、まとめて取得したほうが処理が高速になります。