【GAS・スプレッドシート】範囲・セルの値を取得する方法|選択中や指定した範囲の値

今回は、Google スプレッドシートでGoogle Apps Script (GAS)を利用して、セル内・範囲内に入力されている値を取得する、いくつかの簡単な例となります。

範囲の値を取得する例|getValues()

範囲の値はRangeクラスのgetValuesメソッドで取得します。

getValuesメソッドでは、指定した範囲の値を行・列の2次元配列で取得します。2次元配列は、外側の配列が行となり、その要素の配列が列の値となります。

以下、範囲の値を取得するそれぞれの例となり、スクリプトエディタに記述します。また、例では取得した結果をログに出力しています。

データが入力されている範囲の値を取得

以下の例では、データが入力されている範囲にある値を、行・列の2次元配列ですべて取得しています。

function myFunction(){
  const sheet = SpreadsheetApp.getActiveSheet(); 
  const values = sheet.getDataRange().getValues();
  console.log(values);
}

例の関数内では、現在のシートに対して、SheetクラスのgetDataRangeメソッドでデータが入力されている範囲を取得しています。

指定した範囲の値を取得

以下のそれぞれの例では、指定した範囲(B3:E6)にある値を、行・列の2次元配列ですべて取得しています。

行番号・列番号・行数・列数から取得

function myFunction(){
  const sheet = SpreadsheetApp.getActiveSheet(); 
  const values = sheet.getRange(3,2,4,4).getValues();
  console.log(values);
}

例の関数内では、現在のシートに対して、SheetクラスのgetRangeメソッドで指定した範囲を取得しています。

getRangeメソッドの引数の指定方法はいくつかありますが、上記では引数に行番号・列番号・行数・列数を指定して範囲を取得しています。

第1引数には先頭のセルの行番号、第2引数には先頭のセルの列番号を指定します。(列番号は、Aの列番号は 1、Bの列番号は2 のように、列のアルファベット順を数値順に置き換えた値)

第3引数には取得する行数、第4引数には取得する列数を指定します。(行数・列数は、指定した先頭のセルから数えた値を指定)

また、GASで行数・列数を取得する方法については、以下のリンク先を参考にしてみてください。

セル番地から取得

function myFunction(){
  const sheet = SpreadsheetApp.getActiveSheet(); 
  const values = sheet.getRange("B3:E6").getValues();
  console.log(values);
}

例の関数内では、現在のシートに対して、SheetクラスのgetRangeメソッドで指定した範囲を取得しています。

getRangeメソッドの引数の指定方法はいくつかありますが、上記では引数に範囲のセル番地を指定して範囲を取得しています。また、引数には"シート02!B3:E6"のようにシート名の指定も可能です。

また、例の引数はA1型の表記でしたがR1C1型でも指定可能。(R1C1型では「R」はRow(行)、「C」はColumn(カラム)を意味し、それらR・Cの数値順でセル番地を表します。)

選択中の範囲の値を取得

以下の例では、選択中の範囲にある値を、行・列の2次元配列ですべて取得しています。

function myFunction(){
  const sheet = SpreadsheetApp.getActiveSheet(); 
  const values = sheet.getActiveRange().getValues();
  console.log(values);
}

例の関数内では、現在のシートに対して、SheetクラスのgetActiveRangeメソッドで選択中の範囲を取得しています。

セルの値を取得する例|getValue()

セルの値はRangeクラスのgetValueメソッドで取得します。

以下、セルの値を取得するそれぞれの例となり、スクリプトエディタに記述します。また、例では取得した結果をログに出力しています。

指定したセルの値を取得

以下のそれぞれの例では、指定したセル(D2)の値を取得しています。

行番号・列番号から取得

function myFunction(){
  const sheet = SpreadsheetApp.getActiveSheet(); 
  const value = sheet.getRange(2,4).getValue();
  console.log(value);
}

例の関数内では、現在のシートに対して、SheetクラスのgetRangeメソッドで指定したセルの値を取得しています。

getRangeメソッドの引数の指定方法はいくつかありますが、上記では引数に行番号・列番号を指定してセルの範囲を取得しています。

第1引数には行番号、第2引数には列番号を指定します。(列番号は、Aの列番号は 1、Bの列番号は2 のように、列のアルファベット順を数値順に置き換えた値)

セル番地から取得

function myFunction(){
  const sheet = SpreadsheetApp.getActiveSheet(); 
  const value = sheet.getRange("D2").getValue();
  console.log(value);
}

例の関数内では、現在のシートに対して、SheetクラスのgetRangeメソッドで指定したセルの値を取得しています。

getRangeメソッドの引数の指定方法はいくつかありますが、上記では引数にセル番地を指定してセルの範囲を取得しています。また、引数には"シート02!D2"のようにシート名の指定も可能です。

また、例の引数はA1型の表記でしたがR1C1型でも指定可能。(R1C1型では「R」はRow(行)、「C」はColumn(カラム)を意味し、それらR・Cの数値順でセル番地を表します。)

選択中のセルの値を取得

以下の例では、選択中のセルの値を取得しています。

function myFunction(){
  const sheet = SpreadsheetApp.getActiveSheet(); 
  const value = sheet.getCurrentCell().getValue();
  console.log(value);
}

例の関数内では、現在のシートに対して、SheetクラスのgetCurrentCellメソッドで選択中のセルの値を取得しています。

getValues()・getValue()について

上記例で利用しているgetValuesメソッド・getValueメソッドは、範囲に対して利用できるRangeクラスのメソッドとなり、指定した範囲の値を取得できます。

取得できる値は、数値・文字列・真偽値・日付となります。また、空セルの場合は空の文字列を返します。

範囲・セルに値を入力する場合

範囲・セルに値を入力する方法は、以下のリンク先を参考にしてみてください。

参考サイトなど

コメント投稿コメント投稿欄を開く

コメントは項目欄(*は必須項目)を入力し、「コメントを送信」ボタンをクリックしてください。 (メールアドレスは公開されることはありません。コメントの公開は承認制となります。)

また、多忙によりコメントには返信できない場合があります。

Twitterで返信する場合はこちらから。