目次
ループ処理を使うと、一気にデータを追加できます。
最初にアクティブシートを取得します。
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)); } }
実行後のシートです。
コメント