【Google Apps Script】条件分岐をするif文
forと同じく、重要な制御構文はifになります。
for文の参考はこちらから閲覧ができます。
if文の使い方
「○○列の値が空文字であれば処理をする」
条件に応じて処理を分岐させたいときにはif文を使います。
例
条件式とは
条件式は「正しいか?」または「正しくないか?」の分岐させる処理です。
==== 等しい
!== 等しくない
< 小さい
<= 以下
>= 以上
> 大きい
なので、例えば「 1 <= 100」はtrueになります。
「100 === 10000」ならばfalseになります。
文字列の判定と否定の論理演算子
○○列の値が「空文字」の場合に、通知したいという場合に使います。
例
空文字、つまり長さがゼロの文字は暗黙的にfalseというルールがあります。
例
注意点
「!」は条件式のの結果を反転する論理演算子と呼ばれる記号です。
「○○ではない!」という意味です。
if文による条件分岐を使ったスクリプト
for文と組み合わせて以下のスクリプトを作成を作成します。
サンプルプログラム
function myFunction() {
//スプレッドシートのID設定
const spId = '[スプレッドシートID]';
//スプレッドシートを取得
let ss = SpreadsheetApp.openById(spId);
sheet = ss.getSheetByName("シート1");
const lastRow = sheet.getLastRow();
for(let i = 1 ; i <= lastRow; i++ ) {
if(!sheet.getRange(i,4).getValue()) {
console.log(sheet.getRange(i,1).getValue());
}
}
}
スプレッドシートのA列にデータを入れてみます
実行を押したあとに、下部の実行ログ「1,2,3,4」が表示されます
スプレッドシートA列の値を「+5」してC列に反映するプログラム
サンプルプログラム
function myFunction() {
//スプレッドシートのID設定
const spId = '[スプレッドシートID]';
//スプレッドシートを取得
let ss = SpreadsheetApp.openById(spId);
sheet = ss.getSheetByName("シート1");
const lastRow = sheet.getLastRow();
for(let i = 1 ; i <= lastRow; i++ ) {
if(!sheet.getRange(i,4).getValue()) {
sheet.getRange(i,3).setValue(sheet.getRange(i,1).getValue()+5);
}
}
}
実行された後のスプレッドシートの値
もっとGoogleAppsScriptを学びたい人はこの本をおすすめします!
この記事が気に入ったらサポートをしてみませんか?