「GASを勉強したいけど、何から始めればいいか分からない」
「スプレッドシートを自動化したいけど、コードの順番が分からない」
「コピペでは動いたけど、少し変えるとすぐエラーになる」
GAS初心者の方は、ここで止まりやすいです。
なべくんです。
結論から言うと、GASは「ログ確認 → シート読み書き → 配列処理 → トリガー → 外部API」の順番で学ぶのがおすすめです。
いきなりAPI連携や自動投稿から入ると、エラーの原因が「コード」「権限」「URL」「認証情報」「実行制限」のどこにあるのか分からなくなります。
まずはスプレッドシートの値を読み書きしながら、GASの動き方を手元で確認していきましょう。
この記事で分かること
- GAS初心者が学ぶべき順番
- スプレッドシート自動化までの最短ルート
- 最初に動かすコピペコードと、次に読むべき記事
先に結論:GAS学習は7ステップで進める
GASを実務で使えるようにするなら、次の7ステップで進めるのが分かりやすいです。

| ステップ | 学ぶこと | ゴール |
|---|---|---|
| 1 | Apps Scriptエディタ | 実行ボタンを押せる |
| 2 | Logger.log() |
ログで値を確認できる |
| 3 | セルの読み書き | シートの値を操作できる |
| 4 | 複数行の処理 | 表データをまとめて扱える |
| 5 | 関数分割 | コードを読みやすくできる |
| 6 | トリガー | 時間指定やフォーム送信で動かせる |
| 7 | 外部API連携 | WordPressや外部サービスとつなげる |
最初の目標は、スプレッドシートの値を読み取り、別のセルに結果を書き込むことです。
ここまでできると、メール送信、フォーム通知、API連携にも進みやすくなります。
GASでスプレッドシート自動化を目指す全体像
GAS学習で最初に目指すべき状態は、次のような流れです。

