GAS スプレッドシートの値と数式/関数の両方取得し2次元配列化
- JavaScript -
2024.04.30
Google Apps Scriptで、スプレッドシートのシートの特定範囲から、
[[ 1, 2, "=SUM(A1, B1)"], [ 3, 4, "=SUM(A2, B2)"], [ 5, 6, "=SUM(A3, B3)"]...]
のように「値」と「数式/関数」の両方をセルの並びと一致する形で2次元配列で取得するコードをコピペ用にメモしておきます。
意外と、これを一度でキレイに取る方法がない(ような)ので...。
Google Apps Script スプレッドシートの値と数式/関数両方を2次元配列で取得する
以下、特定シートの全範囲を対象として取得する場合の例です。
sheetNameとrangeは適宜、修正してください。
Google Apps Scriptfunction getAllValuesAndFormulas() {
let sheetName = 'シート名';
let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
let range = sheet.getDataRange();
let valuesAndFormulasArray = range.getValues();
range.getFormulas().forEach((row, rowIndex) => {
row.forEach((formula, colIndex) => {
if (formula !== "") {
valuesAndFormulasArray[rowIndex][colIndex] = formula;
}
});
});
Logger.log(valuesAndFormulasArray);
}