- ベストアンサー
エクセルで任意の複数列の単語をランダムに組み合わせる方法
- エクセルで登録した複数列の単語をランダムに組み合わせる方法について教えてください。
- また、異なる列の登録数が異なっている場合でも、ランダムな組み合わせにする方法はありますか?
- エクセルに詳しくないため、具体的な手順や関数の使用方法を教えて頂けると助かります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! 複数列でも同様の方法でOKなのですが、 ↓の画像のように作業用の列を作ってみました。 作業列L2セルに =IF(H2="","",RAND()) という数式を入れ、列方向へは4列(O列まで)と、行方向へはデータがなくても構いませんので 下へオートフィルで下へずぃ~~~!っとコピーします。 そして、A2セルに =INDEX($H$2:$K$100,MATCH(MIN(L$2:L$100),L$2:L$100,0),COLUMN(A1)) という数式を入れ、D2セルまでオートフィルでコピーすると 画像のような感じになります。 これでF9キーを押すたびに 全ての列がランダムに表示されると思います。 以上、参考になれば幸いです。m(__)m
その他の回答 (2)
- keithin
- ベストアンサー率66% (5278/7941)
簡易手法で A1に =INDEX(H:H,COUNTA(H:H)*RAND()+1) B1に =INDEX(K:K,COUNTA(K:K)*RAND()+1) C1に =INDEX(N:N,COUNTA(N:N)*RAND()+1) D1に =INDEX(Q:Q,COUNTA(Q:Q)*RAND()+1) とそれぞれ入れて,F9キーを押すごとに単語が差し替わります。
お礼
keithinさま、ご回答ありがとうございます。 この手法でも、作成させていただきました! 他にも応用が利きそうですね。 ありがとうございました。
- kmetu
- ベストアンサー率41% (562/1346)
複数列でも同じですよ。 =VLOOKUP(ROW(A1),$D$2:$E$11,2,0) は D2:E11の中の1列目(D列)で(ROW(A1)はA1行の行数)=1と完全一位するもので2列目(E列)のデータを表示しなさいというものです。 例ではA2には(ROW(A1)=1なので)D列で値が1の行にあるE列のBRIDGEが表示されます 以下A3ではROW(A2)になっているのでD列の値2の行にあるE列のHEARTが表示されてます。 以下同じ考えです。 同じ考えで複数列の表示を考えればいいわけです。 目的語(K列) B列(B2に) =VLOOKUP(ROW(A1),$J$2:$K$11,2,0) となります。
お礼
kmetuさま ご回答ありがとうございます。 関数の文字列の意味を、分かりやすく説明していただき、ありがとうございました。 おかげさまで、間違いを発見できました。
お礼
ご回答ありがとうございます。 tom04さんのこの回答がなかったら、作業列を別にこのようにできるなんて、まったく不可能だったと思います。 ありがとうございました。