GAS「ねこあつめ」IF文で条件に該当するねこ名を出力する「ねこあつめシリーズ:その4」

この記事では、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に少し慣れて来たら、基礎固めとリファレンスとしてこの本を通してじっくり学べます。

サイトマップはこちらから

GASサンプル集に戻る
メインメニューに戻る
これからプログラミングを始める方へ
基本情報技術者へ
自己紹介

←前に戻るにゃん          次行くにゃっ→

GAS「ねこあつめ」Forループを使って猫たちの名前を取り出す「ねこあつめシリーズ:その3」

この記事では、GAS(Google Apps Script)でForループを使ってセルの値を取得する方法を掲載しています。

とてもシンプルな内容で、対象者は「猫が好きなGAS入門者」です。「ねこあつめアプリ」を題材に記事を書いています。

サイトマップはこちらから

GASサンプル集に戻る
メインメニューに戻る
これからプログラミングを始める方へ
基本情報技術者へ
自己紹介

まず、前回の復習を軽く行います。
このようなスプレッドシートで、セルA1からC3までの範囲を出力するコードを書きました。

function myFunction() {
  const ss=SpreadsheetApp.getActiveSheet();
  const mikke=ss.getRange('A1:C3').getValues(); //←ここをgetValue「s」と複数形に
  console.log(mikke);
}

今回の内容に入る前に、ねこあつめ画像で癒されます。

では、今回の内容に入ります。
スプレッドシートの「ねこあつめ」のおともだちに、新しいコ達を追加しました。

一番左にあるA列の最初の行はタイトルですが、その下は、

「2行目 ヘキサにゃん」
「3行目 みっけ」
「4行目 サビガー」
「5行目 とらきち」

となっています。
この2行目から5行目までの猫たちの名前をForループを使って取り出します。

最終行5行目は、今後新しいねこ仲間達を追加しても使えるように、最終行を、

lastRow=ss.getLastRow();

と書いて取得しています。
このスプレッドシートが5行なので「5」が求まります。

function myFunction() {
  const ss=SpreadsheetApp.getActiveSheet();
  let lastRow=ss.getLastRow();//最終行を取得
  console.log(lastRow);  //取得した行をログ表示
}

何かの処理をしたらすぐにログ出力をする癖を付けておくと、エラーに太刀打ち出来るねこさんに慣れるかもしれません。

では、いよいよループに入ります。

ループは

「初期値 ; どこまでおっきくするか ; 増分」

「初期値 ; どこまでちっちゃくするか ; 減り分」

などと書くので、この場合は、
「2;最後の行;1」
となり、
「2から始める:最後の行まで:1行ずつ増える」
と読み替えられれます。

この時行を、「2行目」、「3行目」、「4行目」、「5行目」と1行ずつ増やしていくのに使う変数に、慣習的に「i」などの変数を使います。

Aやbでもよくね、って思われる方もいらっしゃると思いますが、これは他の言語でも同じようにiなど使うので、これが出て来たら「ループなんだな」って押さえておくと宜しいかと思います。

では、コードを書いていきます。
(先程のlastRow=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^=)

ご精読ありがとにゃん(=^x^=)

参考記事:【初心者向けGAS】for文を使ったスプレッドシートの繰り返しの超基本

■参考文献の紹介■
初めてGASを学ぶ方向け。
スプレッドシートの基本的な使い方からGASのベースとなるJavaScriptの基礎文法、GASでの初歩的なプログラミングを学べます。

GASに少し慣れて来たら、基礎固めとリファレンスとしてこの本を通してじっくり学べます。

サイトマップはこちらから

GASサンプル集に戻る
メインメニューに戻る
これからプログラミングを始める方へ
基本情報技術者へ
自己紹介

←前に戻るにゃん 次行くにゃん→

GAS「ねこあつめ」でセルを選択して出力する「ねこあつめシリーズ:その2」

この記事では、GAS(Google Apps Script)でセルの値を取得する方法を掲載しています。

とてもシンプルな内容で、対象者は「猫が好きなGAS入門者」です。「ねこあつめアプリ」を題材に記事を書いています。

