セル操作したい(Range

1const range = sheet.getDataRange();
2const range = sheet.getRange("A1:C3");

Rangeオブジェクトは、シート上の選択した範囲を操作できます。

データを選択したい(getRange

1// A1表記で指定
2// sheet.getRange("セル番地");
3// sheet.getRange("セル番地:セル番地");
4
5// A1セルを選択
6const range = sheet.getRange("A1");
7
8// A1セルからB3までの範囲を選択
9const range sheet.getRange("A1:B3");

getRangeでセル(やセル範囲)を指定して選択できます。 セル番地は大文字でも小文字でもOKです。

 1// 行番号/列番号で指定
 2// sheet.getRange("行番号", "列番号");
 3// sheet.getRange("行番号", "列番号", "行数");
 4// sheet.getRange("行番号", "列番号", "行数", "列数");
 5
 6// 2行目3列目(=C2セル)を選択
 7const range = sheet.getRange(2, 3);
 8
 9// 2行目3列目(=C2)から2行目2列目(=D3)の範囲を取得
10const range = sheet.getRange(2, 3, 2, 2);

getRangeはR1C1表記にも対応しています。

データを列選択したい

1// B列を全選択
2const range = sheet.getRange("B1:B");
3
4// 2行目を全選択
5const range = sheet.getRange("A2:2");
6
7// これはエラー
8const range = sheet.getRange("B");
9// -> Exception: Range not found

列全体はgetRange(開始セル:列番号)、 行全体はgetRange(開始セル:行番号)で選択できます。 getRange(列番号 or 行番号)だけだとエラーになります。

データを全選択したい(getDataRange

1// すべてのデータの範囲
2const range = sheet.getDataRange()

getDataRangeで、シートにあるデータを全選択できます。 余計な空行・空列は含まれないので、シート全体でデータを管理している場合によく使います。

1// 見出しを除外したデータの範囲
2const range = sheet.getDataRange.slice(1);

シートの1行目は、見出しに設定している場合があります。 見出しを含みたくない場合は.slice(1)するとよいです。

1// 別の選択方法
2const nrows = sheet.getLastRow();
3const ncols = sheet.getLastColumns();
4const range = sheet.getRange(2, 1, nrows, ncols);

シートにあるデータの行数、列数を取得して、getRangeして範囲選択することもできます。

1const lastRow = sheet.getLastRow();
2const newRange = sheet.getRange(lastRow+1, 1);

データを読み込むときより、既存のデータを追記したいときに利用します。

セル選択したい(getRange

1// 選択範囲を確認
2range.activate();

activateメソッドで、実際に選択された範囲をシート上で確認できます。 デバッグ時など、選択範囲が正しいか確認するときに便利です。

値を読み込みたい(getValues

1const values = range.getValues();

getValuesメソッドで、選択した範囲の値を2次元配列として取得できます。

値を書き込みたい(setValues

1const arrays = [[二次元配列]];
2const rows = dataTable.length;   // 行の数
3const cols = dataTable[0].length;  // 見出しの数=列の数
4sheet.getRange(1, 1, rows, cols).setValues(arrays);

setValuesメソッドで、選択した範囲に2次元配列の値を書き込めます。 書き込みたい2次元配列のシェイプ(=行数と列数)と、選択範囲のサイズは揃っている必要があるため、rowscolsを2次元配列から取得しています。

組み込み関数したい(setFormula

1const cell = sheet.getRange("セル名");
2cell.setFormula("=SUM(セル名:セル名)");

setFormulaでスプレッドシートの組み込み関数を利用できます。

セルの書式を変更したい

1const range = sheet.getRange(範囲); // 開始行, 開始列, 行数, 列数
2range.setFontSize(整数);
3range.setFontFamily("フォント名");
4range.setFontWeight("ウェイト名"); // "normal", "bold"
5range.setFontStyle("スタイル名");  // "normal", "italic"
6range.setFontLine("ライン名");    // "none", "underline", "line-through"
7range.setFontColors("色");
8range.setBackgrounds("色");

選択したセルに対して、フォントやスタイル、文字色などを設定できます。

リファレンス