GAS if文でチェックボックスの判定方法〜GASでチェックをつける外すには〜
スプレッドシートでチェックボックスはよく使いますよね!
今回は、GASのチェックボックスを判定する方法を解説します。
チェックボックスの判定方法や、GASからチェックボックスを操作する方法を紹介します。
目次(クリックで読みたい部分にジャンプできます)
GASのチェックボックスを判定する方法
GASのチェックボックスはTRUE と FALSEで書かれている
GASのチェックボックスは、選択をすると、FALSE か TRUE が表示されているはずです。
チェックボックスは、TRUEかFALSEにして判定しています。
試しに、FALSEの文字列をTRUEに変えてみます。
すると、チェックが入る表示になりましたね!
GASで判定する
では、GASでチェックボックスを判定しましょう。
判定するときは、簡単です。
セルを選択して、文字列を取得すれば良いそれだけです。
文字列を取得する方法は以下を参考にしてください。
【GAS】配列をスプレッドシートに書き込み、読み取りする方法解説 - プロラブ (abyblog.online)
例えば、以下は「シート2」というシートの、(1,1)セルを取得しています。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シート2");
let value = sheet.getRange(1,1).getValue();
console.log(value);
if(value==true){
//trueの時の処理
}else{
//faleseの時の処理
}
チェックボックスを変更する
では、チェックボックスを変更するときは、どうすれば良いでしょうか。
察しの良い人はもうすでにわかっているかと思いますが、
文字列を代入することで、チェックボックスを変更することができます。
例えば、元がtrueだった場合は、falseにするようなコードの場合
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シート2");
let value = sheet.getRange(1,1).getValue();
console.log(value);
if(value==true){
//trueの時の処理
sheet.getRange(1,1).setValue(false);
}else{
//faleseの時の処理
sheet.getRange(1,1).setValue(true);
}
setValue()を使えば、値を代入することができます。
チェックを入れたい場合
sheet.getRange(1,1).setValue(true);
チェックを外したい場合
sheet.getRange(1,1).setValue(false);
で変更することができます!
チェックボックスでチェックがついていないときは、空白ではない
気をつけて欲しいのが、チェックボックスにチェックがついていない時でも「FALSE」という値が入っています。
そのため、空白であるというわけではありません。
なので、getLastRow() などで、最終業を取得するとチェックボックスの最後を取得することになります。
このように、チェックボックスがあるときに、getLastRowを使う時は注意して使うようにしましょう。
まとめ
今回は、チェックボックスをGASで操作する方法について解説していきました。
チェックボックスをうまく使ってGASを活用していってください!