#6GAS入門−ループ処理

GAS

目次

ループ処理を使うと、一気にデータを追加できます。

最初にアクティブシートを取得します。

var sheet = SpreadsheetApp.getActiveSheet();

配列(複数の名前の集合)

次に変数namesに名前の配列を割り当てます。

var names = ['大久保','一橋','西郷','坂本','勝'];

繰り返す回数を変数iで宣言します。

var i;

 シートをさらにします。

  sheet.clear();

ループ処理(for)

ループ(繰り返し)構文を記入します。

ここで100回繰返しますが、それぞれの意味は、

  • i = 1 → 変数iが1から始まり
  • i <= 100 → 変数iが100まで繰り返す
  • i++ → 変数iは1ずつ増えていく
for (i = 1; i <=100; i++) {
    繰返し処理
  }

乱数

for構文の中の繰返し処理は、まず1列目の名前の列

  • sheet.getRange(i, 1) → i行目の1列目のセルを取得
  • setValue → 取得したセルに値をセットする
  • names[] → names配列の何番目[添字]かを指定
  • Math.floor → 切り
  • Math.Random → 0から1未満の乱数を取得
  • names.length → 名前の数を取得(ここでは5)配列の添字は0から始まるので+1は不要です。
sheet.getRange(i, 1).setValue(names[Math.floor(Math.random() * names.length)]);

次に2列目の点数の列

  • sheet.getRange(i, 2) → i行目の2列目のセルを取得
  • setValue → 取得したセルに値をセットする
  • Math.floor → 切り下げ
  • Math.Random → 0から1未満の乱数を取得
  • 101 → 0から100までの乱数は+1で101にすることで得られます。
sheet.getRange(i, 2).setValue(Math.floor(Math.random() * 101));

従って繰返し構文は以下になります。

for (i = 1; i <=100; i++) {
    sheet.getRange(i, 1).setValue(names[Math.floor(Math.random() * names.length)]);
    sheet.getRange(i, 2).setValue(Math.floor(Math.random() * 101));
  }

全体のコードは以下になります。

function initSheet() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var names = ['大久保','一橋','西郷','坂本','勝'];
  var i;
  
  sheet.clear();
  
  for (i = 1; i <=100; i++) {
    sheet.getRange(i, 1).setValue(names[Math.floor(Math.random() * names.length)]);
    sheet.getRange(i, 2).setValue(Math.floor(Math.random() * 101));
  }
}

実行後のシートです。

コメント