
この記事でわかること
- スプレッドシートの自動化に使える関数、GAS、AIの3つの方法と得意なこと
- 集計を自動にする関数と、元の表の作り方
- GASで時刻やメールが絡む作業を動かす手順とトリガーの上限
- AIに式やコードを書いてもらうときの確かめ方と注意
- つまずきやすい失敗と、自分で進める範囲と頼む目安
スプレッドシートの自動化は、まず関数で集計と転記を自動にし、それでも残る「毎朝のメール送信」「別のファイルへの書き出し」のような作業をGAS(Google Apps Script)で動かし、AIは式やコードを作る手伝いに使う、という順番で進めると無理がありません。いきなりプログラムを書く必要はなく、関数と標準の機能だけで手作業が減ることも多いです。この記事では、3つの方法の使い分けと手順、つまずきやすい失敗、自分で進める範囲と頼んだ方がよい目安を、仕組みを作る側の目線で説明します。
スプレッドシートの自動化でできることと3つの方法
スプレッドシートの自動化とは、人が毎回手でやっている入力、計算、転記、集計、連絡を、仕組みに任せることです。小さな事業者でよくあるのは、売上や予約の一覧を見ながら電卓で合計する、別のシートに同じ内容を書き写す、締めの日に担当者へメールで知らせる、といった作業です。

