Google Apps Script

Google Apps Scriptでスプレッドシートの複数セルの値を表示形式の文字列で取得する方法

スポンサーリンク

概要

スプレッドシートの値を取得しようとすると、日付や時間などは日付オブジェクトで取得されてしまいます。

Google Apps Scriptでスプレッドシートの値を取得する際に表示形式の文字列で取得する方法です。

以前は、「Google Apps Scriptでスプレッドシートのセルの値を表示形式の文字列で取得する方法」で、1つのセルの値を取得する方法でしたが、今回は複数セルの値を表示形式の文字列で取得する方法です。

Google Apps Scriptでスプレッドシートのセルの値を表示形式の文字列で取得する方法

Google Apps Scriptでスプレッドシートのセルの値を表示形式の文字列で取得する方法

概要スプレッドシートの値を取得しようとすると、日付や時間などは日付オブジェクトで取得されてしまいます。Google Apps Scriptでスプレッドシートの値を取得する際に表示形式の文字列で取得する方法です。使用するメソッド構文Range

使用するメソッド

構文

Rangeオブジェクト.getDisplayValues()

引数

なし

戻り値

String[][]

1つのセルの値を取得する場合と違うのは、”getDisplayValues”と複数形(最後に”s”が付く)になります。

また、戻り値も複数なので2次元配列になります。

実装をする時には気をつけましょう。

サンプルプログラム

function sample() {
  
  // スプレッドシートオブジェクトを取得
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  
  // アクティブシートのシートオブジェクトを取得
  const sheet = spreadsheet.getActiveSheet();
  
  // A2:C5の値を表示形式で取得
  const displayValues = sheet.getRange("A2:C5").getDisplayValues();

  // 取得した行の件数分繰り返し
  for (let i in displayValues) {
    
    let values = displayValues[i];

    // 列の件数分繰り返し
    for (let j in values) {

      // ログに出力
      Logger.log(values[j]);
    }
  }
}

サンプルでは、2次元配列で取得された値をログに出力するために、for in文を使って繰り返し処理を行なっています。

参考

Class Range  |  Apps Script  |  Google Developers

Class Range  |  Apps Script  |  Google Developers

スプレッドシートの範囲にアクセスして変更する。範囲には、シート内の 1 つのセルまたはシート内の隣接するセルのグループを指定できます。

タイトルとURLをコピーしました