この記事では、GAS(Google Apps Script)でForループの中でIF文を使って、ある条件に該当するセルの値を取得する方法を掲載しています。
また、その条件とは、「セルに値が入っていない空欄」なので、NOTという演算子を使う書き方を学べます。
とてもシンプルな内容で、対象者は「猫が好きなGAS入門者」です。「ねこあつめアプリ」を題材に記事を書いています。
GASサンプル集に戻る
メインメニューに戻る
これからプログラミングを始める方へ
基本情報技術者へ
自己紹介
まず、前回の復習をします。
このようなスプレッドシートから、A列の「なまえ」で2行目の「へきさにゃん」〜5行目の「とらきち」までログに出力します。
出力結果とコードです。
function myFunction() {
const ss=SpreadsheetApp.getActiveSheet();
let lastRow=ss.getLastRow();//最終行を取得
//ループでねこちゃん達の名前を出力
for(let i=2;i<=lastRow;i++){
console.log(ss.getRange(i,1).getValue());
}
}
今回の内容に入る前に、「ねこあつめ」画像で癒されます(=^x^=)
このコは茶トラのヘキサにゃんです。
では、今回扱うスプレッドシートは、以下の様に用意いたしました。
一番右側の列「入力」の所に何も入っていない猫ちゃんの名前を出力します。
つまりこの例では、「ヘキサにゃん」と「とらきち」が出力されます。
Forループの中にIF文を書いていきます。
イメージは、こんな感じです。
「For
「IF
」
」
「」をブロッック( { } )に見立ててイメージすると分かりやすいかもしれません。
一番右の列が空白だったら、ということは、「セルの中身に何も入っていない」、つまり、言い換えると、
「中身に文字が入っていることの否定」です。
この否定(NOT)は、先頭に「!」をつけて書きます。
いきなり論理演算NOTなんて出てくるとチョットびっくりしちゃいますよね。
ビックリマークなんて出てきたし。
そこで、懐かしのベン図を使って解説致します。
(ビックリマンも懐かしいな・・・。)
赤く塗っているところが「東京都民」です。
NOTを使うために「!」を使うと、東京都民では「ない」人が赤くなります。
「!東京都民」で例えば北海道とか沖縄が該当します。
この例では、「!なんか文字が入っている」→「空欄」を指定しています。
では、1番右の列に何も入っていない、つまり「!なんか入っている」場合に限り、猫ちゃんの名前を出力します。
7行目のIF文にご注目をお願いします。
function myFunction() {
const ss=SpreadsheetApp.getActiveSheet();
let lastRow=ss.getLastRow();//最終行を取得
//ループで入力の列に何も入っていない猫ちゃんたちの名前を出力
for(let i=2;i<=lastRow;i++){
if(!ss.getRange(i,4).getValue()){
console.log(ss.getRange(i,1).getValue());
};
}
}
実行結果です。
これで、「ヘキサにゃん」と「とらきち」が出力されました(=^x^=)
ご精読ありがとにゃん(=^x^=)
参考記事:【初心者向けGAS】条件分岐をするif文の使い方の超基本
■参考文献の紹介■
初めてGASを学ぶ方向け。
スプレッドシートの基本的な使い方からGASのベースとなるJavaScriptの基礎文法、GASでの初歩的なプログラミングを学べます。
GASに少し慣れて来たら、基礎固めとリファレンスとしてこの本を通してじっくり学べます。