• ベストアンサー

エクセルで単語をランダムに抽出する方法

Excel2010を使っております。 セルA1~A10に記入された10個の単語の中からセルC1~C3にランダムに3個の単語を抽出する方法(関数?)を教えてください。 よろしくお願いします。

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

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

A1からA10に =RAND() を記入 B1からB10に 単語 を記入 C1に =VLOOKUP(SMALL(A:A,ROW(C1)),A:B,2,FALSE) と記入、C2、C3にコピー貼り付け。 #VLOOKUPが使いたくないなら A1からA10に 単語 を記入 Z1からZ10に =RAND() を記入(シート2とかどこでも可) C1に =INDEX($A$1:$A$10,MATCH(SMALL($Z$1:$Z$10,ROW(C1)),$Z$1:$Z$10,0)) と記入、C2、C3にコピー貼り付け。

da23
質問者

お礼

ご回答どうもありがとうございます。 Excel関数は全くの初心者なので、少し勉強したのですが、 2番目の関数の「=INDEX(・・・)」の部分がよく分かりません・・・。 INDEXはINDEX(範囲,行番号,列番号)になると読んだのですが、 http://excel.onushi.com/function/f-index.htm ご提示の回答では、INDEX(範囲,MATCH())となっており、 項目が一つ足りないような気がするのですが、なぜでしょうか? すみませんが、初心者なので、よろしくお願いします。

その他の回答 (1)

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.2

C1~C3に抽出されてくる単語に重複があっても良いなら   C1~C3セル:=INDIRECT("A"&RANDBETWEEN(1,10)) C1~C3に抽出されてくる単語に重複が許されないなら、 B1~B3列(じゃなくてもいいのでどこか)に作業セルとして   B1~B3セル:=RAND()   ※鬱陶しかったら、文字色白で消すのも一つの手です。 これを作っておいて、   C1セル:=INDIRECT("A"&RANK(B1,$B$1:$B$3))   C2セル:=INDIRECT("A"&RANK(B2,$B$1:$B$3))   C3セル:=INDIRECT("A"&RANK(B3,$B$1:$B$3)) もちろん、C1だけ打ち込んで、コピー(フィル)でOKです。 こんな感じでも出来ますよ。

da23
質問者

お礼

ご回答どうもありがとうございます。 Excel関数について今勉強しているのですが、 一つ分からないのですが、「"A"&」の部分はどういう意味があるのでしょうか?

関連するQ&A

専門家に質問してみよう