Googleスプレッドシートでは「挿入」>「チェックボックス」を使うことで、簡単にチェックボックスを追加できます。
この記事では、スプレッドシート上のチェックボックスが「ON」かどうかをGoogle Apps Script(GAS)で判定する方法をご紹介します。
目次
Googleスプレッドシートで指定範囲にチェックボックスのチェックがあるかを判定する方法
例えば、以下のようにA1〜H1の範囲にチェックボックスが並んでいたとします。
A1 | B1 | C1 | D1 | E1 | F1 | G1 | H1 |
---|---|---|---|---|---|---|---|
☐ | ☐ | ☐ | ☑ | ☐ | ☐ | ☐ | ☐ |
この範囲のチェックボックスにどれか1つでもチェックが入っているかを判定したいというケースです。

GASで判定する方法
以下のスクリプトを使えば、指定範囲のチェックボックスに対してチェックが入っているかを順番にログに出力できます。
function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet();
var cells = sheet.getRange(1, 1, 1, 8); // A1〜H1
var values = cells.getValues();
for (var i = 0; i < cells.getNumColumns(); i++) {
if (values[0][i] === true) {
Logger.log("列 " + (i+1) + ":チェックがついています");
} else {
Logger.log("列 " + (i+1) + ":チェックがついていません");
}
}
}
応用パターン
チェックが1つでも付いていたら何か処理を実行したい場合は、以下のようにも書けます:
function isChecked() {
var sheet = SpreadsheetApp.getActiveSheet();
var values = sheet.getRange(1, 1, 1, 8).getValues()[0];
var isAnyChecked = values.some(function(value) {
return value === true;
});
if (isAnyChecked) {
Logger.log("少なくとも1つはチェックされています");
} else {
Logger.log("すべて未チェックです");
}
}
- チェックボックスは
true
(ON)/false
(OFF) で判定できます。 .getValues()
で取得した配列に対してfor
やsome()
でチェック状態を確認可能。- 定期的なチェックや通知処理、進捗管理などに応用可能。
まとめ
Googleスプレッドシートでのチェック判定にGASを組み合わせることで、より実用的なシート管理が実現できます。
定期チェックや通知のトリガー処理と組み合わせて、さらに便利に使いこなしましょう!