Google Apps Script(GAS)を使用すると、Google スプレッドシートのデータを操作できます。ここでは、シートとセルを取得するための関数の一覧で表し、簡単な解説を添えました。
シートを取得する関数
- getActiveSpreadsheet()
現在アクティブなスプレッドシート全体を取得します。
例:var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
- getActiveSheet()
アクティブなスプレッドシートの中で現在選択されているシートを取得します。
例:var sheet = spreadsheetgetActiveSheet();
- getSheetByName(name)
指定した名前のシートを取得します。存在しない場合はnullを返します。
例:var sheet = spreadsheet.getSheetByName("Sheet1");
- getSheets()
スプレッドシート内の全シートを配列として取得します。
例:var sheets = spreadsheet.getSheets();
セルを取得する関数
- getRange(a1Notation)
A1表記法を使用して、シート上の特定の範囲を取得します。
例:var range = sheet.getRange("A1:B2");
- getRange(row, column)
指定した行と列のセルを取得します。
例:var cell = sheet.getRange(1, 1);
// 1行1列目 - getRange(row, column, numRows)
指定した行と列から始まる、指定された数の行を含む範囲を取得します。
例:var range = sheet.getRange(1, 1, 2);
// 1行1列目から2行分 - getRange(row, column, numRows, numColumns)
指定した行と列から始まり、指定された数の行と列を含む範囲を取得します。
例:var range = sheet.getRange(1, 1, 2, 3);
// 1行1列目から2行3列分 - getDataRange()
シートにデータが入っている範囲全体を取得します。これは、最初の行と列から始まり、最後の行と列までの範囲です。
例:var range = sheet.getDataRange();
これらの関数は、Google Apps Scriptを使用してGoogleスプレッドシートを操作する際の基本的なツールです。シートやセルの選択からデータの読み書きまで、これらの関数を組み合わせることで幅広い操作が可能になります。特にgetRange
関数は、A1表記法や行列指定など多様な方法でセル範囲を指定できるため、非常に柔軟なデータ操作を実現できます。
データ取得のスクリプトの使用例
それでは、「getRange()」と「getDataRange()」の2つの関数を使用した簡単なチュートリアルを行います。基本的なGASの実行方法についてはこちらの記事を参照してください。このチュートリアルでは、Googleスプレッドシートからデータを読み取り、そのデータを加工して、新しい範囲に書き込みます。
- スプレッドシートから特定の範囲のデータを読み取る。
- 読み取ったデータに何らかの操作を行う(例:各セルの値に2を乗算)。
- 加工したデータを新しい範囲に書き込む。
ステップ1: スプレッドシートの準備
- Googleスプレッドシートを開き、任意のデータを入力してください。例えば、A1からC3の範囲に数値を入力します。
ステップ2: スクリプトエディタの開始
- スプレッドシートの画面から「拡張機能」>「Apps Script」を選択してスクリプトエディタを開きます。
ステップ3: データの読み取りと加工
以下のスクリプトをスクリプトエディタにコピー&ペーストします。
function processData() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// 特定の範囲のデータを読み取る
var range = sheet.getRange("A1:C3");
var values = range.getValues();
// データの加工(各セルの値に2を乗算)
var processedValues = values.map(row => row.map(cell => cell * 2));
// 加工したデータを新しい範囲に書き込む(例:E1からG3)
var newRange = sheet.getRange("E1:G3");
newRange.setValues(processedValues);
}
ステップ4: スクリプトの実行
- スクリプトエディタ上で「processData」関数を選択し、「実行」ボタンをクリックします。
- 実行には認証が必要になりますので、画面の指示に従って認証を完了してください。
ステップ5: 結果の確認
- スプレッドシートに戻り、E1からG3の範囲を確認します。元のデータが2倍になっているはずです。