スプレッドシートのマクロでできること15選 記録の手順とExcelとの違い・制限を解説
2026年9月14日
著者:NEXT SCALE編集部
監修者:石丸真平

「毎朝同じ手順でデータを並べ替えて、書式を整えて、集計表を作り直している」。スプレッドシートを日常的に使っていると、こうした繰り返し作業に時間を取られます。
スプレッドシートのマクロは、一連の操作を記録しておき、後から何度でも自動実行できる機能です。プログラミングの知識がなくても、操作を記録するだけで使い始められます。
そして重要なのは、記録されたマクロの実体がGoogle Apps Scriptというプログラムだという点です。そのため、記録だけでは実現できない処理も、コードを少し編集すれば実現できるという広がりがあります。
この記事では、マクロでできることを15の具体例で示したうえで、記録と実行の手順、Excelのマクロとの違い、そして知っておくべき制限までを順に整理します。
| 確認したいポイント | 結論 | 詳細 |
|---|---|---|
| マクロで何ができる? | 操作の再実行から外部連携まで | 書式設定や集計の自動化に加え、GmailやカレンダーなどGoogleサービスとの連携も可能です。 |
| プログラミングは必要? | 記録機能を使うだけなら不要 | 操作を記録すればコードが自動生成されます。応用にはGoogle Apps Scriptの知識が必要です。 |
| Excelのマクロとの違いは? | 言語が異なるため互換性はない | VBAで書かれたExcelのマクロはそのままでは動きません。書き換えが必要になります。 |
| 制限はある? | 1回の実行は6分までという上限 | 大量データの処理は途中で止まることがあります。1日あたりの実行時間にも上限があります。 |
この記事でわかること
- データ整理、集計、書類作成、Google連携など15項目の具体的なできること
- 操作を記録してマクロを作成し、実行・編集するまでの一連の手順
- 絶対参照と相対参照の違いと、業務に応じた使い分けの判断基準
- ExcelのマクロやVBAとの違い、そして移行を検討するときの注意点
- 実行時間や1日あたりの割り当てなど、事前に知っておくべき制限
| 業務自動化の進め方をまとめた資料を無料で配布しています どの業務から自動化に着手すべきかの見極め方、社内に定着させる手順、費用の目安を1冊にまとめました。検討段階の情報収集にご活用いただけます。 ▶ 資料請求はこちら ※オンライン完結/しつこい営業は一切いたしません |
スプレッドシートのマクロとは
マクロは、スプレッドシート上で行った一連の操作を記録し、後から何度でも同じ処理を再現できる機能です。並べ替え、不要な列の削除、条件付き書式の適用、グラフの作成といった手順をまとめて記録できます。
一度記録してしまえば、次回からはメニューを選ぶかショートカットキーを押すだけで、すべての操作が自動で実行されます。手作業の時間が減るだけでなく、誰が実行しても同じ結果になるという利点もあります。
操作を記録して再実行する仕組み
使い方は単純です。記録を開始し、普段どおりに操作し、記録を終了して名前を付けて保存する。この3ステップだけで、最初のマクロが完成します。
Excelのマクロ記録を使ったことがある方であれば、感覚はほぼ同じです。プログラミングの知識は一切必要ありません。
記録したマクロは、拡張機能のメニューから呼び出して実行します。あわせてショートカットキーも設定でき、キー操作だけで起動できるようになります。
実体はGoogle Apps Script
ここが最も重要な点です。Googleの公式ヘルプGoogle スプレッドシートでタスクを自動化するにも記載があるとおり、マクロを作成するとGoogle Apps Scriptが作成されます。
つまり、記録したマクロの中身はJavaScriptをベースにしたプログラムです。スクリプトエディタを開けば、そのコードを直接見て編集できます。
この構造があるため、記録では作れない処理でも、コードを書き足せば実現できます。条件による処理の分岐、繰り返し、メールの送信といった機能は、この方法で追加します。マクロは、自動化への入り口という位置づけになります。
ExcelのVBAとの違い
同じ「マクロ」という名前ですが、中身は別物です。ExcelのマクロはVBAという言語、スプレッドシートのマクロはGoogle Apps Scriptで書かれています。
そのため、VBAで書かれたマクロをスプレッドシートにコピーしても動きません。ExcelファイルをGoogleドライブにアップロードしてスプレッドシート形式に変換した場合も、マクロ部分は引き継がれません。
- 動作環境:VBAはインストールしたExcel上、Apps Scriptはクラウド上で動く
- 共同編集:スプレッドシートは複数人が同時に開いた状態でも実行できる
- 外部連携:Gmail、カレンダー、ドライブなどGoogleサービスと標準で連携できる
- 定期実行:時間主導のトリガーを設定でき、パソコンを開いていなくても動く
最後の点は実務での差が大きい部分です。Excelのマクロはファイルを開かないと動きませんが、スプレッドシートのマクロはクラウド上で決まった時刻に自動実行されます。
できること|データの整理と加工
ここからは具体的にできることを見ていきます。まずはマクロの記録だけで実現できる、最も基本的な領域です。
1. 並べ替えと絞り込みを一括で適用する
毎回同じ条件で並べ替えている作業を、そのまま記録できます。売上高の降順に並べ替え、特定の部署だけを表示するフィルタをかけるといった手順を1つにまとめられます。
複数の条件を組み合わせた並べ替えほど効果が出ます。第1キーで支店、第2キーで日付、第3キーで金額といった設定は、手作業では毎回の指定が煩雑です。
データが更新されるたびに同じ整形が必要な一覧表であれば、これだけでも十分な時短になります。
2. 書式を一括で整える
見出し行の背景色、金額列の桁区切り、日付の表示形式、罫線、列幅。報告用の資料を作るたびに繰り返している書式設定は、マクロ化の定番です。
条件付き書式の適用も記録できます。目標未達のセルを赤字にする、上位10件に色を付けるといった設定を、ボタン1つで再現できます。
社内で共通のフォーマットが決まっている場合は、そのフォーマットを適用するマクロを1本作って共有すると、資料の見た目が揃います。
3. 重複行の削除とデータのクレンジング
外部から取り込んだデータには、重複、余分な空白、全角と半角の混在といった問題がつきものです。これらの整形手順もマクロにまとめられます。
重複の削除、空白行の削除、文字種の統一といった処理を1つのマクロにしておけば、毎回の下準備が数秒で終わります。
この工程は、後の集計や分析の精度を左右します。手作業だと抜けが起きやすい部分なので、自動化の価値が高い領域です。
4. 複数シートのデータを1枚にまとめる
支店ごと、月ごとにシートが分かれているデータを1枚に集約する作業です。記録だけでは難しいため、コードを少し編集する必要があります。
function mergeSheets() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const target = ss.getSheetByName(‘集約’);
ss.getSheets().forEach(function(sheet) {
if (sheet.getName() === ‘集約’) return;
const values = sheet.getDataRange().getValues();
// 取得した値を集約シートへ追記する処理を書く
});
}
シートが増減しても対応できるため、毎月シートが追加されていく形式の管理表と相性が良い処理です。
できること|集計と書類作成
定期的に作り直している資料は、マクロ化の効果が最も分かりやすく出る領域です。
5. 月次の集計表を自動で作り直す
明細データから、部署別や商品別の集計表を作る処理です。集計範囲の指定、関数の設定、並べ替え、書式の適用までを一連で記録できます。
月が変わるたびに同じ作業を繰り返しているのであれば、まずここから着手します。データを貼り替えてマクロを実行するだけ、という状態にできます。
集計軸が固定されている場合は記録だけで足りますが、対象期間を切り替えたい場合はコードの編集が必要になります。
6. グラフを自動で生成する
集計結果からグラフを作る操作も記録できます。グラフの種類、対象範囲、タイトル、軸の設定までがそのまま再現されます。
報告資料に毎回同じ形式のグラフを載せているなら、集計とグラフ作成をまとめて1本のマクロにしておくと、作業が一気に片付きます。
既存のグラフを削除してから作り直す処理を先頭に入れておくと、実行するたびにグラフが増えていく事態を防げます。
7. 請求書や見積書を一括で作成する
一覧表のデータをもとに、取引先ごとの書類を作る処理です。顧客管理表の行数分だけ、テンプレートを複製して値を差し込むという流れになります。
記録だけでは実現できないため、コードの編集が必要です。ただし、いったん作ってしまえば毎月の請求業務が大幅に短縮されます。
テンプレートはスプレッドシートでもGoogleドキュメントでも構いません。送付先ごとに内容が変わる定型書類が対象になります。
8. PDFとして出力して保存する
作成した書類をPDFに変換し、Googleドライブの指定フォルダに保存する処理です。ファイル名に日付や取引先名を含める形にできます。
書類作成からPDF化、保存までを1本につなげると、人が触るのは元データの入力だけになります。
保存先のフォルダを年月ごとに自動作成する処理を加えると、ファイル管理の手間もあわせて解消できます。
| どの業務を自動化すべきかからご相談いただけます できることは分かっても、自社のどの作業に適用すれば効果が出るかは別の問題です。業務の棚卸しから一緒に整理する30分の無料相談をご用意しています。 ▶ 相談予約はこちら ※オンライン完結/秘密厳守/助成金活用のご相談も歓迎 |
できること|他のGoogleサービスとの連携
Excelのマクロにはない、スプレッドシート特有の強みがこの領域です。同じGoogleアカウントで使っているサービスを、追加設定なしで操作できます。
9. Gmailでメールを自動送信する
シートに記載された宛先リストをもとに、1件ずつ内容を差し替えたメールを送る処理です。案内メール、リマインド、請求書の送付などに使われます。
function sendMail() {
GmailApp.sendEmail(
‘sample@example.com’,
‘本日の集計結果’,
‘集計が完了しました。シートをご確認ください。’
);
}
送信件数には上限があります。一般のGoogleアカウントは1日100件、Google Workspaceアカウントは1日1,500件が目安です。大量配信の用途には向きません。
テストの際は必ず自分のアドレスを宛先にします。繰り返し処理を検証せずに動かすと、誤送信が大量に発生します。
10. Googleカレンダーに予定を登録する
シートで管理している予定表から、カレンダーへ一括で登録する処理です。研修日程、訪問予定、締め切りといった情報を、個々の担当者のカレンダーに反映できます。
逆方向も可能です。カレンダーの予定を読み取ってシートに一覧化すれば、月次の稼働報告や工数集計の元データになります。
予定の作成には1日あたりの上限が設定されているため、大量登録を行う場合は件数を確認しておきます。
11. Googleフォームの回答を処理する
フォームの回答はスプレッドシートに蓄積されます。回答が送信されたタイミングで処理を走らせることができ、受付から後続処理までを自動化できます。
申込を受け付けたら自動返信メールを送る、内容に応じて担当者へ通知する、承認が必要なものだけ別シートに振り分けるといった構成が組めます。
社内申請や問い合わせの受付窓口としてフォームを使う場合、入り口はフォーム、蓄積はシート、処理はマクロという役割分担が定番になります。
12. Googleドライブのファイルを操作する
指定フォルダ内のファイル一覧をシートに書き出す、命名規則に沿ってファイル名を一括変更する、古いファイルを別フォルダへ移動するといった整理作業です。
ファイル数が多い環境ほど効果が出ます。手作業では現実的でない件数でも、数十秒で処理が終わります。
ドキュメントやスライドをテンプレートから複製し、シートの内容を差し込んで作成する処理も、この延長線上にあります。
できること|実行のしかたを広げる
作った処理をいつ、どうやって動かすかも、マクロでできることの一部です。ここまで設計して初めて自動化が完成します。
13. 決まった時刻に自動実行する
時間主導型のトリガーを設定すると、パソコンを開いていなくても決まった時刻に処理が動きます。毎朝8時に集計してメールで送る、毎月1日にレポートを作るといった運用ができます。
設定はスクリプトエディタの左メニューから行います。指定できるのは時間帯までで、分単位での固定はできないため、実行時刻には多少のずれが生じます。
この機能があるかどうかが、Excelのマクロとの決定的な違いです。人が起動しなくても回り続ける状態をつくれます。
14. ボタンやメニューから実行する
マクロを使う人がスクリプトの存在を意識しなくて済むように、シート上にボタンを配置できます。図形を描画し、右クリックからスクリプトを割り当てるだけです。
スプレッドシートを開いたときに独自のメニューを追加する方法もあります。「業務メニュー」のような項目を上部に表示し、そこから各処理を呼び出せます。
function onOpen() {
SpreadsheetApp.getUi()
.createMenu(‘業務メニュー’)
.addItem(‘月次集計を実行’, ‘monthlySummary’)
.addToUi();
}
複数人が使うシートでは、ボタン方式が最も直感的です。使う側に手順を覚えてもらう必要がなくなります。
15. 外部のサービスと連携する
Google以外のサービスとも、公開されているAPIを通じてやり取りできます。チャットツールへの通知、外部システムからのデータ取得といった処理が可能です。
この領域は記録では作れず、コードを書く必要があります。ただし、Googleサービス内で完結しない業務にも自動化を広げられるという意味で、知っておく価値があります。
他の自動化手段との比較はAIツール比較|法人利用で見るべき7つの軸と主要ツールの違い、料金の目安で整理しています。目的に対して道具が合っているかを先に確認すると、遠回りを避けられます。
マクロの記録と実行の手順
実際に作ってみる手順です。5分あれば1本目が完成します。
記録する
上部メニューの「拡張機能」から「マクロ」を選び、「マクロを記録」をクリックします。画面下部に記録中のバーが表示されたら、記録が始まっています。
ここで絶対参照と相対参照のどちらを使うかを選びます。公式ヘルプの説明では、絶対参照は記録時に使用したセルで実行するマクロ、相対参照は選択したセルとその周辺で実行するマクロが作成されるとされています。
セルA1を太字にする操作を絶対参照で記録すると、実行時にどのセルを選んでいてもA1が太字になります。相対参照で記録した場合は、選択中のセルを起点に同じ操作が行われます。
固定の範囲を処理するなら絶対参照、選んだ場所に対して処理するなら相対参照という使い分けです。迷ったら両方作って比べると理解が早まります。
保存して実行する
記録したい操作が終わったら「保存」をクリックし、マクロに名前を付けます。このとき、カスタムショートカットを設定できます。
ショートカットはCtrl、Alt、Shiftの3キーに続けて0から9の数字を割り当てる形式です。そのため、登録できるのは10個までという制限があります。
実行するときは「拡張機能」から「マクロ」を選び、作成したマクロ名をクリックします。初回の実行時には承認画面が表示されるので、内容を確認して許可します。
編集して機能を足す
「拡張機能」から「マクロ」、「マクロを管理」と進むと、登録済みのマクロが一覧表示されます。ここから「スクリプトを編集」を選ぶと、生成されたコードが開きます。
記録された内容を読むことが、そのまま学習になります。どの操作がどのコードに対応しているかが分かるため、書き方を覚える近道になります。
コードを書き換える際は、自動生成された関数名を変更しないように注意します。名前を変えると、スプレッドシートのメニューから呼び出せなくなります。
管理と削除
不要になったマクロは「マクロを管理」の画面から削除できます。ショートカットの変更もここで行います。
使っていないマクロを放置しないことが、後の混乱を防ぎます。特に複数人で使うシートでは、名前だけでは何をするマクロか分からなくなりがちです。
マクロ名には「月次集計_実行」のように、目的が分かる名前を付けます。Macro1のままにしておくと、半年後には誰も触れなくなります。
できないことと知っておくべき制限
制限を知らずに作ると、業務に載せてから止まります。以下の数値はGoogleの公式ドキュメントGoogle サービスの割り当てに記載されている内容です。
1回の実行は6分まで
最も重要な制限です。スクリプトの実行時間は1回あたり6分と定められており、これを超えると処理が途中で止まります。一般アカウントでもGoogle Workspaceアカウントでも同じです。
セルを1つずつ読み書きする書き方をしていると、数千行の処理でこの上限に達します。まとめて取得し、配列上で加工してから一括で書き戻す書き方に変えると、実行時間は大幅に短縮されます。
それでも収まらない場合は、処理を分割し、どこまで終わったかを記録しながら複数回に分けて実行する方法を取ります。
1日あたりの割り当てがある
日単位でも上限が設けられています。特に意識しておきたいのが、トリガー経由の合計実行時間が一般アカウントで1日90分、Google Workspaceアカウントで1日6時間という制限です。
1時間おきに動かすトリガーで1回5分かかる処理を組むと、1日120分となり上限を超えます。トリガーの間隔と1回の処理時間を掛け算して確認する習慣をつけます。
メールの送信先件数、カレンダーの予定作成数、ドキュメントの作成数などにも、それぞれ1日あたりの上限があります。
記録では作れない処理がある
マクロの記録で扱えるのは、スプレッドシート上での操作だけです。条件による分岐、繰り返し、メール送信、外部サービスとの連携は記録できません。
これらを実現するには、記録したコードを土台にして書き足すか、最初からスクリプトとして書くことになります。記録は入り口であり、そこで完結するものではないという理解が必要です。
また、記録された内容は操作をそのまま写し取ったものであるため、無駄な処理が含まれることがあります。記録後にコードを見直すと、実行速度が改善する場合があります。
Excelのマクロはそのまま動かない
前述のとおり、VBAで書かれたマクロは互換性がありません。ExcelファイルをGoogleドライブにアップロードしても、マクロ部分は引き継がれないという前提で計画します。
移行する場合は、処理内容を整理したうえでApps Scriptとして作り直すことになります。この作業量を見込まずに移行を決めると、想定外の工数が発生します。
逆に言えば、移行は既存のマクロを見直す機会でもあります。長年つぎはぎで拡張されたVBAをそのまま写すより、業務を整理してから作り直すほうが結果的に保守しやすくなります。
使いこなすための進め方
機能を知っただけでは業務は変わりません。どこから手をつけ、どう広げるかを整理します。
記録から始めてコードを覚える
最初に取り組むべきは、自分が毎日やっている操作を1つ記録してみることです。書式設定でも並べ替えでも構いません。動くものができる体験が、学習を続ける支えになります。
次の段階として、記録されたコードを開いて読んでみます。自分が行った操作と対応しているため、意味を推測しながら理解できます。教材を読むより理解が速い方法です。
そこから、繰り返しや条件分岐を1つずつ足していきます。教材の課題ではなく実務を題材にすることで、必要な知識が自然に絞られます。
最初に取り組む業務の選び方
対象の選定で成否が決まります。手順が固まっていて、頻度が高く、失敗しても影響が小さい業務を選びます。
日次の集計、定例レポートの整形、データの下処理などが候補です。逆に、月次の締め処理のような一発勝負の業務を最初に選ぶのは避けます。
また、現在の手順をそのまま自動化しないという視点も重要です。人がやりやすいように組まれた手順には無駄が含まれています。まず業務そのものを見直します。
社内で共有するときの注意
個人の工夫として始めたマクロが、いつの間にか部門の業務に組み込まれているという状況はよく起こります。このとき問題になるのが作った人しか中身を知らない状態です。
対策は3つです。コードにコメントを残すこと、ファイルを個人のドライブではなく共有ドライブに置くこと、そして処理内容と実行タイミングを文書に残すことです。
自動化を社内へ広げていく進め方は業務効率化アイデア55選|部門別30+AI15+明日から3つで成果を出す方法で、外部の支援を組み合わせる方法はAI業務自動化・GAS開発で紹介しています。
まとめ
スプレッドシートのマクロでできることは、データの整理と加工、集計と書類作成、Googleサービスとの連携、実行方法の拡張という4つの領域に整理できます。
記録機能だけでも、並べ替え、書式設定、集計表の作成といった定型作業は自動化できます。プログラミングの知識は不要で、5分あれば1本目が完成します。
そして、マクロの実体はGoogle Apps Scriptです。記録したコードに手を加えれば、メール送信や定期実行まで広げられます。ここがExcelのマクロとの大きな違いになります。
知っておくべき制限は、1回の実行が6分までという上限と、トリガー経由の1日あたりの実行時間です。大量データを扱う場合は、一括で読み書きする書き方を最初から身につけておきます。
まずは毎日繰り返している操作を1つ選び、記録してみてください。1本動けば、次に自動化すべき作業は自然と見えてきます。
AIコンサル・AX伴走支援サービスご紹介資料
この資料でこんなことがわかります!
- 社外AI役員とは
- 支援内容
- 導入の進め方
- 導入実績・効果
\3ステップで簡単入力/
| 自動化の設計から社内定着まで、無料で相談できます 作ったマクロを部門で使える形にしたい、担当者1人に依存している状態を解消したいといった段階のご相談も承っています。営業色は一切ありません。 ▶ 相談予約はこちら ※オンライン完結/秘密厳守/助成金活用のご相談も歓迎 |
この記事の監修者
株式会社ネクストスケール 代表取締役




