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

getDisplayValues()
表示される値の 2 次元配列を返します。インデックスは行、列の順に付けられます。値は
https://developers.google.com/apps-script/reference/spreadsheet/range?hl=ja#getdisplayvaluesString
オブジェクトです。表示される値には、日付、時刻、通貨の形式(スプレッドシートの言語 / 地域の設定によって自動的に適用される形式を含む)が考慮されます。空のセルは、配列内の空の文字列で表されます。範囲インデックスは1, 1
から始まりますが、JavaScript 配列のインデックスは[0][0]
から始まることに注意してください。
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】スプレッドシートの文字の折返しを配列で設定する