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

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

投稿者: nekosiestr

プログラミング学習中のロスジェネ(就職氷河期世代)の発達障害者です。 宜しくお願いします。 趣味で写真を撮っています。 プログラミングは、GAS/HTML/CSS/JavaScript/jQuery/PHP、 発達障害は、自閉症スペクトラムASD/ADHD、その他双極性障害やHSP(5人に1人の繊細さん)などの生きづらさを抱えておりますが、それでも楽しく生きて行きたいです!! 写真は、以前はコンパクトデジカメ、現在は、OLYMPUSミラーレス一眼を使っています。