Google Apps Script for文でセルの値を取得する

Google Apps Script

こんにちは、ばばーるです。

スポンサーリンク

前回のおさらい

前回は指定されたセルの範囲にアクセスする方法の4つをご紹介しました。

  1. getRange(Integer row, Integer column): 指定のセルを返す。
  2. getRange(Integer row, Integer column, Integer numRows): 指定のセルから指定した行数のセルの範囲を返す。
  3. getRange(Integer row, Integer column, Integer numRows, Integer numColumns): 指定のセルから指定した行数と列数のセルの範囲を返す。
  4. getRange(String a1Notation): A1とかA1:C3のスプレッドシートの表記で指定された範囲を返します。

今回はその範囲を取得するのにfor文とその使用方法をご紹介します。

for文とはどんな感じ?

for文は以下のスタイルで実行する式を回します。

for(初期値; 条件式; 変化式){
 実行する式
}

たぬきさん
たぬきさん

この説明では分かりません。

GAS
GAS

(なぜ急に敬語?)

実際に使ってみよう。

例えば、以下の様なスプレッドシートがあったとします。

今からスプレッドシートにアクセスしてセルA1、A2、A3の値をログ出力します。

function myFunction() {
  const ss=SpreadsheetApp.getActiveSheet();       //1行目
  const Lr=ss.getLastRow();              //2行目
  const values=ss.getRange(1,1,Lr,1).getValues(); //3行目
  
  for(let i=0;i<Lr;i++){                          //4行目
    Logger.log(values[i][0]);                     //5行目
  }                                               //6行目
}

1行目:SpreadsheetApp.getActiveSheet()でアクティブなスプレッドシートを取得する。
2行目:getLastRow()でスプレッドシート上の現在データ行数(3)を取得する。
3行目:getRange().getValues()で範囲を指定してセルの値を取得する。getRangeでは1行目、1列目のセル(A1)から範囲が始まり、3行(Lr)、1列を指定している。
4行目:i=0 iの初期値を0に設定する。
    i<Lr for文が何回繰り返されるかを設定する。今回はLrまで繰り返す。
    i++ iを1ずつ増加させる。
5行目: セル(1行、1列、3行分、1列分)のデータをiが0から2になるまで、ログ出力する。

たぬきさん
たぬきさん

う〜ん。

説明を読んだだけではわからん。

GAS
GAS

スクリプトを実行して、もう一度説明文を読んでみて。

実行してみましょう。実行すると以下の様なログが出力されます。

たぬきさん
たぬきさん

あっ!混乱している箇所がわかった!!!

セルのLrとはは1から数えはじめているのに、

ログ出力するときは0から数えはじめているところだ。

GAS
GAS

そうそう。

スプレッドシートのセルは1から数え始めるけど

配列は0から数えはじめるよ。

たぬきさん
たぬきさん

ん?

配列ってなあに?

GAS
GAS

次回は配列について説明しよう。

大丈夫。そんなに難しくないよ。

たぬきさん
たぬきさん

はい。

(不安だ…。)

まとめ

今回はfor文でセルの値を取得する方法をご紹介しました。

for(初期値; 条件式; 変化式){
 実行する式
}

for文の例文:i=0からLr(3行目まで)iを1ずつ増加させて、ログ出力を繰り返す。

for(let i=0;i<Lr;i++){                    //4行目
  Logger.log(values[i][0]);               //5行目
}                                         //6行目

次回は配列とgetValue(s)をご紹介します。

コメント

  1. […] Google Apps Script for文でセルの値を取得するfor文は反復処理を行うための構文… […]

  2. […] Google Apps Script for文でセルの値を取得するfor文は反復処理を行うための構文… Google Apps Script スプレッドシートのシートにアクセスする方法スプレッドシートのシートにアクセスする方法をご紹介します。 getActiveSheet(): アクティブなシートへアクセスできる getSheetByName(name): シートnameへアクセスできる getSheets(): シートの番号からアクセスするideallifebody.com2020.11.29 […]

  3. […] Google Apps Script for文でセルの値を取得するfor文は反復処理を行うための構文… Google Apps Script スポンサーリンク シェアする Twitter Facebook はてブ Pocket LINE コピー ばばーるをフォローする ばばーる Google Apps Scriptでできること […]

タイトルとURLをコピーしました