• ベストアンサー

エクセルのランダム表示について

「B」というシートにある複数のセルの中から、ランダムに1つだけを 抽出し、「A]というシートの指定したセルに表示する。 これを、エクセルのファイルを開くたびに自動的に 行なわれるようにするのは、どのようにすれば 良いのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

Sheet2のA1:A10の中からランダムに1つ表示します =INDEX(Sheet2!A1:A10,RAND()*10+1)

kiriko213
質問者

お礼

ズバリ、回答下さった内容で解決しました。 不十分な質問文から、適切な回答文、すごいですね! 本当にありがとうございました!!

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

>にある複数のセルの中から 1つのシートの1列(A列)の中にある1つのセルと解してよいか? この点で複数列にあると難しさが増す。単数か複数かは、いつも意識すること。 意外に難しいのが、その列のデータ数(上から詰まって入るとして)。Sheet1のA列は今回は数・文字混合としてやってみた ーーー この数が決っているなら、それを明示して質問しては? 例A1:A15とか。 (「ある」とかと、ぼやかさないで書いたらどうか。「特定の」とか表現が好きな人が居るが、質問では出来るだけ変化しないものは、具体的に書いて質問すべきだ。) ーーー RAND関数などの扱いにくさ。 >ファイルを開くたびに自動的に何かが行なわれるようにするのは、一般にはVBAを使わないと無理かもしれない。 ただし (1)RAND、RANDBETWEENはブックを開くたびに再実行されるかもしれない。それは本題につごうがよい。 (2)再計算のF9を押すと値が変わってしまう。 (3)式で使うデータ(例 Sheet1のA列)に変更があると再計算されて、値が変わる (2)(3)をさせないように、セルで、固定した値化するのは操作やVBAが必要とおもう。 ーー 一応 =INDEX(Sheet1!$A2:$A100,randbetween(1,COUNT(Sheet1!$A$2:$A$100))) を作ってみたが、十分自信が無い。質問者の方で十分テスト(おかしなことにならないか見張る)してください。

kiriko213
質問者

お礼

質問内容が不十分で申し訳ありませんでした。 回答下さったことを、試して行きたいと思います。 とても詳しい説明、ありがとうございました。

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

シート2のA1セルからA15セルの間にあるデータを別のシートのあるセルにランダムに表示させるとしたら次のような式を入力します。 =INDEX(Sheet2!A1:A15,RANDBETWEEN(1,15)) F9キーを押すことでデータがランダムに変わりますね。 複数のセルがどんな状態であるのか、セルが連続した状態で並んでいればよいのですが。

kiriko213
質問者

お礼

いろんな方法があるのですね。 自分の勉強不足がとても身に沁みました。 回答、ありがとうございました。