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

Google スプレッドシートは、リアルタイムでの共同編集が可能な、データの可視化、処理、通信のための強力な ツールを提供する クラウドベースのスプレッドシート ソリューションです。

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

他のユーザーが作成したスプレッドシート アドオンは、 Google Workspace Marketplaceで確認できます。

対応策

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

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

シートの構造

スプレッドシートは 1 つ以上のシートで構成されます。各シートは基本的に、テキスト、数値、リンク、その他の値を保存できるセルの 2 次元グリッドです。1 つ以上の隣接するセルのグループは範囲と呼ばれます。

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

トリガー

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

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

カスタム関数

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

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

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

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

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

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

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

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

残念ながら、スプレッドシートのマクロはアドオンで配布できません。 アドオンのマニフェストにマクロ定義を含めても、そのアドオンのユーザーは使用できません。