Excelである範囲から適当に単語などを持ってくる
分かりにくいタイトルですが,やりたいことは,
1)Sheet1に問題文として「I have a ( ).」がある.
2)Sheet2のA1~A90に単語が適当においてあるので,A1~A10で1つ,A11~A20から1つ…と言うように,A1~A90から9つの単語を選びたい。
3)正解の単語は,Sheet1のA2に”pen”として入れてあり,A3~A12までに選んだ単語を入れる。
【方法】
・A3に以下を入れる。
=INDIRECT(“Sheet2!A”&INT(RAND()/0.1)+1)
- INDIRECTは,セルの参照を返す
- INTは整数を返す
- RAND()で乱数を発生させて,0.1で割ると0~10の乱数が発生する。0だと困るので,+1をして,必ず1以上が出るようにする。
・A4には以下を入れる(注:10*RAND()の部分は,RAND()/0.1と同じ意味になる)
=INDIRECT(“Sheet!A”&INT(10+(10*RAND())+1)
・A5は20,A6は30を入れていけばよい。
7月5日追記
INTを使うと小数点以下が切り捨てられてしまうので,場合によっては,最大値が出ないことになるので,例えば,round関数を使って,小数点第1位を四捨五入すると良いかもしれない。
=INDIRECT(“選択肢プール!A”&ROUND(11+10*(RAND()),0))
とする