エクセルで表からランダムでセルを抽出したいのですが、
空白がある表になっており、空白を避けて抽出したいです。
INDEXとRANDBETWEENだけでは空白も抽出されてしまいます…

質問者からの補足コメント

  • コメントありがとうございます。
    ある表は一列になります。(A1~A5)
    表にはvlookupで引っ張ってきた文字列が表示されます。
    この時、条件に合わないセルは空白になります。(A1~A5間で約1~2個)

    最初、空白が右側(A5側)にしか表示されないような表だったので
    結果を出したいセルには下記の関数を入れておりました。
    =IFERROR(INDEX(A1:A5,randbetween(1,5-COUNTBLANK(A1:A5))),"")

    ところが、空白セルは点々と発生するようになってしまい、
    この関数が使えなくなってしまいました。

      補足日時:2017/07/14 19:26
  • うーん・・・

    説明が足りずすいません…
    上はわかりやすく説明しようとしただけなので、
    実際の表のデータ数はもう少し多いです。
    まぁ、それでも上記の例えの3~5倍ほどの数ですが。。

      補足日時:2017/07/14 21:00

A 回答 (3件)

》 上はわかりやすく説明しようとしただけ…


ちっとも、分かり易い説明になっていません!

添付図参照
C1: =IFERROR(INDEX(A:A,SMALL(IF(A:A<>"",ROW(A:A),""),ROW(A1))),"")
 ̄ ̄【お断り】上式は必ず配列数式として入力のこと
D1: =IF(C1="","",RAND())
E1: =IF(D1="","",SMALL(D:D,ROW()))
F1: =INDEX(C:C,MATCH(E1,D:D,0))

列Aが「空白がある表」
列Cは、列Aを空白がない表にしたもの
列Fは、列Cをランダムに抽出したもの

ファンクションキー F9 をツンツンしてみてください。
「エクセル INDEXとRANDBETWE」の回答画像3
    • good
    • 1
この回答へのお礼

助かりました

質問も不慣れで、失礼いたしました…。
またご回答ありがとうございます。
とてもわかりやすく、解決致しました!!!
助かりました。
本当にありがとうございます。

お礼日時:2017/07/14 23:37

》 ある表は一列になります。

(A1~A5)
「ランダムでセルを抽出」と仰っていたので、数百行のデータから抽出なんだろうと推測していましたが、僅か5行ですか!「A1~A5間で約1~2個」が空白となると抽出可能なデータは僅か3個!?
INDEX(A1:A5,randbetween(1,3)) だと、連続して同じデータを抽出することもありそうですが、ソンナンで構わないのですか?ランダムと言えそうにないけど。
    • good
    • 0

貴方が考えていた「INDEXとRANDBETWEENだけ」の具体的な方法をお示しください。


それをどのように応用すれば好いかを考えます。
貴方の「空白がある表」が空白だらけでは使い物にならないし、「ある表」が1列(あるいは1行)なら簡単だけど、複数列(行)に亘るものなら難解なものになりそうなので、使い物になりそうな「空白がある表」を例示してみてください。
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング