◆ そのまま貼って使える GASスニペット集(業務自動化20本)
■ 使い方
このコンテンツは、Google スプレッドシートの業務自動化でよく出てくる「あと一歩」の処理を、コピペしてすぐ動く形にまとめたものです。プログラミング未経験でも、以下の手順どおりに進めれば動作を確認できます。
1. Apps Script エディタを開く
対象のスプレッドシートを開いた状態で、メニューの「拡張機能」→「Apps Script」をクリックします。新しいタブでスクリプトエディタが立ち上がります。初回はプロジェクト名の入力を求められることがありますが、空欄のままでも問題ありません(後から「無題のプロジェクト」の部分をクリックして変更できます)。
2. コードの貼り付け方
エディタの中央に function myFunction() {} のような雛形が入っています。これを全選択(Ctrl+A / Cmd+A)して削除し、このコンテンツの各スニペットのコードブロックをまるごと貼り付けます。1つのスクリプトファイルに複数の関数を貼り付けても問題ありません(GASは1ファイルに複数の関数を書くのが普通の使い方です)。貼り付けたら、左上の保存アイコン(フロッピーディスクのマーク)または Ctrl+S / Cmd+S で保存します。
3. 実行と初回承認の流れ
エディタ上部の「実行」ボタン(▷アイコン)を押すと、関数が複数ある場合はどれを実行するか選ぶプルダウンが出ます。実行したい関数名を選んで再度「実行」を押してください。
初回実行時には必ず「承認が必要です」という画面が出ます。これは仕様であり、エラーではありません。「権限を確認」→ Googleアカウントを選択 →「このアプリは Google で確認されていません」という警告画面が出た場合は「詳細」を開き、「(プロジェクト名)に移動」を選びます。最後に、このスクリプトが要求する権限の一覧(例:「スプレッドシートのデータの表示、編集、作成、削除」「Gmail を使用したメールの送信」など)が表示されるので、内容を確認して「許可」をクリックします。
この確認画面が出る理由は、GASがあなたのGoogleアカウントの権限を借りて動く仕組みだからです。スプレッドシートの読み書き、メール送信、Driveへのファイル保存など、スクリプトが実際に何をしようとしているかを、実行前に必ずあなた自身の目で確認できるようにするための仕組みです。「メール送信」の権限を求めるスクリプトなのに心当たりがない場合は、その場で承認せず、コードの中身を見直してください。
一度承認すると、同じスクリプトプロジェクト内であれば以降は確認なしで実行できます(権限の内容が変わった場合は再度確認が出ます)。
実行結果はエディタ下部の「実行ログ」(表示 → 実行数、または画面下のログ欄)で確認できます。Logger.log() で出力した内容もここに表示されます。
────────────────────
▼ 01. シートの全データを取得する
何をするか: アクティブなスプレッドシート内の指定シートから、データが入っているすべての行・列を二次元配列として一括取得します。以降のあらゆる自動化処理の出発点になる、最も基本の処理です。
使う場面: 週次の棚卸作業で、在庫シートの全行を一度に読み込んで、別の集計処理へ渡したいとき。
function getAllSheetData() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('在庫');
var data = sheet.getDataRange().getValues();
var header = data[0];
var rows = data.slice(1);
Logger.log('見出し行: ' + header.join(', '));
Logger.log('データ件数: ' + rows.length + '件');
return rows;
}
書き換える場所
- 2行目の '在庫' を対象のシート名に変更してください。
つまずきやすい点
- getDataRange() は「値または書式が入っている最終行・最終列」までを対象にするため、過去に使っていた列を削除して空にした場合でも、書式が残っていると想定より広い範囲を拾ってしまうことがあります。範囲がおかしいと感じたら、対象シートの余分な書式をクリアしてみてください。
- シートが空(見出し行すらない)状態で実行すると、data[0] が undefined になりエラーになることが多いです。実行前に最低1行はデータが入っているか確認してください。
────────────────────
◆ そのまま貼って使える GASスニペット集(業務自動化20本)
■ 使い方
このコンテンツは、Google スプレッドシートの業務自動化でよく出てくる「あと一歩」の処理を、コピペしてすぐ動く形にまとめたものです。プログラミング未経験でも、以下の手順どおりに進めれば動作を確認できます。
1. Apps Script エディタを開く
対象のスプレッドシートを開いた状態で、メニューの「拡張機能」→「Apps Script」をクリックします。新しいタブでスクリプトエディタが立ち上がります。初回はプロジェクト名の入力を求められることがありますが、空欄のままでも問題ありません(後から「無題のプロジェクト」の部分をクリックして変更できます)。
2. コードの貼り付け方
エディタの中央に function myFunction() {} のような雛形が入っています。これを全選択(Ctrl+A / Cmd+A)して削除し、このコンテンツの各スニペットのコードブロックをまるごと貼り付けます。1つのスクリプトファイルに複数の関数を貼り付けても問題ありません(GASは1ファイルに複数の関数を書くのが普通の使い方です)。貼り付けたら、左上の保存アイコン(フロッピーディスクのマーク)または Ctrl+S / Cmd+S で保存します。
3. 実行と初回承認の流れ
エディタ上部の「実行」ボタン(▷アイコン)を押すと、関数が複数ある場合はどれを実行するか選ぶプルダウンが出ます。実行したい関数名を選んで再度「実行」を押してください。
初回実行時には必ず「承認が必要です」という画面が出ます。これは仕様であり、エラーではありません。「権限を確認」→ Googleアカウントを選択 →「このアプリは Google で確認されていません」という警告画面が出た場合は「詳細」を開き、「(プロジェクト名)に移動」を選びます。最後に、このスクリプトが要求する権限の一覧(例:「スプレッドシートのデータの表示、編集、作成、削除」「Gmail を使用したメールの送信」など)が表示されるので、内容を確認して「許可」をクリックします。
この確認画面が出る理由は、GASがあなたのGoogleアカウントの権限を借りて動く仕組みだからです。スプレッドシートの読み書き、メール送信、Driveへのファイル保存など、スクリプトが実際に何をしようとしているかを、実行前に必ずあなた自身の目で確認できるようにするための仕組みです。「メール送信」の権限を求めるスクリプトなのに心当たりがない場合は、その場で承認せず、コードの中身を見直してください。
一度承認すると、同じスクリプトプロジェクト内であれば以降は確認なしで実行できます(権限の内容が変わった場合は再度確認が出ます)。
実行結果はエディタ下部の「実行ログ」(表示 → 実行数、または画面下のログ欄)で確認できます。Logger.log() で出力した内容もここに表示されます。
────────────────────
▼ 01. シートの全データを取得する
何をするか: アクティブなスプレッドシート内の指定シートから、データが入っているすべての行・列を二次元配列として一括取得します。以降のあらゆる自動化処理の出発点になる、最も基本の処理です。
使う場面: 週次の棚卸作業で、在庫シートの全行を一度に読み込んで、別の集計処理へ渡したいとき。
function getAllSheetData() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('在庫');
var data = sheet.getDataRange().getValues();
var header = data[0];
var rows = data.slice(1);
Logger.log('見出し行: ' + header.join(', '));
Logger.log('データ件数: ' + rows.length + '件');
return rows;
}
書き換える場所
- 2行目の '在庫' を対象のシート名に変更してください。
つまずきやすい点
- getDataRange() は「値または書式が入っている最終行・最終列」までを対象にするため、過去に使っていた列を削除して空にした場合でも、書式が残っていると想定より広い範囲を拾ってしまうことがあります。範囲がおかしいと感じたら、対象シートの余分な書式をクリアしてみてください。
- シートが空(見出し行すらない)状態で実行すると、data[0] が undefined になりエラーになることが多いです。実行前に最低1行はデータが入っているか確認してください。
────────────────────