GoogleSpreadsheetとExcelのマクロの違いは?機能や使い方について

最終更新日:2026年8月5日

この記事を読んでいるということはGoogleSpreadSheetにはマクロ機能が備わっていることはご存知だと思いますが、Excelのマクロ機能とはなにが違うのか。そして使い方について調べていることかと思います。

Excelは企業や個人で当たり前のように使われてきましたが、近年、Googleの台頭とともにGoogleが提供する様々な機能を業務で使用する企業、個人が増えてきました。筆者もそのうちの1人で、業務ではもっぱらGoogle様様です。表計算ソフトのGoogleSpreadSheetはかなり重宝しています。

そこでこの記事ではGoogleSpreadSheetとExcelのマクロの違いや機能、使い方について紹介していきます。Excelの使い方についてはご存知の方も多いと思うのでGoogleSpreadSheetを重点的に解説します。

GoogleSpreadSheetとExcelのマクロの違いは?

まずはじめに断っておきますがExcelのほうが良い、いやいやGoogleSpreadSheetのほうが良い、といったことをこの記事では伝えたいわけではありません。企業や個人にあった使い方があるでしょうし、機能面では全く同じというわけではないので臨機応変に使用するのが望ましいと考えています。その点を踏まえてご覧いただけると幸いです。また、必要のない箇所は読み飛ばしてもらって構いません。ご自身が必要だと思う箇所をご覧ください。

Excelのマクロについて

そもそもExcelのマクロと聞いてVBAを思い浮かべる方は多いと思いますが、マクロとVBAは明確には異なります。マクロとは簡単に言うと、毎日行っている作業を自動化する機能です。自動化をするためにはマクロに記録させることが必要になってきますが、この記録は複雑なコードによって動くようになります。このコードの言語がVBAです。

VBAを極めれば条件分岐やループ処理ができたり、より複雑な処理が実行できるようになります。VBAについては別の記事にお任せしますが、VBAは覚えておくことをおすすめします。

ExcelのマクロではVBAのコードを書かなくても自動化が行えます。ボタンを押せば記録ができるので煩わしいコードを見る必要も一切ありません。マクロ記録中に表にフィルターをかけて抽出したり、ソートをかけたりするだけ。その操作をマクロが覚えてくれているので、あとはいつでも実行できるようにボタンを設置するだけです。

GoogleSpreadSheetのマクロについて

一方でGoogleSpreadSheetのマクロはというと、こちらはGoogle Apps Script(通称GAS)が言語となります。GASはJavaScriptをベースにしたプログラミング言語なのでJavaScript経験者なら労せずしてGASの習得が可能です。ただマクロに関して言うと、Excelと同様、言語は知らなくても機能は使えます。GoogleSpreadSheetのマクロ機能はこちらもExcel同様でほぼ同じ機能となっています。

Excelのマクロ・GoogleSpreadSheetのマクロ比較表

ここまでの内容を整理すると、両者の違いは以下のようにまとめられます。用途に合わせて選ぶ際の参考にしてください。

項目 Excelのマクロ GoogleSpreadSheetのマクロ
対応言語 VBA Google Apps Script(GAS/JavaScriptベース)
費用 Excel本体のライセンスが必要 無料(Googleアカウントがあれば利用可)
記録機能(コード不要で自動化) あり あり
実行環境 ローカルPC(インストールしたPC上) クラウド(ブラウザがあればどこでも実行可)
他サービスとの連携 主にOffice製品中心 Gmail・カレンダー・フォームなどGoogleサービス全般、外部APIとも連携しやすい
共同編集・自動送信などの自動化 制限あり リアルタイム共同編集や定期実行トリガーとの相性が良い
向いている用途 社内の閉じた環境での定型作業自動化 クラウド連携・自動送信・複数人での共同作業を伴う自動化

※機能・仕様はアップデートにより変更される場合があります。最新の挙動は各サービスの公式ヘルプもあわせてご確認ください。

GoogleSpreadSheetのマクロ以外の利便性

GoogleのSpreadSheetにマクロ機能が搭載されてからというもの、ビジネスマンの間ではSpreadSheetを使う人が増えていると筆者のまわりを見ていると感じます。無料で利用できるという点も導入のハードルの低さになっているのでしょう。

GoogleSpreadSheetは他のGoogleアプリと連携することが可能なので、機能を連携させたい方やGoogleを日頃使用している方にとっては利用しやすいようです。

最近ではフリマアプリが人気ですよね。このフリマアプリと上手く連携して購入情報をSpreadSheetに落とし込んだり、自動送信メールを送る仕組みを作ることもできます。

マクロだけでここまでのことはできませんが、マクロを実行するプログラミング言語であるGASを使えば、思い通りのことはできるのではないでしょうか。

GoogleSpreadSheetのマクロの使い方

ここではGoogleSpreadSheetのマクロの使い方について画像を用いて紹介していきます。まずはマクロの記録の方法についての解説です。

⚠️ UIの変更について:Googleスプレッドシートのメニュー構成は変更されており、以前は「ツール」メニューにあった「マクロ」および「スクリプトエディタ」は、現在はどちらも「拡張機能」メニュー配下(拡張機能>マクロ/拡張機能>Apps Script)に移動しています。以下の画像は変更前のUIですが、操作の流れ自体は変わりません。

マクロの記録方法

SpreadSheetを開きます。

Googleスプレッドシートを新規に開いた画面

今回はマクロが実際に動くかどうかテストするためにA列に適当に文字を入力しました。これをマクロで昇順で並び替えるようにします。「拡張機能」>「マクロ」>「マクロを記録」を押します。

拡張機能メニューからマクロを記録を選択する操作画面

すると画面下部に以下のウィンドウが表示されます。

マクロ記録中に表示される画面下部のウィンドウ

これが表示されている間に実行したい処理を行います。今回はA列の文字を昇順に並び替える処理を組みます。「データ」>「列Aを基準にA→Zにシートを並べ替え」で昇順にソートができます。処理が終わったら保存を押します。

列Aを基準に昇順で並び替えを行う操作画面

保存すると、また別のウィンドウが出てきます。名前の入力を求められるので任意の名前を入力します。今回は「マクロのテスト」とします。また、ショートカットキーの番号も入力しておくと便利です。入力が終われば保存を押します。

記録したマクロの名前とショートカットキーを設定する画面

これでマクロの記録ができました。簡単ですね。では実際にマクロが動くのかどうか見てみたいと思います。記録したマクロを実行してみましょう。

マクロの実行方法

マクロがきちんと記録できているのかを確認するために、さきほどマクロを記録したときに昇順に並び替えをしたA列に追加でランダムに文字を入力していきます。

A列にランダムな文字を追加入力した状態

入力が終わったら、「拡張機能」>「マクロ」>「マクロのテスト(任意で設定した名前)」を押します。このとき、ショートカットキーも使えるので覚えておくと便利です。

記録したマクロを拡張機能メニューから実行する操作画面

すると、以下のような画面が出てきます。これは初めてマクロを実行するときに出てきます。SpreadSheet単位で承認が必要なので、新たにSpreadSheetを作成してマクロを実行させようとすると承認を求められます。許可するため「続行」を押します。

マクロ実行時に表示される承認確認画面

「続行」を押すとアカウントを選択するよう求められるので、SpreadSheetを開いているアカウントを選択します。複数のアカウントにログインしている状態でも今開いているアカウントを選択します。

マクロ実行の承認で使用するGoogleアカウントを選択する画面

すると以下の画面が出てくるので、「許可」を押します。

マクロにスプレッドシートへのアクセスを許可する確認画面

「許可」を押すと、SpreadSheetの画面に戻りますがまだマクロは実行されていません。再度、「拡張機能」>「マクロ」>「マクロのテスト(任意で設定した名前)」を押します。

承認後に再度マクロを実行する操作画面

これでマクロが実行されました。さきほどA列に不規則に入力した文字がきちんと並び替わっていますね。

マクロ実行後にA列が昇順に並び替えられた結果画面

今回はA列の文字を並び替えるというとても簡単なマクロを実行しました。他にも表を作成し、複数列並び替えができたり、欲しいデータだけを抽出することも可能です。マクロ自体も複数作成できるので、用途に合わせて使い分けが可能です。

マクロを記録して実行までできましたね。慣れてくると他になにかできないかとチャレンジしたくなると思います。では次は記録したマクロのコードを見て、編集してみましょう。編集といってもいきなり難しいことから始めてしまうと挫折してしまいます。なので、少しだけいじってみる程度でも大丈夫です。

記録したマクロのコードを編集する

それでは実際にコードを触っていきましょう。記録したマクロのコードを編集するにはSpreadSheetの「拡張機能」>「Apps Script」を選択します。

拡張機能メニューからApps Scriptエディタを開く操作画面

このとき、初めてApps Scriptエディタを開く場合は承認作業が必要になると思うので、許可して承認してください。Apps Scriptエディタが開けばOKです。すると以下のようなコードが書かれた画面が出てきます。

マクロ記録によって自動生成されたApps Scriptのコード画面

マクロを記録するときの状況によって多少コード内容が違ってくると思いますが、ここで解説した内容を実践している場合はだいたい同じコードになっているはずです。

コードの内容を1つ1つ説明すると長くなるので、ここでは割愛します。

マクロを記録したら上記のようなコードがApps Scriptエディタに記録されます。ですが、このコードはあまり綺麗とは言えません。マクロを複数記録したり、複雑なマクロを記録する場合、人間が読むときにわかりにくいコードになってしまう恐れがあるので、人間が読みやすいように綺麗に整えてあげましょう。

「私はプログラマーじゃないし、わからないよ!」という方はやらなくてもいいと思いますが、業務の効率化をしていきたいのであれば、ゆくゆくはコードを触る日が来ると思うので、少しずつでも慣れていくと良いですよ。

ということで、上記のA列を昇順にソートするマクロを記録したコードを綺麗にスッキリ整えてみます。

マクロのコードを1行に整理した編集後のコード例

こんな感じでスッキリと1行に収めてみました。ぜひご自身でApps Scriptエディタに打ち込んでみてください。これで記録したマクロのコードを編集できましたね!ではコードを書いたら保存をして実行してみましょう。

Apps Scriptエディタからコードを実行する

編集したコードがきちんと動くか確かめます。さきほど書いたコードを「control + S」か画面上のフロッピーディスクマークを押して保存してください。

Apps Scriptエディタの保存アイコン

保存ができたら実行する関数を選択します。関数は「function ~~~」と書かれたところです。記録したマクロは始めから「function myFunction」と入力されていましたが、コードを編集したときにもう1つの関数を作成しましたね。ここでは「function code_sukkiri」にしています。編集時に作成したコードを選択して実行してみましょう。関数の選択はここでできます。

実行する関数を選択するプルダウンメニュー

編集時に作成した関数を選択し、▶の実行ボタンを押すと編集したほうのコードでスプレッドシートが実行されます。実行できているか確認するためにスプレッドシートのA列に新たに追記するか、ランダムに並べ替えをしてみてください。その後、Apps Scriptエディタに戻り▶の実行ボタンで実行してみましょう。スプレッドシートのA列は昇順に並べ替えができていれば上手く機能している証拠です。

もしエラーが出るようであれば、コードが間違っている可能性があります。修正をして再度実行してください。

編集したコード(関数)をスプレッドシートにインポートする

さきほどApps Scriptエディタ上で編集したコードはApps Scriptエディタから実行しました。これをスプレッドシートから実行できるように設定します。そのためには関数をインポートします。スプレッドシートの「拡張機能」>「マクロ」>「インポート」を選択します。

マクロのインポート機能を選択する操作画面

するとインポートのポップアップ画面が表示され、関数の選択ができるようになります。

インポートする関数を選択するポップアップ画面

関数が複数ある場合は追加したい関数を選択し、追加します。追加をしたら、スプレッドシートから自分で編集したコードが実行できるか確認してみましょう。「拡張機能」>「マクロ」>「code_sukkiri(任意で設定した関数名)」を押します。

インポートした関数をマクロとして実行する操作画面

エラーが出ず実行できていればOKです。これでApps Scriptエディタで編集したコードをスプレッドシートにインポートし、マクロの実行ができるようになりました!ですが、同じ処理をするマクロは2つもいりませんよね。不要なマクロを削除しましょう。

マクロを削除する

不要なマクロは削除して管理しやすいようにしましょう。ということで、マクロを削除していきます。最初に記録したマクロを削除していきます。

いつもどおり、「拡張機能」>「マクロ」と進めていきますが、ここで「マクロを管理」を選択してください。すると以下の画面が表示されるので「削除」→「更新」を押します。

マクロの管理画面から不要なマクロを削除する操作画面

これで不要なマクロが削除できました。しかし、この方法だとマクロは削除できてもApps Scriptエディタには削除したはずの関数のコードは残ったままです。

