スプレッドシートでGASを使っていると、「セルが空白なら」「セルが空白でないなら」などの条件分岐を使いたい場面ってありますよね。
当記事では「GASでスプレッドシートのセルの空白判定」をする方法について解説します。
GASのIF文で「セルが空白なら」を判定する方法
まずはGASでスプレッドシートの「セルが空白なら」を判定する方法から解説します。
セルの空白を判定する条件式は大きく2つありまして、好きな方を使って構いません。
isBlank()で「セルが空白なら」を判定する場合
1つ目の方法が、Range.isBlank()メソッドを使った方法です。
関数によって、Rangeオブジェクトからセルの空白を判定し、「空白ならTRUE、空白でないならFALSE」を返します。
function myFunction() {
var mySheet = SpreadsheetApp.getActiveSheet();
var myRange = mySheet.getRange("A1");
if(myRange.isBlank()){
Logger.log("このセルは空白です");
}else{
Logger.log("このセルは空白ではありません");
}
}
セル値で「セルが空白なら」を判定する場合
2つ目の方法が、cellオブジェクトの値を直接見に行って判定する方法です。
直感的に、変数の値が「''」と等しいかを判定すればOKですが、一点だけ、GASの場合は等式の判定が「===」という感じで「=(イコール)」が3つ必要なので、そこだけ注意してください。
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と同じ」という条件式にしましょう。
function myFunction() {
var mySheet = SpreadsheetApp.getActiveSheet();
var myRange = mySheet.getRange("A1");
if(myRange.isBlank()===FALSE){
Logger.log("このセルは空白ではありません");
}else{
Logger.log("このセルは空白です");
}
}
セル値で「セルが空白でないなら」判定する場合
セル値で「セルが空白でないなら」判定する場合は、「!==」という形で、「空白と等しくない」という条件式にすればOKです。
function myFunction() {
var mySheet = SpreadsheetApp.getActiveSheet();
var myCell = mySheet.getRange("A1").getValue();
if(myCell !== ''){
Logger.log("このセルは空白ではありません");
}else{
Logger.log("このセルは空白です");
}
}
まとめ
今回は「GASでスプレッドシートのセルの空白判定」をする方法について解説しました。
紹介したサンプルコードはコピペしたらそのまま使えますので、よかったら使ってみてください。
では、また。