配列を操作する

【GAS】スプレッドシート範囲の2次元配列を返す

GASでスプレッドシート範囲の2次元配列を返すには「getDisplayValues()」を利用する。

getDisplayValues()

表示される値の 2 次元配列を返します。インデックスは行、列の順に付けられます。値は String オブジェクトです。表示される値には、日付、時刻、通貨の形式(スプレッドシートの言語 / 地域の設定によって自動的に適用される形式を含む)が考慮されます。空のセルは、配列内の空の文字列で表されます。範囲インデックスは 1, 1 から始まりますが、JavaScript 配列のインデックスは [0][0] から始まることに注意してください。

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

getDisplayValues()を実行することで、

  • スプレッドシートの2次元配列を返す

といった操作が可能です。

スプレッドシートにアラートを表示する場合は、以下記事を御覧ください。

参照記事:【GAS】スプレッドシートに入力ボックスを表示する

スプレッドシートの2次元配列を返すGAS

function onOpen() {
  const ui = SpreadsheetApp.getUi();
  ui.createMenu('Custom Menu')
      .addItem('Show Values', 'getvalue')
      .addToUi();
}

function getvalue() {
  let ss = SpreadsheetApp.getActiveSpreadsheet();
  let sheet = ss.getActiveSheet();
  let lastRow = sheet.getLastRow();
  let lastCol = sheet.getLastColumn();
  
  const values = sheet.getRange(1, 1, lastRow, lastCol).getDisplayValues();
  
  // 1行目と2行目の値を結合
  const firstRow = values[0].join(", "); // 1行目の値を結合
  const secondRow = values[1] ? values[1].join(", ") : "データがありません"; // 2行目の値を結合(存在しない場合の処理)

  // アラートメッセージを作成
  var ui = SpreadsheetApp.getUi();
  ui.alert("1行目は: " + firstRow + "\n2行目は: " + secondRow + "です");
}

getDisplayValues()の戻り値

String[][] - 値の 2 次元配列。

スプレッドシートの2次元配列を返すまとめ

GAS×スプレッドシートの2次元配列を返すならgetDisplayValues()メソッドを利用しましょう。

関連記事:【GAS】スプレッドシートの文字を折り返す

関連記事:【GAS】スプレッドシートの文字の折返しを配列で設定する

関連記事:【GAS】スプレッドシートの文字の折返し方法を設定する

関連記事:【GAS】スプレッドシートの文字を斜めにする

-配列を操作する