Help us understand the problem. What is going on with this article?

GoogleスプレッドシートにGoogle Apps Scriptで乱数を出力する方法(1から10の整数)

More than 3 years have passed since last update.

Excel VBAを勉強していた時に実験用の模擬データとして乱数を出力する方法を勉強しました。それを、いつも使っているGoogleスプレッドシートでも同じことができないかなと思って調べたので、勉強の記録です。

必要なもの

Google Apps ScriptはJavaScriptと同じなので、JSの文法がかなり使えます。なので、
-JSの繰り返し処理(For文)
-Offsetでのセルの移動

などが必要になります。

作ってみたコード

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var i 
  //とりあえずA1からA10までに乱数を出力
  for (i=1;i<10;i++){
    var rand = Math.floor(Math.random()*10)+1;
    // Math.random() は0から0.9999....を出力。
    // Math.floor() は小数点以下を切り捨てる。3.14なら3にという具合。
    ss.getRange('A1').offset(i-1,0).setValue(rand);
    //Offsetでiが増える度にセルを移動
  }
}

補足

1.まずスプレッドシートを指定します。getActiveSpreadsheet()で。
2.Math.random()で0から0.999....の間の任意の乱数を取得します。これを10倍すると0〜9.9999....の間の少数を得ることができます。
3.Math.floor()でMath.random()で取得した乱数の小数点以下を切り捨てます。これにより、0〜9の間の整数の乱数を得ることができます。
4.最後にこれに1を足すことで変数randは1から10の間の乱数になりました。
5.最後にss.getRange('A1').offset(i-1,0).setValue(rand)でi番目のA行のセルにデータをsetValueすることでセルにrandが出力されます。

終わりに

今回は簡単に1から10までの乱数の整数をA1〜A9に出力することにしましたが、これをアレンジすると少数とかもっと大きな数とかいろいろできるかな?

参考リンク

-初心者のためのJavaScript入門(5):JavaScriptで繰り返し処理をしてみよう!
-JavaScriptでランダムの数(乱数)を作る

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした