ExcelとGoogleスプレッドシート、どちらを使う⁉

一般的には表計算ソフトはエクセルを使うのがデフォルトだと思いますが、Googleフォームとかを使って収集した各種データを使いまわすことを考えると、スプレッドシートの活用を考えてみることも一考だと思います。

私は今までExcel一択で、関数やマクロを作る際もVBAでプログラミングするなどしてきましたが、Googleスプレッドシートを使うとしたら何が変わるのか、何を学び直さないといけないのか気になりますので、このあたりの知見をAIに聞いてみました。


サイト管理人
サイト管理人

Googleフォームでスプレッドシートに書き出したデータを、Excelの関数のようなもので計算させたり、VBAマクロのように様々な作業を自動化したりできますか?

AI先生
AI先生

はい、Googleフォームで収集しスプレッドシートに書き出されたデータに対して、Excelの関数のような計算やVBAマクロのような自動化を行うことは可能です。これは主にGoogleスプレッドシートの機能と、それに付随するGoogle Apps Script (GAS)というプログラミング環境によって実現されます。


Googleスプレッドシートには、Excelと非常に類似した、または互換性のある関数が多数用意されています。

  • 基本的な計算: SUM, AVERAGE, COUNT, MAX, MIN など。
  • 条件付き計算: IF, SUMIF, COUNTIF, AVERAGEIF など。
  • 検索・参照: VLOOKUP, INDEX, MATCH, QUERY など。
  • データ処理: TEXT, DATE, ARRAYFORMULA, IMPORTDATA など。

フォームの回答が書き込まれる列に対して、これらの関数を別のセルやシートで設定することで、回答が追加されるたびにリアルタイムで計算結果が更新されます。


ExcelにおけるVBA(Visual Basic for Applications)マクロに相当する自動化機能は、Googleのクラウド環境ではGoogle Apps Script (GAS)によって提供されます。

GASはJavaScriptベースの言語で、Googleスプレッドシートだけでなく、Gmail、Googleドキュメント、カレンダーなどのGoogleサービス全体を操作できます。

GASで可能な作業の例

  1. データの加工・整形:
    • フォームの回答が送信されたときに、特定のデータを別の形式に変換して、別のシートに転記する。
    • 重複データをチェックし、自動的に削除またはハイライト表示する。
  2. トリガーによる実行:
    • フォーム送信時: 新しい回答があった瞬間にスクリプトを自動実行し、集計や通知を行う。
    • 時間主導型: 毎日、または特定の時間にスクリプトを実行し、定期的なレポートを生成する。
  3. 外部連携・通知:
    • 特定の条件(例:スコアが70点以上)を満たした場合に、Gmailで担当者に自動メールを送信する。
    • 集計結果をSlackやその他の外部サービスに連携する。
  4. カスタムメニュー・関数:
    • スプレッドシートのメニューバーにカスタムのボタンを作成し、クリック一つで複雑な処理を実行できるようにする。
    • 独自のカスタム関数を定義し、スプレッドシート内で利用する。

GASのアクセス方法

Googleスプレッドシートのメニューバーから [拡張機能] > [Apps Script] を選択すると、スクリプトエディタが開かれ、コードの記述と実行ができます。

ご要望の具体的な計算や自動化の内容に応じて、適切なスプレッドシート関数またはGoogle Apps Scriptを使い分けることで、フォームデータの高度な活用が可能です。


サイト管理人
サイト管理人

GASとJavaScriptは、ほとんど同じなのでしょうか? VBAエディタのような開発環境が付属されているのでしょうか?

AI先生
AI先生

はい、Google Apps Script (GAS) の基本構文はJavaScriptとほぼ同じです。また、VBAエディタに相当する「スクリプトエディタ」という専用の開発環境が、GoogleスプレッドシートなどのGoogleサービスに付属しています。


GASは、JavaScriptをベースに、Googleの各種サービス(スプレッドシート、Gmail、カレンダーなど)を操作するための専用機能を追加したものです。

共通点

  • 基本構文: 変数の宣言、条件分岐 (if/else)、繰り返し処理 (for/while)、関数の定義など、プログラミングの基本的な書き方はJavaScriptと全く同じです。そのため、JavaScriptの学習リソースの多くはGASにも応用できます。
項目Google Apps Script (GAS)JavaScript (一般的なクライアントサイド)
実行環境サーバーサイド(Googleのクラウド上)で実行クライアントサイド(ユーザーのWebブラウザ上)で実行
主な用途Googleサービス間の連携業務自動化Webサイトの動的な動作(アニメーション、DOM操作など)
特徴的な機能SpreadsheetApp, GmailApp, CalendarApp など、Googleサービスを操作するための専用オブジェクトが豊富。windowオブジェクト、DOM (Document Object Model) 操作など、ブラウザ操作のための機能を持つ。
実行制限1日あたりの実行時間や回数に制限(クォータ)がある。ブラウザの性能やリソースに依存する。

簡単に言えば、GASはGoogleサービスを「操縦」することに特化したJavaScriptであり、Webサイトの見た目を動かす機能は持たない、と考えるとわかりやすいでしょう。


VBAエディタに相当するのは、Webブラウザ上で動作する「スクリプトエディタ」です。

スクリプトエディタのアクセス方法