- スプレッドシートにデータを入れる
- GASでデータを読み取る
- 条件に合わせて処理する
- 結果をシートに書き戻す
- 必要ならメール通知やAPI連携をする
- トリガーで定期実行する
Google公式ドキュメントでも、Apps ScriptはGoogle Sheetsをプログラムから作成・読み取り・編集できるAPIを持つと説明されています。
つまり、GAS学習の中心はスプレッドシート操作です。
外部APIやWordPress投稿も便利ですが、まずは「シートの値を読む」「まとめて処理する」「結果を書く」を固めましょう。
ステップ1:Apps Scriptエディタを開く
最初に、GASを書く場所を確認します。
Googleスプレッドシートを開いて、次の順に進みます。
- スプレッドシートを開く
- 「拡張機能」をクリック
- 「Apps Script」をクリック
- Apps Scriptエディタが開く
コード.gsにコードを書く
このようにスプレッドシートから開くGASを、シートに紐づいたスクリプトとして使えます。
初心者の方は、まずこの形で始めるのがおすすめです。シートとスクリプトの関係が分かりやすく、実行結果も確認しやすいからです。
ステップ2:Logger.logでログを見る
GASで最初に覚えるべきなのは、Logger.log() です。
エラー対応でも、値の確認でも、まずログを見ます。
function step2_logTest() {
const name = 'なべくん';
const count = 3;
Logger.log(name);
Logger.log(count);
Logger.log(`${name}は${count}件のデータを処理しました`);
}
実行後に「実行ログ」を開くと、出力された値を確認できます。
ここで大事なのは、コードが思った通りの値を持っているかを確認する癖をつけることです。
GASで詰まったとき、いきなり検索するより、まず Logger.log() で中身を見たほうが早いことが多いです。
ステップ3:セルに値を書き込む
次に、スプレッドシートのセルへ値を書き込みます。
以下のコードを貼り付けて実行してください。
function step3_writeCell() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange('A1').setValue('GAS学習ロードマップ');
sheet.getRange('A2').setValue('セルに値を書き込みました');
sheet.getRange('A3').setValue(new Date());
Logger.log('A1からA3へ値を書き込みました');
}
実行後、スプレッドシートに戻ってA1からA3を確認します。
ここまでで、以下を体験できます。
- アクティブなスプレッドシートを取得する
- アクティブなシートを取得する
- セル範囲を指定する
- 値を書き込む
この4つは、GASのスプレッドシート自動化で何度も使います。
ステップ4:セルの値を読み取る
次は、セルの値を読み取ります。
function step4_readCell() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const title = sheet.getRange('A1').getValue();
const message = sheet.getRange('A2').getValue();
Logger.log(title);
Logger.log(message);
}
getValue() は、指定したセルの値を1つ取得します。
最初はこの形で十分です。
ただし、実務では1セルずつ読み書きすると遅くなりやすいです。複数行を扱う段階になったら、次の getValues() を使います。
ステップ5:複数行をまとめて読む
スプレッドシート自動化では、表データをまとめて扱う場面が多いです。
たとえば、A列に名前、B列にメールアドレスが入っているとします。
function step5_readRows() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const values = sheet.getRange('A2:B5').getValues();
values.forEach(row => {
const name = row[0];
const email = row[1];
Logger.log(`${name} / ${email}`);
});
}
getValues() は、範囲の値を二次元配列として取得します。
たとえば、A2:B5 を取得すると、次のようなイメージになります。
[
['山田', 'yamada@example.com'],
['佐藤', 'sato@example.com'],
['田中', 'tanaka@example.com'],
['鈴木', 'suzuki@example.com']
]
Google公式のSheets向けガイドでも、Apps Scriptはスプレッドシートのセル、行、列を表す二次元配列を操作すると説明されています。
GASでスプレッドシートを実務利用するなら、この「二次元配列」の感覚がとても大事です。
ステップ6:処理結果をまとめて書き込む
複数行を読んだら、次は結果をまとめて書き込みます。
以下は、A列とB列の値を使って、C列にメッセージを作るコードです。
function step6_writeRows() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const values = sheet.getRange('A2:B5').getValues();
const results = values.map(row => {
const name = row[0];
const email = row[1];
return [`${name}さんのメールアドレスは${email}です`];
});
sheet.getRange(2, 3, results.length, 1).setValues(results);
Logger.log(`${results.length}件の結果を書き込みました`);
}
ここで使っている setValues() は、複数セルへまとめて値を書き込む方法です。
1セルずつ setValue() を繰り返すより、まとめて処理したほうが安定しやすく、速度面でも有利です。
ステップ7:トリガーで自動実行する
ここまでできたら、次はトリガーです。
トリガーを使うと、手動で実行ボタンを押さなくても、条件に合わせて関数を実行できます。
代表的なトリガーは次の通りです。
| トリガー | 使いどころ |
|---|---|
| 時間主導型 | 毎朝9時に処理する、毎週月曜に集計する |
| フォーム送信時 | Googleフォーム回答時に通知する |
| 編集時 | シートが編集されたときに処理する |
| オープン時 | スプレッドシートを開いたときにメニューを追加する |
Google公式ドキュメントでは、時間主導型トリガーはUnixのcronジョブに似ていて、特定の時刻や繰り返し間隔で実行できると説明されています。
ただし、トリガーには注意点があります。
公式ドキュメントでは、インストール型トリガーは作成したユーザーのアカウントで実行されると説明されています。つまり、メール送信や外部連携をトリガー実行する場合、誰の権限で動くのかを確認する必要があります。
ステップ8:外部API連携に進む
スプレッドシート操作に慣れたら、外部API連携に進みます。
GASでは、UrlFetchApp を使って外部URLへリクエストできます。
たとえば、WordPress REST APIへリクエストを送り、記事の下書きを作ることもできます。
このサイトでは、すでにGASからWordPressに記事を投稿する手順を解説しています。
【Python不要】GASでWordPressに記事を投稿する方法|REST APIで安全に下書き作成
外部API連携に進む前に、以下の3つは押さえておきましょう。
- HTTPメソッド
- ヘッダー
- レスポンス本文
エラーが出た場合は、statusCode と responseBody をログに出すと原因を切り分けやすくなります。
ステップ9:APIキーやパスワードはPropertiesServiceで扱う
外部APIを使うと、APIキーやApplication Passwordを扱う場面が出てきます。
このとき、コード内に直接書くのはおすすめしません。
GASでは、PropertiesService を使ってキーと値を保存できます。
たとえば、以下のような情報はスクリプトプロパティに保存します。
| プロパティ | 用途 |
|---|---|
API_KEY |
外部APIキー |
WP_SITE_URL |
WordPressサイトURL |
WP_USERNAME |
WordPressユーザー名 |
WP_APP_PASSWORD |
WordPress Application Password |
認証情報をコードから分けると、共有や再利用の事故を減らせます。
GASプロジェクトを他の人と共有する場合は、誰がスクリプトを編集できるのか、誰がプロパティを見られるのかも確認しましょう。
GAS学習でやりがちな遠回り
GAS初心者が遠回りしやすいパターンを整理します。
| 遠回り | 何が起きるか | 先にやること |
|---|---|---|
| いきなり長いコードを貼る | どこで失敗したか分からない | 10行前後のコードから試す |
| API連携から始める | 認証・URL・JSONで詰まる | まずシート操作を覚える |
| エラー文を読まない | 同じ検索を繰り返す | ログとエラー行を見る |
| セルを1つずつ処理する | 遅い・止まる | getValues() / setValues() を使う |
| 認証情報を直書きする | 共有時に漏れる | PropertiesService を使う |
GASは手軽に始められる分、コピペだけでも動いてしまいます。
ただ、実務で使うなら「なぜ動いたか」「どこで止まったか」を見られる状態にしておくのが大事です。
実務で使う前のチェックリスト
GASを実務で使う前に、次の点を確認しましょう。

