GASはGoogleスプレッドシートの値を読み、計算し、別のセルへ書くといった作業をプログラムにするための道具です。正式名はGoogle Apps Script。コードはブラウザのエディタで編集し、Google側の環境で動きます。
たとえば、毎週コピーしている売上表の合計を出す作業は、入力の列と出力先が決まればGASで扱えます。一方、会社のPCにしかないExcelファイルをそのまま読みたいなら、ファイルをどこへ置くかから考える必要があります。「Googleの表の中で完結するか」が、最初の判断になります。
スプレッドシートとのつながり
GoogleのSheets開発ガイドでは、スプレッドシートから「拡張機能」→「Apps Script」を開くと、表に紐づくスクリプトを作れると説明しています。アクティブな表を操作したり、表にメニューを追加したりできる形です。
Googleアカウントで表を開けることと、その表へ書き込めることは別です。閲覧だけを許可されている表を、GASなら自由に変更できるわけではありません。練習では自分で作った空のスプレッドシートを使い、編集権限や会社の利用ルールも確認します。
最初の読み取り
練習用のシート名を「練習」にし、A1に店舗、B1に売上と入力します。A2に東京、B2に1200を入れたら、次の例で表を読みます。公式のデータ取得方法をもとにした例で、この記事ではGAS上の実行は行っていません。
function readPracticeSheet() {
const book = SpreadsheetApp.getActiveSpreadsheet();
const sheet = book.getSheetByName('練習');
if (!sheet) throw new Error('練習シートが見つかりません');
const values = sheet.getDataRange().getValues();
console.log(JSON.stringify(values));
}
この例は値を表示するだけで、セルを書き換えません。期待する形は、見出しの行と「東京・1200」の行が並ぶ二次元配列です。エディタの実行ログで、シート名、行数、金額の3つを照合します。シートが見つからないなら名前を、金額が違うなら元のB2を見ます。
GASのコードを読むときは、SpreadsheetAppが表の操作、getSheetByNameがシートの選択、getValuesが値の取得という役割に分けると追いやすくなります。すべての命令を一度に覚えるより、いまの作業で使うものを実際のセルと結び付けます。
書き込みと権限承認
読み取った値を確かめたら、次は新しい行への追記や、別セルへの集計結果の保存へ進めます。出力先は先に決め、式や見出しが入っていないかを確認してください。プログラムの書き込みも手で値を貼り付けるときと同じように既存データへ影響します。
初回の実行などで、Googleサービスへのアクセス承認を求められることがあります。権限承認の公式説明によると、使うサービスに応じて必要な権限が決まります。表を読むだけのつもりなのにメールやDriveの権限も求められたら、その機能を使うコードがないか確認します。内容が分からないまま承認を進める必要はありません。
自動化できる作業の見つけ方
GASに向く題材は、入力の場所が決まり、毎回同じルールで処理でき、出力を人が確かめられる作業です。集計表の作成、フォーム回答の転記、確認済みの内容から通知文を作る処理などが候補になります。
例外の多い判断は最初からすべて自動化しようとせず、判断材料を一覧にする部分だけ任せる方法もあります。担当者を勝手に決めたり、確認なしで相手へメールを送ったりする範囲まで、一度に広げない方が動きを追いやすくなります。
手動の読み取りができたら、次は期待する出力を1つ決めて書き込みを試します。Google側には実行時間などの割り当てと制限もあります。件数やサービスを増やす段階で、いまのアカウントに当てはまる条件を確認してください。
学ぶ順序を決めたいときはGAS入門、作った処理を画面から使いたいときはGASのWebアプリ化が次の候補です。
