アドオンで Google スプレッドシートを拡張

Google スプレッドシートは、リアルタイムのコラボレーションと、データの可視化、処理、通信のための強力なツールを備えたクラウドベースのスプレッドシート ソリューションです。

スプレッドシートをアドオンで拡張して、カスタマイズされたワークフローの改善、サードパーティ システムとの接続を確立し、スプレッドシートのデータを他の Google Workspace アプリケーション(Google スライドなど)と統合できます。

Google Workspace Marketplace で、他のユーザーが作成したスプレッドシートのアドオンを見ることができます。

可能な操作

Google スプレッドシートを拡張するアドオンでは、次のようなことができます。

スプレッドシートのアドオンは Apps Script を使用して構築される。Apps Script を使用して Google スプレッドシートにアクセスして管理する方法について詳しくは、Google スプレッドシートの拡張をご覧ください。

シート構造

Google スプレッドシートのスプレッドシートは 1 つ以上のシートで構成されています。各シートは基本的に、テキスト、数値、リンク、またはその他の値を格納することができるセルの 2D グリッドです。隣接する 1 つ以上のセルからなるグループを範囲といいます。

Apps Script のスプレッドシート サービスには、スプレッドシートで組織構造を表すクラスがいくつか用意されています(SheetRange など)。これらのクラスを使用して、スプレッドシートのデータや動作の読み取りと変更を行うことができます。

トリガー

Apps Script のトリガーを使用すると、特定の条件が満たされたとき(スプレッドシートを開いたときやアドオンがインストールされているときなど)に、指定した関数を実行できます。

スプレッドシート アドオンで使用できるトリガーと、その使用に適用される制限の詳細については、アドオン トリガーをご覧ください。

カスタム関数

Google スプレッドシートには、SUMAVERAGE など、Google スプレッドシートのセル内から呼び出せるさまざまな組み込み関数があります。スプレッドシートのアドオンでは、これらの組み込み関数を補完する追加のカスタム関数を定義できます。ユーザーがアドオンをインストールすると、そのアドオンに含まれる定義済みのカスタム関数がすぐに使用可能になります。カスタム関数の定義のみでアドオンを構成することもできます。カスタム関数の定義は、主に定義を含むアドオンを公開することで他のユーザーと共有します。

アドオンのカスタム関数を作成する

アドオン スクリプト プロジェクトで定義されているすべての関数は、カスタム関数として使用できます。関数を実装してアドオンをインストールしたら、スプレッドシートに組み込まれている他の関数と同じようにカスタム関数を呼び出すことができます。シートのセルで、= に続けて関数名と必要なパラメータを入力します。エラーがない場合、関数から返された結果がシートセルに配置され、必要に応じて隣接するセルにオーバーフローします。

アドオンでカスタム関数を作成する場合は、カスタム関数の一般的なガイドラインに従ってください。

また、アドオンで定義されたカスタム関数には、特別な考慮事項があります。

  • 関数に名前を付けるときは、アドオンの名前に関連するなど、一意の名前にしてください。複数のインストール済みのアドオンで同じ名前のカスタム関数を定義する場合、ユーザーはそのうちの 1 つのみを使用できます。
  • アドオンでは、提供するカスタム関数を明確に伝える必要があります。Apps Script でオートコンプリート情報をユーザーに表示できるように、カスタム関数には正確な JSDoc コメントを入力してください。さらに、アドオン自体またはアドオンのサポート ウェブページで、カスタム関数に関する追加ドキュメントを提供することを検討してください。
  • 30 秒未満で完了しないカスタム関数は、Internal error executing the custom function エラーで失敗します。カスタム関数で実行する処理量を制限することで、優れたユーザー エクスペリエンスを構築できます。可能な場所で関数を最適化します。
  • カスタム関数は、承認を必要とする Apps Script サービスを使用できません。使用しようとすると、You do not have permission to call X service エラーで失敗します。カスタム関数では、許可されたサービスのみを使用します。
  • シート内のカスタム関数ごとに、Apps Script サーバーの呼び出しが個別に行われます。カスタム関数をあまりにも多くのセルで使用しようとすると、関数の実行が遅くなることがあります。これを軽減するには、カスタム関数をできるだけシンプルにします。複雑な処理や拡張処理を行う関数が必要な場合は、カスタム関数を使用しないでください。カスタム関数を使用するには、メニュー項目、ダイアログ、サイドバーのインタラクションを使用します。

スプレッドシートのマクロ

マクロを使用すると、Google スプレッドシートで行った操作を記録し、後でキーボード ショートカットを使って繰り返すことができます。シートでマクロを作成すると、そのシートにバインドされている Apps Script プロジェクトにマクロ関数として追加されます。マクロについて詳しくは、Google スプレッドシートのマクロをご覧ください。

スプレッドシートのマクロをアドオンと一緒に配布することはできません。アドオンのマニフェストにマクロ定義を含めると、そのアドオンのユーザーはマクロ定義を使用できません。