はじめに
GASを使ってみたいなと思い、やりたいことからどう書いたらいいのか分かると便利そうだなと思い、関数をまとめてみました。
1. 列の操作
列を削除する
deleteColumn
// 3列目を削除
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().deleteColumn(3);
列を挿入する
insertColumnBefore
insertColumnAfter
// 3列目の前に列を挿入
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().insertColumnBefore(3);
// 2列目の後に列を挿入
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().insertColumnAfter(2);
特定列のデータを取得する
getRange
// A列全体のデータを取得
var columnValues = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("A:A").getValues();
列にデータを設定する
setValues
// A列にデータを設定
var data = [["値1"], ["値2"], ["値3"]];
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("A1:A3").setValues(data);
2. 行の操作
行を削除する
deleteRow
// 2行目を削除
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().deleteRow(2);
行を挿入する
insertRowBefore
insertRowAfter
// 3行目の前に行を挿入
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().insertRowBefore(3);
// 2行目の後に行を挿入
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().insertRowAfter(2);
行を追加する
appendRow
// 行の末尾に新しい行を追加
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().appendRow(["値1", "値2", "値3"]);
3. セルの操作
特定のセルを取得する
getRange
// A1セルを取得
var cell = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("A1");
セルに値を設定する
setValue
// A1セルに値を設定
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("A1").setValue("Hello");
範囲内に値を設定する
setValues
// A1からB2に値を設定
var data = [["値1", "値2"], ["値3", "値4"]];
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("A1:B2").setValues(data);
範囲内の値を取得する
getValues
// A1からB2の値を取得
var values = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("A1:B2").getValues();
範囲内の内容をクリアする
clear
// A1からB2の内容をすべてクリア
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("A1:B2").clear();
4. デザインの操作
セルの背景色を設定する
setBackground
// A1セルの背景色を黄色に設定
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("A1").setBackground("yellow");
セルのフォント色を設定する
setFontColor
// A1セルのフォント色を赤に設定
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("A1").setFontColor("red");
セルのフォントサイズを設定する
setFontSize
// A1セルのフォントサイズを14ポイントに設定
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("A1").setFontSize(14);
範囲の書式のみをクリアする
clearFormat
// A1からB2の書式のみをクリア
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("A1:B2").clearFormat();
5. シートの操作
特定のシートを取得する
getSheetByName
// 名前が "Sheet1" のシートを取得
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
シートを追加する
insertSheet
// 新しいシートを追加
SpreadsheetApp.getActiveSpreadsheet().insertSheet("NewSheet");
シートを削除する
deleteSheet
// 名前が "Sheet1" のシートを削除
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
SpreadsheetApp.getActiveSpreadsheet().deleteSheet(sheet);
シートを非表示にする
hideSheet
// アクティブなシートを非表示
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().hideSheet();
非表示シートを再表示する
showSheet
// 名前が "HiddenSheet" のシートを再表示
var hiddenSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("HiddenSheet");
hiddenSheet.showSheet();
6. スプレッドシート全体の操作
スプレッドシートを取得する
getActiveSpreadsheet
openById
openByUrl
// 現在アクティブなスプレッドシートを取得
var ss = SpreadsheetApp.getActiveSpreadsheet();
// IDまたはURLでスプレッドシートを取得
var ssById = SpreadsheetApp.openById("スプレッドシートのID");
var ssByUrl = SpreadsheetApp.openByUrl("スプレッドシートのURL");
データが入力されている範囲を取得する
getDataRange
// アクティブシートのデータが入力されている範囲を取得
var dataRange = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getDataRange();