やり方は大きく3つに分かれます。関数、GAS、AIです。それぞれ得意なことが違うので、先に全体を見ておきます。
| 方法 | できること | 始めやすさ |
|---|---|---|
| 関数 | 合計、条件ごとの集計、別の表からの参照、行の抜き出し | 今日から使える。プログラムは要らない |
| GAS(Google Apps Script) | 決まった時刻の実行、メールの送信、別ファイルへの書き出し、フォームやカレンダーとの連携 | 少しコードを書く。AIに下書きを手伝ってもらえる |
| AI | 式やコードの下書き、文章の分類や要約、表の作り方の相談 | 使い始めは簡単。結果を確かめる手間が要る |
どの作業から自動化するかの決め方
最初に、手作業を紙に書き出します。毎日か毎週くり返していて、手順が毎回同じで、間違えると困る作業が自動化に向いています。反対に、月に1回しかなく毎回判断が変わる作業は、仕組みを作る手間の方が大きくなりがちです。
自動化に向いている作業の見分け方
- 週に1回以上くり返している
- 手順を人に説明できるほど決まっている
- コピーや書き写しで間違いが起きたことがある
- 入力する人と集計する人が別になっている
- 締めの日や朝など、決まった時刻にやっている
スプレッドシートに限らず、どの仕事から手を付けるかの全体の考え方は、中小企業のAI業務効率化の始め方でまとめています。
関数でスプレッドシートの集計を自動化する
スプレッドシートの集計の自動化は、関数から始めるのが近道です。元の一覧に1行足すだけで、合計や月ごとの集計が自動で変わるようにしておけば、締めのたびに電卓をたたく作業がなくなります。
集計の自動化でよく使う関数
| 関数 | できること | 使う場面の例 |
|---|---|---|
| SUMIFS | 条件に合う行だけを合計する | 担当者別、月別の売上 |
| COUNTIFS | 条件に合う行の数を数える | 予約の件数、未対応の件数 |
| XLOOKUP、VLOOKUP | 別の表から合う値を探して持ってくる | 商品コードから単価を出す |
| FILTER、UNIQUE | 条件に合う行を抜き出す、重複を除く | 未入金の一覧、取引先の名前の一覧 |
| QUERY | 表を条件で絞り、並べ替えや集計をまとめて行う | 月別、商品別の集計表 |
| IMPORTRANGE | 別のスプレッドシートの範囲を読み込む | 店舗ごとのファイルを1つにまとめる |
QUERY関数は、表に対して「この条件の行を、この列でまとめて」という問い合わせを書く関数です(出典: Google ドキュメント エディタ ヘルプ「QUERY 関数」)。書き方が少し独特ですが、月別や商品別の集計表を1つの式で作れます。別のファイルから読み込むIMPORTRANGEは、最初に読み込みを許可する操作が要ります(出典: Google ドキュメント エディタ ヘルプ「IMPORTRANGE 関数」)。
式を書かずに集計するならピボットテーブル
式を書くのが苦手なら、ピボットテーブルから試すのも手です。メニューの「挿入」から作れ、行に担当者、列に月、値に売上の合計、のように選ぶだけで集計表ができます(出典: Google ドキュメント エディタ ヘルプ「ピボット テーブルを作成、使用する」)。元の一覧の範囲を列ごと指定しておけば、行を足したあとも集計に入ります。
集計を自動にするための元の表の作り方
- 1行に1件(1件の売上、1件の予約)だけを書く
- 1つの列には1種類の情報だけを入れる(日付の列に「未定」などの文字を混ぜない)
- セルの結合を使わない
- 見出しは1行目の1行だけにする
- 合計や小計の行を、元の一覧の途中に入れない
関数がうまく動かない原因の多くは、関数ではなく元の表の形にあります。見た目を整えた表と、集計のための一覧は分けて作ると、あとの自動化が楽になります。
Googleスプレッドシートの自動化に使える標準の機能
Googleスプレッドシートには、関数のほかにも、プログラムを書かずに手作業を減らせる機能があります。GASに進む前に、ここで足りないかを確かめておくと、作るものが少なくて済みます。
- Googleフォームの回答を、シートに自動でためる
- データの入力規則とプルダウンで、入力の表記をそろえる
- マクロの記録で、くり返しの操作を覚えさせる
- 通知の設定で、シートが変更されたときにメールで知らせる
Googleフォームの回答をシートに集める
問い合わせや申し込み、日報などをGoogleフォームで受けると、回答をスプレッドシートにためられます。紙やメールの内容を手で書き写す作業がなくなり、入力の形もそろいます。
データの入力規則とプルダウンで表記をそろえる
担当者名や商品名をプルダウンから選ぶ形にすると、「山田」「山田さん」のような表記ゆれが起きにくくなります。集計の関数は1文字違うだけで別のものとして数えるので、入力の段階でそろえておくことが、集計の自動化の土台になります。
マクロの記録でくり返しの操作を覚えさせる
毎回同じ書式を整える、決まった列で並べ替える、といった操作は、マクロの記録で覚えさせられます。「拡張機能」の「マクロ」から記録を始め、操作を終えて保存すると、次からはメニューやショートカットで同じ操作をくり返せます。記録したマクロはApps Scriptのコードとして保存され、あとから書き換えることもできます(出典: Google ドキュメント エディタ ヘルプ「マクロで Google スプレッドシートのタスクを自動化する」)。
Excelを使っている場合
Excelでは、マクロ(VBA)やOfficeスクリプト、Power Automateなどが同じ役割を持ちます。元の表を整える、関数で集計する、くり返しの操作だけを仕組みにする、という考え方は同じです。使える機能は契約しているプランによって違うので、Microsoftの公式サイトで確かめてください。
GASでスプレッドシートの自動化を進める手順
GAS(Google Apps Script)は、Googleが用意しているプログラムの仕組みで、スプレッドシートやGmail、カレンダー、ドライブなどを操作できます(出典: Google for Developers「Apps Script の概要」)。関数ではできない「決まった時刻に動かす」「メールを送る」「別のファイルに書き出す」といった作業を任せられます。
- 1作業を書き出す今やっている手順を、文章で順番に書く
- 2小さく作る1つの作業だけをコードにする
- 3手で動かして確かめるテスト用のシートで実行し、結果を手の計算と比べる
- 4トリガーを付ける時刻、編集、フォームの送信などで動くようにする
- 5止まったときに気づくエラーの通知の宛先と、説明のメモを残す
いきなり全部を作らず、1つの作業だけを小さく作って確かめてから、トリガーで自動にします。止まったときに気づける形まで作って完成です。
GASで任せやすい作業の例
- 毎朝、前日の売上を集計して担当者にメールで送る
- フォームの回答が届いたら、内容をまとめて通知する
- 月末に、店舗ごとのシートを1つの集計シートにまとめる
- 一覧の内容からカレンダーに予定を入れる
- シートの内容をもとに、決まった形のドキュメントやPDFを作る
スプレッドシートからGASを開いて動かすまで
- スプレッドシートの「拡張機能」から「Apps Script」を開く
- 関数(処理のまとまり)を書いて保存する
- 実行ボタンを押し、初回はアクセスの許可を求める画面で中身を確かめて許可する
- 結果をテスト用のシートで確かめる
- 左のメニューの「トリガー」から、動かす時刻やきっかけを設定する
GASのトリガーの種類と実行時間の上限
GASを自動で動かすきっかけをトリガーと呼びます。シートを開いたときや編集したときに動く「シンプルトリガー」と、決まった時刻やフォームの送信でも動かせる「インストール可能なトリガー」があります。シンプルトリガーには、許可が必要な処理(メールの送信など)ができない、30秒を超えて動けない、といった制限があります(出典: Google for Developers「シンプルなトリガー」)。
また、1回の実行時間や1日に送れるメールの数などには上限があり、1回の実行は6分までとされています(出典: Google for Developers「Google サービスの割り当て」)。上限はアカウントの種類によって違い、変わることもあるので、作る前に公式ページで確認してください。GASで扱える作業の全体は、Google Apps Scriptでできることでまとめて紹介しています。
スプレッドシートの自動化にAIを使うときの使い方と注意
スプレッドシートの自動化にAIを使う場面は、大きく2つあります。1つは、式やGASのコードを書く手伝いです。もう1つは、問い合わせの文章の分類や要約のように、関数では扱いにくい作業です。

