Google Spreadsheetで現在のセルを取得する方法 – GASのgetActiveCell関数を使ってみよう

Google Spreadsheetは、オンラインで表計算を行うことができる便利なツールです。しかし、単にデータを入力するだけではなく、Google Apps Script(GAS)というプログラミング言語を使って、さまざまな処理を自動化したり、カスタマイズしたりすることもできます。

GASは、JavaScriptに似た構文を持つスクリプト言語で、Googleのサービスと連携して動作します。GASを使うと、Google Spreadsheetのデータを読み書きしたり、メールを送信したり、カレンダーを操作したり、Webアプリケーションを作成したりすることができます。

この記事では、GASの基本的な関数の一つであるgetActiveCell関数について解説します。getActiveCell関数は、Google Spreadsheetで現在選択されているセルを取得するために使います。この関数を使えば、選択したセルの値や位置を取得したり、別のセルにコピーしたり、条件に応じて色を変えたりすることができます。

💡この記事でわかること
  • getActiveCell関数の使い方とプログラムサンプル
  • getActiveCell関数の引数と戻り値の解説
  • getActiveCell関数の公式ドキュメントのURL

getActiveCell関数の使い方とプログラムサンプル

getActiveCell関数は、Spreadsheetクラスのメソッドとして定義されています。Spreadsheetクラスは、Google Spreadsheetのドキュメント全体を表すクラスで、getActiveSpreadsheet関数で取得できます。getActiveSpreadsheet関数は、現在開いているスプレッドシートを返します。

getActiveCell関数は、引数を取りません。戻り値として、Rangeクラスのオブジェクトを返します。Rangeクラスは、Google Spreadsheetのセルやセルの範囲を表すクラスで、値や位置、色などのプロパティやメソッドを持ちます。

以下は、getActiveCell関数を使って、現在のセルの値を取得し、別のセルにコピーするプログラムの例です。

function copyActiveCell() {
  // 現在開いているスプレッドシートを取得
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  // 現在のセルを取得
  var activeCell = spreadsheet.getActiveCell();
  // 現在のセルの値を取得
  var value = activeCell.getValue();
  // 現在のセルの右隣のセルを取得
  var nextCell = activeCell.offset(0, 1);
  // 右隣のセルに値をコピー
  nextCell.setValue(value);
}

このプログラムを実行すると、Google Spreadsheetで選択したセルの値が、その右隣のセルにコピーされます。

getActiveCell関数の引数と戻り値の解説

getActiveCell関数は、引数を取りません。戻り値として、Rangeクラスのオブジェクトを返します。

Rangeクラスのオブジェクトは、セルやセルの範囲を表すオブジェクトで、以下のようなプロパティやメソッドを持ちます。

  • getValue(): セルの値を取得する
  • setValue(value): セルに値を設定する
  • getA1Notation(): セルの位置をA1形式で取得する
  • setBackground(color): セルの背景色を設定する
  • getBackground(): セルの背景色を取得する
  • offset(rowOffset, columnOffset): セルから相対的にずらした位置のセルを取得する
  • getSheet(): セルが属するシートを取得する

詳細は、公式ドキュメントを参照してください。

まとめ

この記事では、GASのgetActiveCell関数について解説しました。getActiveCell関数は、Google Spreadsheetで現在選択されているセルを取得するために使います。この関数を使えば、選択したセルの値や位置を取得したり、別のセルにコピーしたり、条件に応じて色を変えたりすることができます。

getActiveCell関数は、引数を取りません。戻り値として、Rangeクラスのオブジェクトを返します。Rangeクラスは、Google Spreadsheetのセルやセルの範囲を表すクラスで、値や位置、色などのプロパティやメソッドを持ちます。

getActiveCell関数の公式ドキュメントは、以下のURLで確認できます。

https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet?hl=ja#getactivecell

GASをイチから学びたい方へ

このブログでは断片的な説明になってしまっていますが、本書は幅広いGASの内容が網羅的に学べる本です。イチから学びたい方は是非読んでみてください。

すでにGASをある程度マスターした方にも辞書的に手元に置いておくと便利です。