サイトマップはこちらから

GASサンプル集に戻る
メインメニューに戻る
これからプログラミングを始める方へ
基本情報技術者へ
自己紹介

簡易的ですが、「ねこあつめ」のキャラクター紹介の紹介をスプレッドシートで作りました。


このシートのA3のセル(みっけ)を出力してみます。

function myFunction() {
  const ss=SpreadsheetApp.getActiveSheet();
  const mikke=ss.getRange('A3').getValue();
  console.log(mikke);
}

1行目で、SpreadsheetAppから階層を辿ってアクティブシートにアクセスしています。
2行目で、mikkeにセル「A3」の内容を入れています。
3行目で、ログ出力しています。

では、実行してみます。

この「’A3’」の所を、(3,1)としても同じ結果が得られます。
(行,列)の書き方になっているのでご注意を!
あと、この場合は「’ ‘」のシングルクォーテーションは使わないです。

function myFunction() {
  const ss=SpreadsheetApp.getActiveSheet();
  const mikke=ss.getRange(3,1).getValue();
  console.log(mikke);
}

セル(3,1)と書いていて、この書き方をするとこの記事以降の記事で使うループなどで便利です。

では、次に複数のセルを含む範囲で作ってみます。
この表のセルA1からC3まで取得してみます。

function myFunction() {
  const ss=SpreadsheetApp.getActiveSheet();
  const mikke=ss.getRange('A1:C3').getValue();
  console.log(mikke);
}

実行してみます。

「最初のセルのみ」しか読み込めませんでした。

今度は「セルA1:C3」の指定した範囲全てを読み込める様に致します。
4行目を「getValues」にしてみます。

function myFunction() {
  const ss=SpreadsheetApp.getActiveSheet();
  const mikke=ss.getRange('A1:C3').getValues(); //←ここをgetValue「s」と複数形に
  console.log(mikke);
}

実行すると・・・。

このように出力されました。

よく見ると、[[‘A1′,’B1′,’C1’],[‘A2′,’B2′,’C2’],[‘A3′,’B3′,’C3’]]と、
二次元配列になっています。

ご精読ありがとうございました。

参考記事:【初心者向けGAS】スプレッドシートのセル・セル範囲とその値を取得する方法

■参考文献の紹介■
初めてGASを学ぶ方向け。
スプレッドシートの基本的な使い方からGASのベースとなるJavaScriptの基礎文法、GASでの初歩的なプログラミングを学べます。

GASに少し慣れて来たら、基礎固めとリファレンスとしてこの本を通してじっくり学べます。

サイトマップはこちらから

GASサンプル集に戻る
メインメニューに戻る
これからプログラミングを始める方へ
基本情報技術者へ
自己紹介

←前に戻るにゃん          次行くにゃん♪→

GAS(Google Apps Script)「ねこあつめ」で文字出力と簡単な計算を作ってみた。「ねこあつめシリーズ:その1」

この記事を読む事によって、GASが本当に初めての方でも、文字出力と簡単な足し算の計算結果を表示させることが可能になります。
具体例として、「ねこあつめ」を例にしています。
これからGASの勉強を始める猫好きさん、ねこあつめアプリをお使いの方にはお楽しみ頂けると思います。

サイトマップはこちらから

GASサンプル集に戻る
メインメニューに戻る
これからプログラミングを始める方へ
基本情報技術者へ
自己紹介

コードを書く準備として、Googleドライブからスプレッドシートを追加します。
スプレッドシートは「新規」を押すと選択できます。

コードを書くエディタは、スプレッドシートのメニュー「拡張機能」から、Apps Scriptを選びます。

すると、このようなエディタが出てくるので、ここにコードを書いていきます。


まずは、「ねこあつめ」と表示するコードを早速書いていきます。

function myFunction() {
  console.log('ねこあつめ');
}

[Ctrl]+[S]で保存した後、[Ctrl]+[R] (Macでは[Command]+[R])で実行します。

実行結果です。

では、変数を使って、ここから計算をしてみます。
ねこあつめのねこたちの「せんとうりょく」の値を使います。