式やGASのコードをAIに書いてもらう
AIのチャットに「A列が日付、B列が担当者、C列が売上の表で、担当者ごとの今月の合計を出す式」のように、表の形とほしい結果を具体的に伝えると、式やコードの下書きを出してくれます。列の名前と、実際に入っている値の例を添えると、外れにくくなります。
出てきた式やコードは、そのまま本番の表に入れず、コピーしたテスト用のシートで動かして、手で計算した結果と合っているかを確かめます。GASの場合は、何をするコードなのかをAIに説明させ、メールの宛先やシートの名前が自分の環境と合っているかを見てから動かしてください。
スプレッドシートの中でAIを使う
Google Workspaceの一部のプランでは、スプレッドシートの中でGemini(GoogleのAI)を使い、表の作成や式の提案、データのまとめを頼めます。使える機能とプランは変わることがあるので、Google Workspaceの公式サイトで確認してください。AIのチャットを仕事でどう使うかは、ChatGPTの業務での活用でまとめています。
集計の数字はAIではなく関数で出す
AIは、同じ質問にも毎回少し違う答えを返すことがあります。売上の合計や請求の金額のように、1円でも違うと困る数字は関数やGASで計算し、AIは式を作る手伝いや、文章の分類、要約に使うと分けておくと安心です。また、お客様の名前や連絡先などをAIに入れる前に、そのサービスが入力した内容をどう扱うかを利用規約で確かめてください。
関数とGASとAIのどれを使うかの判断基準
迷ったときは、やりたいことを1文で書き、次の表に当てはめます。関数で済むなら関数、時刻やメールが絡むならGAS、文章を読んで判断する作業ならAI、という分け方が基本です。
| やりたいこと | 向いている方法 | 理由 |
|---|---|---|
| 月別、担当者別に合計したい | 関数(SUMIFS、QUERY)かピボットテーブル | 元の一覧が変われば集計も変わる |
| 入力の表記をそろえたい | データの入力規則とプルダウン | 入力の段階で間違いを防げる |
| 毎朝決まった時刻に集計して送りたい | GAS(時刻のトリガー) | 関数はメールを送れない |
| フォームの回答が来たら知らせたい | GAS(フォーム送信のトリガー) | 届いた時点で動かせる |
| 問い合わせの文章を種類ごとに分けたい | AI | 文章の中身を読む作業は関数では難しい |
| 式やコードの書き方が分からない | AIに下書きを頼む | 動かして確かめる前提で使う |
スプレッドシートでは足りなくなるサイン
スプレッドシートは便利ですが、向かない使い方もあります。1つのスプレッドシートに入るのは最大1,000万セルまでとされていて(出典: Google ドライブ ヘルプ「Google ドライブに保存できるファイル」)、行や列が増えるほど動きも重くなります。次のようなことが起きていたら、作り方を見直す時期です。
- 何人もが同時に書き込み、上書きの事故が起きる
- お客様にも入力や閲覧をしてもらいたい
- 見てよい範囲を人ごとに細かく分けたい
- 予約や在庫など、二重の登録を防ぐ必要がある
こうした場合は、スプレッドシートの代わりに業務アプリを作る方が合うこともあります。かかる費用の考え方はWebアプリの開発費用で、お客様の情報をシートで管理するときの作り方は顧客管理をスプレッドシートで行う方法で説明しています。
スプレッドシートの自動化でつまずきやすい失敗と防ぎ方
仕組みを作る側から見ると、つまずきやすいのは作るときより、作ったあとの使い続け方です。よくある失敗と防ぎ方を並べます。
- 列を勝手に動かさない決まり式やコードは列の位置を頼りにしていることが多い
- 説明のシートを用意する何が、いつ、どこへ動くかを書いておく
- トリガーの持ち主を確かめる設定した人のアカウントで動いている
- エラーの通知を受ける止まったことにすぐ気づける宛先にする
- 元のデータの控えを取る書き換えに失敗しても戻せるようにする
どれも作るときに少し手間をかけるだけで防げます。作り終えたら、この項目を順に確かめてください。
列を足したら集計がずれた
GASのコードが「3列目」のように列の位置で値を読んでいると、途中に列を足しただけで別の値を読みます。列を足すときは右端に足す、見出しの名前で列を探すコードにする、といった決まりを作っておきます。
作った人がいなくなると止まる
インストール可能なトリガーは、設定した人のアカウントで動きます(出典: Google for Developers「インストール可能なトリガー」)。作った人が辞めてアカウントが消えると、仕組みが止まることがあります。会社で使うアカウントで作る、説明のシートに作った人と設定の場所を書いておく、の2つで防げます。
止まっていたことに気づかない
トリガーで動くGASがエラーで止まると、設定に応じてGoogleから失敗を知らせるメールが届きます。このメールを受け取れる宛先にしておき、届いたら誰が見るかを決めておきます。月末の集計のように、たまにしか動かないものほど、止まったことに気づくのが遅れます。
共有の範囲が広すぎる
手軽さを優先して、リンクを知っている全員が編集できる設定にしてしまう例があります。お客様の情報が入ったシートは、共有を必要な人だけに絞り、編集できる人と見るだけの人を分けてください。
スプレッドシートの自動化を自分で進める範囲と頼む目安
関数と標準の機能、AIに下書きを手伝ってもらう小さなGASまでは、自分で進められることが多いです。まずは次の順に試してください。
- 手作業を書き出し、くり返しが多いものを1つ選ぶ
- 元の表を1行1件の一覧に整え、入力規則で表記をそろえる
- 関数かピボットテーブルで集計を自動にする
- 時刻やメールが絡む作業だけをGASにする(式やコードはAIに下書きを頼み、テスト用のシートで確かめる)
- 説明のシートを作り、誰が見ても分かるようにする

