• 締切済み

エクセルで四択問題をランダムに出題したい。

エクセルで四択問題を作っています。いろいろ教えて貰ってほぼ完成したのですが、出題方法をランダムに処理できればと考えています。できれば、データシートに入力してある問題数をカウントして、その中でのランダム数値発生方法を教えて下さい。

みんなの回答

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

データシートに入力してある問題数をカウントして、その中でのランダム数値発生方法とのことですが、例えばA1セルから下方に問題がいくつかあるとして、B1セルには次の式を入力して下方にオートフィルドラッグすることで、問題数に応じた乱数が表示されませね。 =IF(A1="","",RAND()) そのうちで4問を抽出表示するのであれば例えばC1セルに次の式を入力して下方にオートフィルドラッグすればよいでしょう。 =IF(ROW(A1)>4,"",INDEX(A:B,MATCH(SMALL(B:B,ROW(A1)),B:B,0),1)) この方法では問題数が変化しても、範囲を指定した形でもないため、柔軟に対応できる形となっています。

eisan33
質問者

お礼

早速、関数式を入力してやってみました。 そしたら、見事に4つの問題がランダムに出題されます。 関数の意味はあまりわかりませんが、やるたびに問題の出方が 変更されますので、大変参考になりました。 有り難うございました。お礼が遅れて申し訳ありません。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 色々方法はあるかと思いますが・・・ 一例です。 ↓の画像のようにまず問題を作成した列を作ります。 そして作業用の列D2セルに =RAND() E2セルに =RANK(D2,$D$2:$D$10) という数式を入れ、D2・E2セルを範囲指定し、E2セルのフィルハンドルで下へコピーします。 そして、問題の欄B2セルに =VLOOKUP(ROW(A1),$E$2:$F$10,2,0) という数式を入れ、オートフィルで4行目までコピーしています。 これでF9キーを押すたびに、ランダムに問題1~問題4までが表示されると思います。 以上、参考になれば幸いですが、 他に良い方法があれば読み流してくださいね。m(__)m

eisan33
質問者

お礼

早速入力して試してみました。 F9を押すたびに、問題が見事に変わります。 関数の意味はちょっとわからないところもありますが、 少しずつ勉強して理解できる様に頑張ります。 いろいろな方法があるので、エクセルは奥が深いですね。 有り難うございました。

関連するQ&A