茶トラ猫の「ちゃとらさん」に、私は「ヘキサにゃん」という名前を付けました。
ヘキサにゃんの「せんとうりょく」は150です。

しまミケ猫さんに「しまみん」と名前を付けました。
「しまみん」の「せんとうりょく」は40です。
このヘキサにゃん(茶トラくん)としまみん(シマ三毛ちゃん)の戦闘力を足すと150+40=190になります。

function myFunction() {

  console.log('ねこあつめ');

  let chatora = 150, shimamike = 40;
  console.log(chatora + shimamike);
}

実行結果です。

これをもう少し、日本語の体裁を整えて書きます。
文字列を囲むときは、シングルクォーテーションではなく、「`」(@のキーをシフトで押す)で囲い、数字を文字列の中に埋め込むには、${数字}と入力します。

function myFunction() {

  console.log('ねこあつめ');

  let chatora = 150, shimamike = 40;
  let goukei=chatora+shimamike;

  console.log(`茶とらくん「${chatora}」 +しまみけちゃん「${shimamike}」の「せんとうりょく」の合計は「${goukei}」です。`);
}

実行結果です。

最後に、メッセージボックスの表示をします。
コードを追記します。

function myFunction() {

  console.log('ねこあつめ');

  let chatora = 150, shimamike = 40;
  let goukei=chatora+shimamike;

  console.log(`茶とらくん「${chatora}」 +しまみけちゃん「${shimamike}」の「せんとうりょく」の合計は「${goukei}」です。`);

  Browser.msgBox('ねこあつめ');

}

下記の処理で、「このアプリは確認されていません」と表示されてしまった場合は、こちらから解決可能です。

実行して、スプレッドシートに切り替えると、下記のようなボックスが表示されます。

「OK」でボックスを閉じます。

ご精読ありがとうございました。

■参考文献の紹介■
初めてGASを学ぶ方向け。
スプレッドシートの基本的な使い方からGASのベースとなるJavaScriptの基礎文法、GASでの初歩的なプログラミングを学べます。

GASに少し慣れて来たら、基礎固めとリファレンスとしてこの本を通してじっくり学べます。

サイトマップはこちらから

GASサンプル集に戻る
メインメニューに戻る
これからプログラミングを始める方へ
基本情報技術者へ
自己紹介

                         次へ行くにゃん→

初めてのGAS(Google Apps Script)自作などのサンプル集、動画と書籍の紹介

このコーナーでは、Googleの様々なサービスを連携して開発出来るプログラミング言語、GAS(Google Apps Script グーグル アップス スクリプト)で、簡単な自作サンプルなどを掲載して、学習のアウトプットをしています。

自作の他に、GASの先人の方のWebで公開されている教材を、自分なりに初心者目線で作ってアウトプットしています。

自分の学習を通して、どなたかのお役に立てればと思い、ブログにまとめることに致しました。

また、オススメのサイトや動画や書籍なども紹介しております。
※ 私はサイトや動画、書籍を紹介しているだけのただの一視聴者であり、投稿者の方とは面識がございません。

いつも隣にITのお仕事」様のブログで自習して自分の環境で動かしたコードも掲載しています。

■ 使用教材 ■

・ウェブサイト
【保存版】初心者向け実務で使えるGoogle Apps Script完全マニュアル


・書籍
上記のサイトの方の記事がわかりやすいので、同じ方の書籍を購入しました。絶賛、ガリ勉中!!!(=^x^=)mm。。。

■ スプレッドシートとGASにまずは慣れる ■

ハンターハンターで学ぶ、「とりあえず、スプレッドシートとGASプログラミングで関数・グラフの基礎の基礎が分かるようなる」コースです。

episode1 「セル操作で入力と消去」

episode2 「文字入力と消去をボタン操作で行う」

episode3 「範囲を指定してまとめて入力(二次元配列は団地だ!)」

episode4 「ヒソカチェックで、IFとループを一気に学ぶ」

episode5 「指定したセル範囲のフォントを変える」

episode6 「指定したセル範囲に色を付ける」

episode7 「キャラの身長で演算(平均・条件に該当する数のカウント)」

episode8 (最終回)「キャラの身長をシンプルなグラフ化する」

■ 学習コンテンツpaizaラーニングのレベルアップ問題集をPythonとGASで解いてみたサンプル集■

PythonとGASでpaizaレベルアップ問題集を解いてみた集


■ スプレッドシートとGASに慣れてきたら、GASでChatworkにメッセージを送って見る ■

「ねこあつめその1」文字の表示と簡単な計算


「ねこあつめその2」セルを選択して出力する

「ねこあつめその3」Forループを使って猫たちの名前を取り出す


「ねこあつめその4」IF文で条件に該当するねこ名を出力する

「ねこあつめその5」出力したセルに処理済み「済」を出力する

「ねこあつめその6」ループに制御を加えて一つずつ出力する

「ねこあつめその7」の行の範囲を取得する

「ねこあつめその8」の右端の列をクリアする

「ねこあつめその9」Chatworkを使う前にIT用語学習

「ねこあつめその10」GASで「Chatwork」を使ってみる。


「ねこあつめその11」GASで「Chatwork」に送る(=^x^=)mm

「ねこあつめその12」GASでChatworkに「トリガー」で時限式に送る

「ねこあつめシリーズその13」GASで「ねこあつめ」ChatworkのAPIトークンにプロパティストアを使って格納する

「ねこあつめシリーズその14」GASで「ねこあつめ」のデータをChatworkに送信にながら配列に慣れていく

「ねこあつめシリーズその15」Chatworkに送るメッセージを装飾する

「ねこあつめシリーズその16」ドキュメンテーションコメントを追加(最終回)

■ オオタニサン!! ■

スプレッドシートの二次元配列の取り扱いに慣れてきたら、メジャーリーガー、エンジェルスの二刀流、大谷翔平さんが高校時代にドラフト1位8球団から取得するのに使った、マンダラシートを作ってみる

大谷翔平の目標シート

◆フォーム作成の学習ノート◆

<ねこフォーム1>「ねこあつめ親睦会」のフォームを作ってみる

<ねこフォーム2>GASで作成したフォームを指定のフォルダに格納する

<ねこフォーム3>GASで作成したフォームに「ねこあつめ」の「おなまえ」と「あそんだグッズ」を追加する

<ねこフォーム4>ねこあつめフォームに「メールアドレス」を追加する

<ねこフォーム5>ねこあつめフォームに「ラジオボタン」を追加する

<ねこフォーム6>ねこあつめフォームに「チェックボックス」を追加する

<ねこフォーム7>ねこあつめフォームに「プルダウンリスト」を追加する

<ねこフォーム8>ねこあつめフォームに「スケールアイテム」と「パラグラフテキストアイテム」を追加する

◆ フォーム実践編 ◆

<ねこフォーム実践編1>就職セミナーアンケート


<ねこフォーム実践編2>プログラミング学習アンケート

<ねこフォーム実践編3>「就職氷河期世代&大人の発達障害」読者アンケート

■ Gmail ■

メール定型文を下書きへGo!!

■お役立ち動画の紹介■
(準備中)

■参考文献の紹介■
初めてGASを学ぶ方向け。
スプレッドシートの基本的な使い方からGASのベースとなるJavaScriptの基礎文法、GASでの初歩的なプログラミングを学べます。

GASに少し慣れて来たら、基礎固めとリファレンスとしてこの本でじっくり学べます。

実務に役立つサンプルを作りながらGASを体感出来る本です。

一通り基礎が身についた上での中級レベルでありながら基礎文法や実務で実用的なツールのスクリプトが学べる本です。
GASを極めたい方にオススメです。

プログラミングのアンケートにご協力頂ける方はこちらのフォームで勉強法など色々と教えて下さい。

サイトマップはこちらから

■ 関連記事 ■

自己紹介
コロナ禍、アフターコロナの働き方(Googleが提供するツール)
スプレッドシート
フォーム
カレンダー
 
メインメニューに戻る