頼んだ方がよい条件
- 会計ソフトや予約システム、LINEなど、ほかのサービスとつなぎたい
- 止まると売上や請求に響くのに、すぐに直せる人が社内にいない
- 作った人が辞めても動き続けるように、説明と引き継ぎまで整えたい
- スプレッドシートでは足りなくなるサインが出ている
- 試してみたが、時間をかけても思いどおりに動かない
請求書づくりのように、スプレッドシートと別のサービスをつなぐ作業の進め方は請求書の自動化の方法で、ほかの会社がどんな作業からAIと自動化を取り入れているかはAI業務効率化の事例で紹介しています。
uparia では、手作業の書き出しから、関数とGASでの仕組みづくり、AIの組み込み、説明のシートの用意まで、小さな会社の自動化をお手伝いしています。どこから手を付けるかの整理だけのご相談でもかまいません。進め方は業務自動化とAI導入支援のページでご覧いただけます。
よくある質問
Googleスプレッドシートの自動化は無料でできますか?
関数、ピボットテーブル、マクロ、GASは、Googleアカウントがあれば追加の料金なしで使えます。ただしGASの実行時間やメールの送信数には上限があり、アカウントの種類によって違います。スプレッドシートの中でGeminiを使う機能は、対象のプランの契約が必要です。
プログラミングの経験がなくてもGASは使えますか?
マクロの記録で覚えさせた操作はApps Scriptのコードとして保存されるので、そこから中身を見て慣れていく方法があります。AIに表の形とやりたいことを伝えて下書きを作ってもらうこともできます。動かす前にテスト用のシートで確かめ、何をするコードかを理解してから使ってください。
パソコンを閉じていても、GASの自動化は動きますか?
時刻やフォームの送信をきっかけにしたトリガーは、Googleのサーバーで動くので、パソコンを閉じていても動きます。一方で、メニューに追加した独自のボタンなど、パソコンのブラウザ向けの操作は、スマホのアプリでは使えないことがあります。
ExcelとGoogleスプレッドシート、自動化するならどちらがよいですか?
すでに使っている方を続けるのが基本です。複数の人が同じ表をネット上で使い、Gmailやフォーム、カレンダーとつなぎたいならGoogleスプレッドシートが扱いやすく、社内のパソコンでExcelのファイルを中心に回しているなら、Excelのマクロや Power Automate の方がなじみます。
自動化した表の数字が合わないときは、何から確かめればよいですか?
まず元の一覧に、表記ゆれ、数字の欄に入った文字、結合されたセル、途中の小計の行がないかを見ます。次に、式の範囲が新しい行まで入っているかを確かめます。GASの場合は、列を足したり並べ替えたりして、読む列の位置がずれていないかを確認してください。






