![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
エクセルで任意の複数列の単語をランダムに組み合わせる方法
エクセルで、登録した単語をランダムに表示させ、文章をつくるようにしたい場合どうすればいいでしょうか?
例えば、単語の種類を「主語(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
![「エクセルで任意の複数列の単語をランダムに」の回答画像3](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/a/667667_5497e7c095a4b/M.jpg)
ご回答ありがとうございます。
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- Excel(エクセル) 表に書いてある単語を1つの行に重複させないで書き出したい。 複数の列行にそれぞれ職種が入力されている 6 2022/05/25 04:49
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) 条件書式でリスト内以外の単語に色をつけたい 1 2022/09/23 13:23
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- 日本語 なぜこの単語にこれとこの意味があるの?というもの 7 2023/08/25 12:44
- Excel(エクセル) Excei で、項目の横展開 2 2023/07/15 09:56
- Excel(エクセル) エクセルで列の行の重複の検索方法を教えてください。 8 2022/10/11 14:51
- Windows 10 Google日本語入力について 3 2022/10/20 15:51
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
英数字のみ全角から半角に変換
-
会社のOutlookにてメールを予約...
-
マクロ自動コピペ 貼り付ける場...
-
Outlook で宛先が複数の場合の人数
-
エクセルでXLOOKUP関数...
-
「生産性ソフトウェア」とは何...
-
無料のオフィス互換ソフトの使...
-
大学のレポート A4で1枚レポー...
-
Microsoft Formsの「個人情報や...
-
office365って抵抗感ないですか?
-
EXCELのセルへの色づけ
-
エクセルで例えば、A1に㈱ベ...
-
【Excel VBA】PDFを作成して,...
-
OFFICEで自動保存されたファイ...
-
vb.net オブジェクト指向につい...
-
マイクロソフト オフィスについて
-
Office2021を別のPCにインスト...
-
Excel テーブル内の空白行の削除
-
Outlook 2021 アカウント設定時...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
英数字のみ全角から半角に変換
-
Excelで空白以外の値がある列の...
-
会社PCのメールが更新されない
-
Excel 日付を比較したら、同じ...
-
マイクロソフト 一時使用コード...
-
ウィンドウィズ メモ帳で日付だ...
-
MicrosoftOfficeの1ユーザー2...
-
Microsoft Formsの「個人情報や...
-
Officeの字体
-
エクセルでXLOOKUP関数...
-
Microsoft365で自動保存が出来...
-
Outlookで、任意のメールアドレ...
-
outlookのメールが固まってしま...
-
Microsoft 365 の一般法人向け...
-
Office2021を別のPCにインスト...
-
Microsoft 365のディフェンダー...
-
Excelに貼ったリンクについて E...
-
MicrosoftOffice2019なんですが、
-
Outlook で宛先が複数の場合の人数
おすすめ情報