Google スプレッドシートは、リアルタイムのコラボレーションと、データの可視化、処理、通信のための強力なツールを備えた、クラウドベースのスプレッドシート ソリューションです。
アドオンでスプレッドシートをカスタマイズして、ワークフローの改善、サードパーティ システムへの接続、他の Google スライドなどのアプリケーションとの統合に利用できます。 Google Workspace
他のユーザーが Google Workspace Marketplace で作成したスプレッドシート アドオンが表示されます。
可能な操作
Google スプレッドシートを拡張するアドオンを使用すると、たとえば次のようなことができます。
- 組み込みの Apps Script スプレッドシート サービスを使用して、Google スプレッドシートのデータの読み取り、編集、可視化、書式設定を行うことができます。また、このサービスでは、条件付き書式とデータ検証ルールの作成と変更も可能です。
- Apps Script の高度なスプレッドシート サービスを使用して、スプレッドシートの REST API に直接アクセスできます。
- カスタム メニューを作成し、標準の HTML と CSS を使用して複数のカスタム ダイアログとサイドバー インターフェースを定義できます。
- アドオンにカスタム関数の定義を含めることができます。
- 特定のトリガー イベントが発生したときに、指定された関数を実行するアドオン トリガーを使用できます。
スプレッドシートのアドオンは Apps Script を使用して作成します。Apps Script を使用して Google スプレッドシートにアクセスし、管理する方法については、Google スプレッドシートを拡張するをご覧ください。
シート構造
Google スプレッドシートは 1 つ以上のシートで構成されます。各シートは基本的に、テキスト、数値、リンク、その他の値を保存できます。隣接する 1 つ以上のセルのグループを範囲と呼びます。
Apps Script スプレッドシート サービスには、スプレッドシートの組織構造を表すクラス(Sheet
、Range
など)が用意されています。これらのクラスを使用して、スプレッドシートのデータと動作を読み取り、変更できます。
Triggers
Apps Script のトリガーを使用すると、スプレッドシートを開いたときやアドオンをインストールしたときなど、特定の条件が満たされたときにスクリプト プロジェクトが指定された関数を実行できます。
スプレッドシート アドオンで使用できるトリガーと、その使用に適用される制限については、アドオン トリガーをご覧ください。
カスタム関数
Google スプレッドシートには、Google スプレッドシートのセルから呼び出すことができる SUM
や AVERAGE
などの組み込み関数がいくつかあります。スプレッドシート アドオンで追加のカスタム関数を定義して、組み込み関数を補完できます。ユーザーがアドオンをインストールすると、アドオンに含まれる定義済みのカスタム関数は直ちに利用可能になります。アドオンは、カスタム関数定義のみで構成されます。カスタム関数の定義は、定義を含むアドオンを公開することで、主に他のユーザーと共有されます。
アドオンのカスタム関数の作成
アドオン スクリプト プロジェクトで定義されている関数は、カスタム関数として使用できます。関数が実装され、アドオンがインストールされたら、他の組み込みスプレッドシート関数と同様にカスタム関数を呼び出すことができます。スプレッドシートのセルに、=
に続けて関数の名前と必要なパラメータを入力します。エラーがなければ、関数から返された結果はスプレッドシートのセルに配置され、必要に応じて隣接するセルにオーバーフローします。
アドオンでカスタム関数を作成する場合は、一般的なカスタム関数のガイドラインに従う必要があります。
さらに、アドオンで定義されたカスタム関数には特別な考慮事項があります。
- 関数に名前を付けるときは、アドオンの名前に関連した一意の名前を作成することをおすすめします。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 サーバーへの呼び出しは個別に行われます。ユーザーが多くのセルでカスタム関数を使用しようとすると、関数の実行に時間がかかることがあります。これを軽減するには、カスタム関数をできる限りシンプルにします。複雑な処理や拡張処理を行う関数が必要な場合は、カスタム関数を使用しないでください。代わりに、メニュー項目、ダイアログ、またはサイドバーのインタラクションを介してその機能を指定してください。
スプレッドシートのマクロ
マクロを使用すると、Google スプレッドシートで行った操作を記録し、後でキーボード ショートカットを使って繰り返すことができます。シートで作成されるマクロは、そのシートにバインドされている Apps Script プロジェクトにマクロ関数として追加されます。マクロの詳細については、Google スプレッドシートのマクロをご覧ください。
残念ながら、アドオンでスプレッドシート マクロを配布することはできません。アドオンのマニフェストにマクロ定義を含めると、そのアドオンのユーザーは使用できません。