GASで簡単実装!配列・セル・文字列の空白判定テクニック
GASで配列やセルの空白をどうやって判定するんだろう?見落としてエラーが出たりして困ってるんだけど…

猫男

catman
ふむ、GASの空白判定についてはcatmanが手助けしよう。簡単に実装できるテクニックを知れば、もうエラーに悩まされることはないさ。
GASにおける空白の基本判定
まず、空白を判定する基本的な方法を理解しておこう。
GASでセルの空白を判定する
GASを使用してスプレッドシートでセルが空白かどうかを判定するには、以下の手順を試してみよう。
function isCellEmpty(sheet, row, column) {
var cellValue = sheet.getRange(row, column).getValue();
return cellValue === '';
}
// 使用例
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var result = isCellEmpty(sheet, 1, 1);
Logger.log(result); // セルが空であれば true、値があれば false を返す
✅ SpreadsheetApp.getActiveSpreadsheet() はアクティブなスプレッドシートを取得する。
– getRange(row, column) は指定した行と列番号のセルを取得する。
– getValue() はそのセルの値を取得し、空白を判定する。
GASで配列の空白を判定する
配列やリスト内に空文字列 (“”) があるかどうかを確認する際の一例だ。
function isArrayEmpty(arr) {
return arr.length === 0 || arr.every(function(element) {
return element === '';
});
}
// 使用例
var array = ['', ''];
var result = isArrayEmpty(array);
Logger.log(result); // 配列が全て空白か、空なら true を返す
✅ arr.every() メソッドは、コールバック関数がすべての要素に対して true を返す場合に true を返す。
文字列の空白を判定する方法
文字列がただの空白であるかを確認する方法も非常に重要だ。
GASで文字列の空白判定
文字列が本当に空白かどうか確認するなら、下記の方法を用いる。
function isStringBlank(str) {
return str.trim() === '';
}
// 使用例
var text = ' ';
var result = isStringBlank(text);
Logger.log(result); // 空白のみの文字列なら true を返す
✅ str.trim() は文字列から前後のホワイトスペースを除去する。
– 結果が空文字列であるかどうかで真偽を判定する。
空白を判定するのは意外と簡単なんだね!これでGASでの空白エラーに備えられるかも。

猫男

catman
そうだろう?GASを活用してもっと賢くプロジェクトを進めるよう、君のスキルを磨いていってほしい。
練習問題:空白判定チャレンジ
ここで理解を深めるための練習問題を用意した。
1. 指定された範囲(例:A1:D4)がすべて空白かどうかを判定する関数を作成しなさい。
2. 複数の単語が入った文字列から、空白の数を数える関数を作成しなさい。
解答・解説
function isRangeEmpty(sheet, rangeA1) {
var range = sheet.getRange(rangeA1);
var values = range.getValues();
for (var i = 0; i < values.length; i++) {
for (var j = 0; j < values[i].length; j++) {
if (values[i][j] !== '') return false;
}
}
return true;
}
// 使用例
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var result1 = isRangeEmpty(sheet, 'A1:D4');
Logger.log(result1); // すべてのセルが空白なら true を返す
function countSpaces(str) {
return (str.split(' ').length - 1);
}
// 使用例
var text = 'GAS は便利 だが 少し 難しい';
var result2 = countSpaces(text);
Logger.log(result2); // 結果は 3
✅ getRange() メソッドを使って範囲を指定し、getValues() でその範囲の値を二次元配列として取得します。
- 文字列の空白を数える際は split() メソッドを利用して空白で分割し、その配列長を利用してカウントします。