- 1件だけでテストしたか
- ログで処理件数を確認したか
- 誤送信しないように宛先をテスト用にしたか
- トリガーを二重に作っていないか
- APIキーやパスワードをコードに直書きしていないか
- 実行時間や回数制限に引っかからないか
Google Apps Scriptには、サービスごとの日次割り当てや制限があります。
公式ドキュメントでは、制限を超えると例外が発生し、スクリプトの実行が停止すると説明されています。
大量データを扱う場合や、トリガーで毎日動かす場合は、最初から小さくテストしましょう。
GASカテゴリで次に読む記事
GASの全体像を知りたい方は、先にこちらの記事を読むと流れをつかみやすいです。
【初心者向け】GASとは?できること・始め方・学習順を実務目線で解説
外部API連携やWordPress投稿まで試したい方は、こちらの記事も参考になります。
【Python不要】GASでWordPressに記事を投稿する方法|REST APIで安全に下書き作成
今後は、GAS(Google Apps Script)カテゴリ に、以下の記事を追加していく予定です。
- GASの始め方
- Logger.logの使い方
- スプレッドシートの値を取得・書き込みする方法
- UrlFetchAppの使い方
- PropertiesServiceでAPIキーを安全に扱う方法
- GASが動かないときの原因チェックリスト
参考リンク
この記事では、以下の公式ドキュメントを確認しています。
- Google Apps Script の概要
- Extending Google Sheets
- Installable Triggers
- Quotas for Google Services
- UrlFetchApp
- PropertiesService
まとめ
GAS学習は、順番を間違えなければかなり進めやすくなります。
ポイントは次の3つです。
- まずはログ確認とセルの読み書きから始める
- 複数行を扱う段階で
getValues()とsetValues()を覚える - トリガーや外部API連携は、シート操作に慣れてから進める
GASは、ブラウザだけでスプレッドシート自動化を始められる便利な道具です。
いきなり大きな自動化を作ろうとせず、まずは1セル、次に1行、最後に表全体という順番で広げていきましょう。
同じように「GASを学びたいけど順番が分からない」と感じている方の助けになれば幸いです。