Apps Scriptエディタにコードは残しておきたい場合はそのままで大丈夫ですが、コードも不要という場合はApps Scriptエディタ上からコードを削除してください。

よくある質問(FAQ)

Q. GoogleSpreadSheetのマクロとGASは同じものですか?

厳密には異なります。マクロは「操作を記録して自動化する機能」そのもので、その記録内容を動かしている裏側の言語がGAS(Google Apps Script)です。マクロ機能だけならGASのコードを書かなくても使えますが、より複雑な処理をしたい場合はGASの知識が役立ちます。

Q. マクロを記録するだけでプログラミングの知識は必要ですか?

不要です。マクロの記録機能はボタン操作だけで自動化ができるように作られており、コードを一切見ずに使うこともできます。ただし、記録した処理を条件分岐させたり、他のサービスと連携させたりしたい場合はGAS(JavaScriptベース)の知識が必要になります。

Q. Excelで作ったマクロ(VBA)をそのままGoogleSpreadSheetで使えますか?

そのままでは使えません。ExcelのマクロはVBA、GoogleSpreadSheetのマクロはGASと、使用しているプログラミング言語が異なるためです。移行する場合は処理内容を確認しながらGASで書き直す必要があります。

Q. マクロの実行時に承認画面が出るのはなぜですか?

マクロ(GAS)がスプレッドシートやGoogleアカウントの情報にアクセスする権限を求めるためです。セキュリティ上の仕組みなので、自分で作成・記録したマクロであれば「続行」「許可」を選んで問題ありません。この承認はスプレッドシートごとに初回実行時のみ必要です。

まとめ:GoogleSpreadSheetとExcelのマクロの違い

この記事のポイント:

  • Excelのマクロは「VBA」、GoogleSpreadSheetのマクロは「GAS(Google Apps Script)」が土台の言語で、いずれもコードを書かずに記録・実行できる
  • GoogleSpreadSheetのマクロは無料で使え、Gmailやフォームなど他のGoogleサービスとの連携がしやすい
  • マクロは「拡張機能」>「マクロ」から記録・実行・削除ができ、コードの編集は「拡張機能」>「Apps Script」から行う
  • 記録したコードはApps Scriptエディタで編集・整理でき、関数をインポートすればスプレッドシート上のマクロとして実行できる
  • 用途によって、社内の閉じた作業はExcel、クラウド連携や共同作業を伴う自動化はGoogleSpreadSheetが向いている

以上がスプレッドシートのマクロの使い方でした。「マクロ」と聞くだけで難しそうというイメージを持たれていた方もこれなら簡単にできそうですよね?毎日の単純作業はマクロに任せてしまいましょう。マクロを使いこなせるようになると空いた時間で他の業務に取りかかることができるので、まだマクロを使ったことがない方は今すぐにも導入してみると良いですよ!

ただし、マクロだけだとできることには制限があります。Apps Scriptエディタでコードを編集したように、コードを書けるようになればもっと複雑なことや毎日、毎週、毎月繰り返し行っていた単純な作業も自動で効率化ができるようになります。

スプレッドシートから開いたApps Scriptエディタに書かれたコードはGoogle Apps Script(GAS)と呼ばれるプログラミング言語です。プログラマーでなくても比較的扱いやすい言語なので、業務を効率化するためにもスキルとして習得しておくとご自身のためにも、そして社内でも重宝されるようになるでしょう。GASはGoogleのサービスや他のサービスとも組み合わせることが可能なので、アイディア次第では無限大にサービスや業務効率化の可能性が広がりますよ。

GoogleSpreadSheetとExcelのどちらを選ぶかは環境にもよると思います。筆者の個人的な意見としてはGoogleは他のアプリと連携しやすいので使い勝手が良いと感じていますが、Excelのほうが機能的に優れている点もあるでしょう。

今後、導入予定の方は用途によってGoogleSpreadSheetを使うかExcelを使うか判断されると良いでしょう。この記事が少しでもお役に立てれば幸いです。

▼ アクロビジョンについて

👔

一緒に働きましょう

一人ひとりのキャリアに向き合い、
活躍できる現場をご紹介します。

採用サイトを見る →
💻

システム開発のご依頼・ご相談

コンサルティングから運用保守まで、
ワンストップで対応します。

まずはお気軽にご相談ください →