エクセルで任意の複数列の単語をランダムに組み合わせる方法
エクセルで、登録した単語をランダムに表示させ、文章をつくるようにしたい場合どうすればいいでしょうか?
例えば、単語の種類を「主語(H列)、目的語(K列)、補語(N列)、述語(Q列)」などとして、
A列にH列の単語、B列にK列の単語、C列にN列の単語、D列にQ列の単語をそれぞれランダムな順に表示して、文章を作る・・・といった風にするには、どうしたらいいでしょうか?
http://questionbox.jp.msn.com/qa5488229.html
ここで書かれていた例を元に、上に書いたように(それぞれHKNQ列の前2行は作業列としました)自己流でやってみたのですが、VLOOKUP関数が全然わからないし、例では1列の単語のみを対象にしてたので、やっぱり複数列を表示するには全然違う方法になるのでしょうか?
また、できれば、各列、登録数が同じでなくても、大丈夫なようにする方法(少ない登録数のところは重複して単語が表示されたり)は可能なのでしょうか?
エクセルもあまりわかってないのですが、ご存知の方、
どうぞよろしくお願いします。
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
ご回答ありがとうございます。
tom04さんのこの回答がなかったら、作業列を別にこのようにできるなんて、まったく不可能だったと思います。
ありがとうございました。
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キーを押すごとに単語が差し替わります。
keithinさま、ご回答ありがとうございます。
この手法でも、作成させていただきました!
他にも応用が利きそうですね。
ありがとうございました。
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)
となります。
kmetuさま ご回答ありがとうございます。
関数の文字列の意味を、分かりやすく説明していただき、ありがとうございました。
おかげさまで、間違いを発見できました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル マクロVBAについて教...
-
英数字のみ全角から半角に変換
-
outlookのメールが固まってしま...
-
エクセルで自動的にQRを表示さ...
-
【Excel VBA】PDFを作成して,...
-
エクセルでXLOOKUP関数...
-
会社PCのメールが更新されない
-
エクセルにおいて品名コードを...
-
Microsoft Officeを2台目のPCに...
-
Excel テーブル内の空白行の削除
-
Microsoft Formsの「個人情報や...
-
office365って抵抗感ないですか?
-
Teams内でショートカットって貼...
-
この様式の雛形を作るとしたら...
-
Microsoft familyに追加されま...
-
WEBの記事を印刷する際にA...
-
VLOOKUP関数について
-
理由を教えてください。
-
マイクロソフト 一時使用コード...
-
teams設定教えて下さい。 ①ビデ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
英数字のみ全角から半角に変換
-
会社PCのメールが更新されない
-
この様式の雛形を作るとしたら...
-
【Excel VBA】PDFを作成して,...
-
マクロ自動コピペ 貼り付ける場...
-
Microsoft Officeを2台目のPCに...
-
outlookのメールが固まってしま...
-
エクセルでのパーセントの計算
-
エクセルでXLOOKUP関数...
-
Microsoft Formsの「個人情報や...
-
Outlook で宛先が複数の場合の人数
-
大学のレポート A4で1枚レポー...
-
Excel テーブル内の空白行の削除
-
【マクロ】違うブックのCallス...
-
teams設定教えて下さい。 ①ビデ...
-
Officeを開くたびの「再起動メ...
-
エクセルで英文字に入れた下線...
-
Microsoft365で写真をアルバム...
-
Teams内でショートカットって貼...
-
office365って抵抗感ないですか?
おすすめ情報