dポイントプレゼントキャンペーン実施中!

エクセル関数を使って、ランダム抽出をしたいのですが
どの関数を使用すればいいのかわからないのです。

現在、1つのシートにいろいろなデータが入っているのですが、
D列のデータを使い、そのデータをランダムに25件抽出したいのです。

よろしくお願い致します。

A 回答 (4件)

Sheet1にデータが入っているとして、そのD列のデータをSheet2のA列に取り出して操作をすることにします。


関数で取り出すのでしたらSheet2のA1セルに次の式を入力し下方にオートフィルドラッグします。
=Sheet1!D1
B1セルには次の式を入力し下方にオートフィルドラッグします。
=IF(A1="","",RAND())
C1セルには次の式を入力し下方にオートフィルドラッグします。
=IF(A1="","",RANK(B1,B:B))
D1セルには次の式を入力し下方にオートフィルドラッグします。
=IF(OR(COUNTIF(C:C,ROW(A1))=0,ROW(A1)>25),"",INDIRECT("A"&MATCH(ROW(A1),C:C,0)))
これでSheet2のD列にはランダムに抽出されたデータが並ぶことになります。
なお、F9のキーを押すことで抽出操作を繰り返すことができます。
    • good
    • 3

D1:D100にデータがあり、E列に25個取り出すとします。



C1:D100に =RAND() と入れます。
E1:E25に =VLOOKUP(SMALL(C:C,ROW()),C:D,2,FALSE)

これで重複の無い25個が取り出せます。
    • good
    • 2

D1から下に100個のデータが連続してある場合、抽出したい列で


=OFFSET($D$1,INT(RAND()*100),0)
と入れたら、25行目までドラッグして式をコピーしてみてください。
    • good
    • 2

(1)E1に「=RAND()」と入力し、D列の最後の行までコピー


(2)F1に「=RANK(E1,E:E)」と入力し、D列の最後の行までコピー
(3)G1に「=INDEX(D:D,F1,1)」と入力し、G25までコピー

G列にD列のデータが、25個とりだされます。
    • good
    • 3

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!