Google スプレッドシートの拡張

Google Apps Script を使用すると、Google スプレッドシートを使って斬新かつ効果的な処理を行うことができます。Google Chat では Apps Script を使用してカスタム メニューを追加する ダイアログ、サイドバーを Google スプレッドシートに追加できます。また、 以下に対応するカスタム関数を記述し、 他の Google サービスとスプレッドシートを Google サービス: カレンダー、ドライブ、 Gmail。

Google スプレッドシート用に設計されたスクリプトのほとんどは、配列を操作して スプレッドシート内のセル、行、列の操作。Google Workspace の Codecademy が提供する 配列向けの優れたトレーニング モジュールをご覧ください。 (このコースは Google によって開発されたものでも、Google との関連でもありません)。

Google スプレッドシートで Apps Script を使用する方法については、 5 分間のクイックスタート ガイド マクロ、メニュー、カスタム関数

始める

Apps Script には特別な API があり、これを使用してプログラムで 編集する方法を学びましたApps Script では、大きく分けて 2 種類の方法で Google スプレッドシートを操作できます。 方法: 任意のスクリプトでスプレッドシートの作成や修正を行うには、スクリプトのユーザーが 必要な権限が与えられます。また、スクリプトに バインドされているスプレッドシートは、 ユーザー インターフェースを変更したり、 スプレッドシートが開きます。バインドされたスクリプトを作成するには、 内から [拡張機能] > [Apps Script] を選択します。 Google スプレッドシート。

スプレッドシート サービスでは、Google 2 次元配列を操作する、グリッドとして表示するスプレッドシート。データを取得するには そのデータが保存されているスプレッドシートに データを含むスプレッドシートの範囲を取得し、 セルの値。Apps Script は、読み取りや書き込みによる 構造化データを処理し、構造化データに対応する JavaScript オブジェクトを作成します。

データの読み取り

商品の名前と商品番号のリストがあって、 スプレッドシートで次のように処理されます。

以下の例は、商品名と商品を取得して記録する方法を示しています。 あります。

function logProductInfo() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  for (var i = 0; i < data.length; i++) {
    Logger.log('Product name: ' + data[i][0]);
    Logger.log('Product number: ' + data[i][1]);
  }
}

ログを表示

ログに記録されたデータを表示するには、スクリプト エディタの上部にある 実行ログ

データの書き込み

新しい製品名や番号などのデータを スクリプトの末尾に次のコードを追加します。

function addProduct() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.appendRow(['Cotton Sweatshirt XL', 'css004']);
}

上記のコードは、スプレッドシートの下部に新しい行を追加し、 値を指定します。この関数を実行すると、 表示されます。

カスタム メニューとユーザー インターフェース

Google スプレッドシートにカスタムのメニュー、ダイアログ ボックス、 追加できますメニュー作成の基本については、 メニュー ガイドをご覧ください。Google Chat の設定のカスタマイズや ダイアログ ボックスの内容については、 HTML サービスに関するガイドをご覧ください。

画像や図形描画にスクリプト関数をアタッチすることもできます。 スプレッドシートユーザーが画像をクリックするとき、 描画します。詳しくは、Google スプレッドシートの画像と図形描画をご覧ください。

API の一部としてカスタム インターフェースを公開することを計画している場合、 アドオンを使用する場合は、 スタイルガイドを参照してください。 Google スプレッドシート エディタです。

Google フォームへの接続

Apps Script を使用すると、Google フォームと Google スプレッドシートを接続できます。 フォームスプレッドシート サービス。この機能 スプレッドシートのデータに基づいて Google フォームを自動的に作成できます。 Apps Script では、次のようなトリガーを使用することもできます。 onFormSubmit: ユーザーがフォームに回答した後に特定のアクションを実行します。 Google スプレッドシートを Google フォームに接続する方法については、 Google フォームの回答に関する 5 分間のクイックスタート ガイドです。

書式設定

Range クラスには、次のようなメソッドがあります。 setBackground(color) セルまたはセル範囲の形式にアクセスしたり、セルの範囲を変更したりできます。次の 次の例は、範囲のフォント スタイルを設定する方法を示しています。

function formatMySpreadsheet() {
  // Set the font style of the cells in the range of B2:C2 to be italic.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var cell = sheet.getRange('B2:C2');
  cell.setFontStyle('italic');
}

データの検証

Apps Script では、Google スプレッドシート内の既存のデータ検証ルールにアクセスできます 新しいルールを作成できます。たとえば、次のサンプルは、 セルに 1 ~ 100 の数値のみを許可するデータ検証ルール。

function validateMySpreadsheet() {
  // Set a rule for the cell B4 to be a number between 1 and 100.
  var cell = SpreadsheetApp.getActive().getRange('B4');
  var rule = SpreadsheetApp.newDataValidation()
     .requireNumberBetween(1, 100)
     .setAllowInvalid(false)
     .setHelpText('Number must be between 1 and 100.')
     .build();
  cell.setDataValidation(rule);
}

データ検証ルールの使用について詳しくは、このモジュールの SpreadsheetApp.newDataValidation() DataValidationBuilder, および Range.setDataValidation(rule)

グラフ

Apps Script を使用すると、スプレッドシート内のデータを表すグラフをスプレッドシートに埋め込むことができます。 指定します。次の例では、埋め込み棒グラフが生成されます。 セル A1:B15 にグラフ可能なデータがあります。

function newChart() {
  // Generate a chart representing the data in the range of A1:B15.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var chart = sheet.newChart()
     .setChartType(Charts.ChartType.BAR)
     .addRange(sheet.getRange('A1:B15'))
     .setPosition(5, 5, 0, 0)
     .build();

  sheet.insertChart(chart);
}

スプレッドシートにグラフを埋め込む方法について詳しくは、 EmbeddedChart と グラフを作成できます。たとえば、 EmbeddedPieChartBuilder

Google スプレッドシートのカスタム関数

カスタム関数は、 組み込みのスプレッドシート関数(=SUM(A1:A5) など)を 動作を確認する方法を学びます。たとえば、カスタム スペースを作成して 関数 in2mm() はインチからミリメートルの値を変換し、 数式を変換するには、[=in2mm(A1)] または [=in2mm(10)] を 選択します。

カスタム関数について詳しくは、 メニューとカスタム関数 5 分間のクイックスタート、または カスタム関数に関するガイドをご覧ください。

マクロ

マクロを使用すると、Google スプレッドシートの UI から Apps Script コードを実行できます。 カスタム関数とは異なり、キーボード ショートカットまたは Google スプレッドシートのメニューです詳細については、次をご覧ください: Google スプレッドシートのマクロ

Google スプレッドシート向けアドオン

アドオンは特別にパッケージ化された Apps Script である Google スプレッドシート内で実行され、インストール可能な Google スプレッドシートアドオンストアから 利用できますGoogle スプレッドシート用のスクリプトを開発した場合 世界中と共有したい場合は、Apps Script で 公開する 他のユーザーがアドオンストアからインストールできるようにする必要があります。

トリガー

Google スプレッドシート ファイルにバインドされているスクリプト 関数のような単純なトリガーonOpen()onEdit() で、編集権限を持つユーザーが アクセス権を付与すると、スプレッドシートを開いたり編集したりできるようになります。

単純なトリガーと同様に インストール可能なトリガーを使用すると、Google スプレッドシートで 特定のイベントが発生したときに関数を自動的に実行します。インストール可能 ただし、単純なトリガーやサポートよりも柔軟性に優れ、 オープン、編集、変更、フォーム送信、時間ドリブン(時計)のイベントが含まれます。