GASのIF文でセルが「空白なら」「空白でないなら」を判定する方法

2020-09-17

GASのIF文でセルが「空白なら」「空白でないなら」を判定する方法
mono
mono
こんにちは、monoです。

スプレッドシートでGASを使っていると、「セルが空白なら」「セルが空白でないなら」などの条件分岐を使いたい場面ってありますよね。

当記事では「GASでスプレッドシートのセルの空白判定」をする方法について解説します。

GASのIF文で「セルが空白なら」を判定する方法

まずはGASでスプレッドシートの「セルが空白なら」を判定する方法から解説します。

セルの空白を判定する条件式は大きく2つありまして、好きな方を使って構いません。

isBlank()で「セルが空白なら」を判定する場合

1つ目の方法が、Range.isBlank()メソッドを使った方法です。

関数によって、Rangeオブジェクトからセルの空白を判定し、「空白ならTRUE、空白でないならFALSE」を返します。

 command
function myFunction() {
  var mySheet = SpreadsheetApp.getActiveSheet();
  var myRange = mySheet.getRange("A1");
  if(myRange.isBlank()){
    Logger.log("このセルは空白です");
  }else{
    Logger.log("このセルは空白ではありません");
  }
}

セル値で「セルが空白なら」を判定する場合

2つ目の方法が、cellオブジェクトの値を直接見に行って判定する方法です。

直感的に、変数の値が「''」と等しいかを判定すればOKですが、一点だけ、GASの場合は等式の判定が「===」という感じで「=(イコール)」が3つ必要なので、そこだけ注意してください。

 command
function myFunction() {
  var mySheet = SpreadsheetApp.getActiveSheet();
  var myCell = mySheet.getRange("A1").getValue();
  if(myCell === ''){
    Logger.log("このセルは空白です");
  }else{
    Logger.log("このセルは空白ではありません");
  }
}

GASのIF文で「セルが空白でないなら」を判定する方法

次に「セルが空白でないなら」の判定方法ですが、まぁ「セルが空白なら」の反対の条件式にすればOKです。

isBlank()で「空白でないなら」を判定する場合

isBlank()を使って「セルが空白でないなら」を判定するには、「返し値がFALSEと同じ」という条件式にしましょう。

 command
function myFunction() {
  var mySheet = SpreadsheetApp.getActiveSheet();
  var myRange = mySheet.getRange("A1");
  if(myRange.isBlank()===FALSE){
    Logger.log("このセルは空白ではありません");
  }else{
    Logger.log("このセルは空白です");
  }
}

セル値で「セルが空白でないなら」判定する場合

セル値で「セルが空白でないなら」判定する場合は、「!==」という形で、「空白と等しくない」という条件式にすればOKです。

 command
function myFunction() {
  var mySheet = SpreadsheetApp.getActiveSheet();
  var myCell = mySheet.getRange("A1").getValue();
  if(myCell !== ''){
    Logger.log("このセルは空白ではありません");
  }else{
    Logger.log("このセルは空白です");
  }
}

まとめ

今回は「GASでスプレッドシートのセルの空白判定」をする方法について解説しました。

紹介したサンプルコードはコピペしたらそのまま使えますので、よかったら使ってみてください。

では、また。

  • この記事を書いた人

mono

26歳♂️関東在住のサイドFIREを目指すブロガー/座右の銘は「知識は誰にも奪われない」/ゆるく稼いで楽しく暮らすライフハック情報をお届けします/アイコンは黎(クロイ)さん。

スキルを磨く Google Apps Script

© 2021 monoblog