セル範囲を操作する

【GAS】スプレッドシートのチェックボックスがチェック済みか確認する

GASでスプレッドシートのチェックボックスがチェック済みか確認するるには「isChecked()」を利用する。

isChecked()

範囲内のすべてのセルのチェックボックス状態が 'checked' であるかどうかを返します。一部のセルがオンになっていて、他のセルはオフになっている場合、または一部のセルにチェックボックス データ検証がない場合、null を返します。

https://developers.google.com/apps-script/reference/spreadsheet/range#ischecked

スプレッドシートのチェックボックスがチェック済みか確認するるGAS実行の様子

isChecked()メソッドを利用して、スプレッドシートのチェックボックスがチェック済みか確認するるGASを実行してみました。

isChecked()
isChecked()を実行した様子

isChecked()を実行することで

チェックボックスを設置したセルへ

  • yesを記入することでチェックボックスに✓が入る
  • といった仕様にすることができます。

チェックボックスに✓が入っていたら、yesの値が取得・確認できるという流れですね。

スプレッドシートにチェックボックスを挿入する場合は、以下記事を御覧ください。

参照記事:【GAS】スプレッドシートにチェックボックスを挿入する

スプレッドシートのチェックボックスがチェック済みか確認するるGAS

function ischeck(){
  //SpreadsheetAppを起動
  let ss = SpreadsheetApp.getActiveSpreadsheet();
  //0番目のシートを取得
  let sht = ss.getSheets()[0];
  //シートをクリア
  sht.clear();
 //10行コンテンツを挿入
  for(var i=1;i<=10;i++){
    const val = [
      [i,"Spreadsheetblue"]
    ];
    sht.getRange(i,1,1,2).setValues(val);
  }
  //チェックボックス作成の有無を確認
 const yesno = Browser.msgBox("C列に✓ボックスを設け、奇数行に値となるyesを入力しますか?",Browser.Buttons.YES_NO);
 //YESだったら
  if(yesno=="yes"){
  //CheckBoxをコンテンツの最右端に設置して、yes・noの値を設置
    const lastrw = sht.getLastRow();
    const lastcl = sht.getLastColumn();
    const first = sht.getRange(1,lastcl+1).getA1Notation();
    const end = sht.getRange(lastrw,lastcl+1).getA1Notation();
    const rng01 = sht.getRange(first+":"+end);
    rng01.insertCheckboxes('yes','no'); //yesなら✓が入る・noならnull
   //奇数行のみに値yesを設置
    for(i=1;i<=10;i=i+2){
      const cell1 = sht.getRange(i,lastcl+1);
      const cell2 = sht.getRange(i,lastcl+2);
      cell1.setValue('yes');
      //■isCheckedでyesの値があるセルのチェックボックスに✓を付与
      cell1.isChecked();
      cell2.setValue("←値yesを設置しました");
    }
     //✓付与した旨を掲載
     Browser.msgBox("C列の奇数行セルに値'yes'を入れました");
    }else{
      //作業中止の旨を掲載
      Browser.megBox("作業を中止しました");
  }
}

isChecked()の戻り値

Boolean - true: 範囲内のすべてのセルがオンになっている場合は true、範囲内のすべてのセルがチェックされていない場合は false、いずれかのセルがオフにされているかチェックボックス データの検証がない場合は null が設定されます。

スプレッドシートのチェックボックスがチェック済みか確認するるまとめ

GAS×スプレッドシートのチェックボックスがチェック済みか確認するるならisChecked()メソッドを利用しましょう。

関連記事:【GAS】スプレッドシートにチェックボックスを挿入する

関連記事:【GAS】スプレッドシートの空白セルを判定する

関連記事:【GAS】スプレッドシートに複数行を挿入する

関連記事:【GAS】スプレッドシートの指定行の後ろに複数行を追加する

関連記事:【GAS】スプレッドシートの指定行の前に複数行を追加する

-セル範囲を操作する