Googleスプレッドシートやドキュメントなどのメニューバーから、[拡張機能] > [Apps Script] を選択すると、新しいタブでスクリプトエディタが開きます。

スクリプトエディタの主な機能

機能概要VBAエディタとの類似点
コード記述エリアGASのコードを記述するメインのエディタ画面。シンタックスハイライト(色付け)やコード補完機能があります。標準モジュールやクラスモジュールを編集するウィンドウ。
実行/デバッグ機能記述した関数を実行したり、デバッグ(ステップ実行して変数の値を確認)したりできます。VBEの実行ボタンやデバッグ機能。
ログ出力プログラムの実行中にLogger.log()などで出力した情報を確認する場所。VBEのイミディエイトウィンドウ。
トリガー設定「フォーム送信時」や「指定した時間」にスクリプトを自動実行するための設定画面。VBAでイベントプロシージャを設定する機能。

スクリプトエディタは、VBAエディタと同様に、コードの記述、実行、デバッグ、そして自動実行の設定(トリガー)といった、マクロ開発に必要な機能が一通り揃った専用の開発環境となっています。


サイト管理人
サイト管理人

Geminiにお聞きするにはしつれいかもしれないのですが、GoogleスプレッドシートとGAS、ExcelとVBAの違いや、それぞれのメリット、デメリットを分かりやすく、表にまとめるなどして生知りて教えてください。

AI先生
AI先生

ご質問ありがとうございます。この手の比較は、それぞれのツールの特性を理解する上で非常に重要です。Googleスプレッドシート/GASとExcel/VBAの違い、メリット、デメリットについて、わかりやすく表にまとめてご説明します


項目Google スプレッドシート + GASMicrosoft Excel + VBA
基本環境クラウドベース (Webブラウザで動作)ローカルベース (PCにインストールして動作)
ファイル保存Google Drive上に自動保存PCまたはサーバー上に手動でファイル保存 (.xlsx, .xlsmなど)
複数人での共同作業得意リアルタイムで複数人同時編集が可能。不得意。同時編集は基本的に不可(OneDriveやSharePoint利用で可能になるが制限あり)。
自動化言語Google Apps Script (GAS) (JavaScriptベース)VBA (Visual Basic for Applications) (Basic言語ベース)
外部連携得意。Gmail、カレンダー、DriveなどGoogleサービス間、および外部Web APIとの連携が容易。やや不得意。主にWindows PC内のファイルやOutlookとの連携が中心。
費用Googleアカウントがあれば基本無料 (有料プランもあり)Officeソフトのライセンス購入が必要 (買い切りまたはサブスクリプション)
動作速度大容量データや複雑な計算ではExcelより遅い場合があるローカルPCの性能に依存。高速な計算処理が可能。

メリット 👍デメリット 👎
1. 共同編集に強い 複数人が同時に作業でき、ファイルの共有・管理が極めて簡単。1. オフラインに弱い 基本的にインターネット接続がないと作業できない。
2. 自動バックアップ 編集履歴が残り、ファイル損失のリスクが低い。2. 動作速度の限界 非常に大きなデータや複雑なマクロ処理はExcelより遅くなる。
3. Googleエコシステムとの連携 Gmail、Googleフォーム、カレンダーなどとの自動化・連携が非常に強力。3. GASの実行制限 1日あたりのGAS実行時間や回数にGoogle側のクォータ(制限)がある。
4. 初期費用が安い 無料で利用開始できる。4. 機能の差 グラフの種類や高度なデータ分析機能の一部はExcelの方が優れている場合がある。
メリット 👍デメリット 👎
1. 高速な処理能力 大容量のデータ処理や複雑な計算を、PCの性能を最大限に使って高速に実行できる。1. 共同編集が難しい 基本的にファイルをロックして編集するため、共有時の管理が煩雑になりやすい。
2. 高機能な分析ツール ピボットテーブルや高度な統計分析機能、詳細なグラフ機能が充実。2. ファイル管理の手間 ユーザー自身がファイルを保存・バージョン管理する必要があり、ファイル紛失のリスクがある。
3. オフライン作業 インターネットに接続していなくても作業できる。3. セキュリティ上の注意 VBAはPC内部の操作が可能なため、マクロウイルスなどのセキュリティリスクに注意が必要。
4. VBAの歴史と資産 長年の実績があり、VBAのコード資産や情報、専門家が多い。4. 初期費用がかかる ソフトウェアのライセンス費用が必要。

どちらが良いかは、用途と環境によります。

用途おすすめ理由
チームでの情報共有や共同作業スプレッドシート/GASリアルタイム共同編集、自動保存、Googleフォーム連携が強力。
大量データの集計や複雑な計算Excel/VBA処理速度が速く、高度な分析機能やカスタマイズ性に優れる。
Googleのサービスを利用した業務の自動化スプレッドシート/GASGASによるGmail送信やカレンダー連携など、Googleのエコシステムに最適。

「Googleフォームで集めたデータを、複数人で確認・集計して、結果をメールで通知する」といった目的であれば、スプレッドシートとGASが最もスムーズに連携し、高い効果を発揮します。


サイト管理人
サイト管理人

ありがとうございます! めちゃくちゃ参考になりました‼ 適材適所で使ってゆく体と思います✨

コメント