エクセルで任意の複数列の単語をランダムに組み合わせる方法

このQ&Aのポイント
  • エクセルで登録した複数列の単語をランダムに組み合わせる方法について教えてください。
  • また、異なる列の登録数が異なっている場合でも、ランダムな組み合わせにする方法はありますか?
  • エクセルに詳しくないため、具体的な手順や関数の使用方法を教えて頂けると助かります。
回答を見る
  • ベストアンサー

エクセルで任意の複数列の単語をランダムに組み合わせる方法

エクセルで任意の複数列の単語をランダムに組み合わせる方法 エクセルで、登録した単語をランダムに表示させ、文章をつくるようにしたい場合どうすればいいでしょうか? 例えば、単語の種類を「主語(H列)、目的語(K列)、補語(N列)、述語(Q列)」などとして、 A列にH列の単語、B列にK列の単語、C列にN列の単語、D列にQ列の単語をそれぞれランダムな順に表示して、文章を作る・・・といった風にするには、どうしたらいいでしょうか? http://questionbox.jp.msn.com/qa5488229.html ここで書かれていた例を元に、上に書いたように(それぞれHKNQ列の前2行は作業列としました)自己流でやってみたのですが、VLOOKUP関数が全然わからないし、例では1列の単語のみを対象にしてたので、やっぱり複数列を表示するには全然違う方法になるのでしょうか? また、できれば、各列、登録数が同じでなくても、大丈夫なようにする方法(少ない登録数のところは重複して単語が表示されたり)は可能なのでしょうか? エクセルもあまりわかってないのですが、ご存知の方、 どうぞよろしくお願いします。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.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

tmk000
質問者

お礼

ご回答ありがとうございます。 tom04さんのこの回答がなかったら、作業列を別にこのようにできるなんて、まったく不可能だったと思います。 ありがとうございました。

その他の回答 (2)

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

簡易手法で 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キーを押すごとに単語が差し替わります。

tmk000
質問者

お礼

keithinさま、ご回答ありがとうございます。 この手法でも、作成させていただきました! 他にも応用が利きそうですね。 ありがとうございました。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

複数列でも同じですよ。 =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) となります。

tmk000
質問者

お礼

kmetuさま ご回答ありがとうございます。 関数の文字列の意味を、分かりやすく説明していただき、ありがとうございました。 おかげさまで、間違いを発見できました。

関連するQ&A

  • エクセルで任意の単語をランダムに組み合わせる方法を教えてください

    エクセルで任意の単語をランダムに組み合わせる方法を教えてください。 また、同様のフリーソフト、オンラインプログラムがありましたら教えてください。

  • 複数行・列からランダムに抽出する方法

    はじめまして。 添付図のように、10個の文節(B列~K列)からそれぞれ1つをランダムに抽出し、 それら10文節を接続して、毎回違った文章を出力したいと考えています。 10文節をランダムに結合した文章は、L列に100個以上、出力したいのですが、 どのような方法で実現可能かご教授いただけませんでしょうか。 ★最終的にL列には、 (1)私は来年・・・休みました。 (2)僕は昨日・・・家にいました。 ・・・ のように、異なる文章を多数出力したいのですが方法をご教授頂けませんでしょうか? 以上、よろしくお願い致します。

  • ランダムなアルファベットの文字列を覚える方法

    ランダムな数字の文字列を覚える方法だったら、 ネットで検索すれば、たくさん出てきますが、 ランダムなアルファベットの文字列を覚える方法は、 ネットで検索しても、出て来ない気がします。 ランダムなアルファベットの文字列を覚える方法は、 何か、ありませんか? そして、こういうことを、調べるには、 ネットで、どういうキーワードで、検索すれば、いいですか? 但し、英単語を覚えたいわけでは、ありません。 あくまでも、ランダムな文字列を、覚えたいのです。

  • エクセルで複数文字を結合してランダムに抽出したい

    よろしくお願いします。 エクセルで複数の単語をランダムに組み合わせて、 なおかつ重複がないように表示させる方法を教えて頂けないでしょうか? 例)   A  B   C     D 1 父  は おはよう  と言った 2 母  が おやすみ  と言う 3 兄  と こんにちは と言わなくてはいけない 4 姉  へ さようなら と言おうか迷っている 5 妹  に こんばんは と言おう ランダムで以下の様に表記 父がさようならと言う 兄はおはようと言おうか迷っている 母とこんばんはと言おう 妹へおやすみと言った 姉にこんにちはと言わなくてはいけない 父とおやすみと言おう よろしくお願いします。

  • 文字列のランダム表示のVBA(エクセル)

    A1をダブルクリックすると、A1に7つの文字列がランダムに表示される。 追加条件として、先頭の文字は"a""c""f""h""k""9"に限定される。 2文字目から最後の文字までは、"0""1""2""5""6""7""8""x"に限定される。 例として、 f010156 a666082 k702x15 9xx7587 上記のVBAを教えていただきたいのですが。 よろしくお願いいたします。

  • 単語を登録してランダムに表示してくれるソフト

    単語を登録してランダムに表示してくれるソフト PCで単語の暗記をしようと思っています。 訳を登録するのが面倒なので、単語だけを登録してとにかくランダムに表示してくれるようなソフトを探しています。 このような使い方が出来るフリーソフトを是非教えてください。

  • EXCELシートの列の条件抽出方法

    EXCELシートの列に、YとNがランダムに記載されているのですが、Yのみを表示させるにはどうしたらよいでしょうか?

  • JavaScript、単語をランダムに表示させる

    こんにちは。JavaScript分かる方、回答お願いします。 JavaScriptで、ボタンを押すと、テキストボックスに単語がランダムに表示されるものを作りたいです。 同じページに二つ作りたいです。 それぞれのボックスの単語は、別々に登録させたものをランダム表示したいです。 (たとえば、画像の「ランダム単語1」には、犬、猫、猿の中からランダムで表示。 「ランダム単語2」には、花、木、草の中からランダムで表示) 私は、HTML,CSSの知識が少しあり、JavaScriptは少しだけ昔に教わりました (JavaScriptはあまり理解できなかったですが、思い出したい&もう一度チャレンジしたいので!)。 どのように書けばいいか教えて下さい。よろしくお願いします!

  • エクセルのランダム抽出について・・・

    エクセルのランダム抽出に付いて教えてください。 A列に1000人の名前が並んでいます。 これをB列に5~8名程度をランダムに表示させるやり方が 知りたいです。 できたらボタンをつけてそれを押すたびにB列の表示が ランダムに変わるやり方がわかると大変助かります。 もしごぞんじのかたがおりましたらぜひともご教授 くださいませm(__)m

  • エクセルで 任意の単語を重複なしで抽出したい

    エクセルに入力した単語の行 ※(例えば G行2列から G行101列までの100個) の中から 5つの単語をランダムに出力したい  ※(例えば A2 B2 C2 D2 E2 へ) ・ここで おなじ列の中では 単語の重複を避けたい ・出力は A2 B2 C2 D2 E2  、 A3 B3 C3 D3 E3、、、、、、、、、、  と、任意の量にふやしたい エクセルにまだ詳しくないので、少し優しめに解答もらえると嬉しいです よろしくお願いします    

専門家に質問してみよう