よろしくお願いします。
エクセルで複数の単語をランダムに組み合わせて、
なおかつ重複がないように表示させる方法を教えて頂けないでしょうか?
例)
A B C D
1 父 は おはよう と言った
2 母 が おやすみ と言う
3 兄 と こんにちは と言わなくてはいけない
4 姉 へ さようなら と言おうか迷っている
5 妹 に こんばんは と言おう
ランダムで以下の様に表記
父がさようならと言う
兄はおはようと言おうか迷っている
母とこんばんはと言おう
妹へおやすみと言った
姉にこんにちはと言わなくてはいけない
父とおやすみと言おう
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
お示しのようにデータがA列からD列に入力されているとします。
そこで作業列を作って対応します。
H1セルには次の式を入力してK1セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。
=IF(A1="","",RAND())
そこでお求めの文章ですがF列に表示させるとしてF1セルには次の式を入力して下方にドラッグコピーします。
=IF(A1="","",INDEX(A:A,MATCH(SMALL(H:H,ROW(A1)),H:H,0))&INDEX(B:B,MATCH(SMALL(I:I,ROW(A1)),I:I,0))&INDEX(C:C,MATCH(SMALL(J:J,ROW(A1)),J:J,0))&INDEX(D:D,MATCH(SMALL(K:K,ROW(A1)),K:K,0)))
なお、念のために同じ文章になったものが有る場合にはG列に1の表示をさせるためにG1セルに次の式を入力して下方にドラッグコピーします。
=IF(F1="","",IF(COUNTIF(F$1:F1,F1)=1,"",1))
同じ文章が有ることは通常は考えられませんがもしも1がG列に見られた場合にはF9キーを押すことで再表示をさせるようにすればよいでしょう。
お示しの答えの例では最初の表が5行であるのに6行になっていますね。このように多くのケースを書くのでしたらA1セルからD5のデータを範囲として下方にドラッグコピーするようにすればよいでしょう。
No.2
- 回答日時:
自分だったら、列の中での並べ替えと捉えて処理をするかな。
各セルにRAND関数を使って乱数を割り当てて、数値の大きい順または小さい順に並べ替えます。
でもってそれをつなげて表示。
例えば、A列に対して作業列としてE列を、B列にはF列を、C列にはG列、D列にはH列を
それぞれ割り当てて処理するかなあ。(作業列に乱数を格納します)
でもって、乱数で同じ数字が出ちゃうと困るので、乱数値の最小桁の数値よりも小さい値を
上から順に加えておきます。
例:=RAND()*100+ROW()/0.01
これなら偶然同じ乱数が発生しても行番号の若い行が小さい値になり順番に並べる
…ってか抽出することができるようになります。
(※乱数を使った順位の決定をするときに使う処理方法です。
滅多に使わないけど応用が効くので覚えておくと吉)
そんなこんなで、
=INDEX(A1:A5,MATCH(LARGE(E1:E5,1)E1:E5,0))
これで一番大きい乱数に対する文字列を拾えます。
あとは同様にしてB列、C列、D列に対し処理を行いこれを繋げるだけ。
(絶対参照とか指定しておくとコピーして2番目や3番目の文字列を拾い出すのが楽になりますよ)
この回答への補足
ありがとうございます。
教えて頂いたRAND関数とINDEX関数を使ってみたのですが、
ランダムに表示されずに、常に同じ値だけを返してきてしまいます・・・
No.1
- 回答日時:
>なおかつ重複がないように表示させる方法
手順:
ご利用のエクセルのバージョンに応じた方法でエクセルのオプションで反復計算のチェックを入れる
F1セルに
=IF(OR(F1=0,COUNTIF($F$1:F1,F1)>1),INDEX(A:A,INT(RAND()*5)+1)&INDEX(B:B,INT(RAND()*5)+1)&INDEX(C:C,INT(RAND()*5)+1)&INDEX(D:D,INT(RAND()*5)+1),F1)
と記入し、必要数下向けにコピー貼り付ける。
#補足
>単語をランダムに組み合わせて、
ランダムに組み合わせるだけなら、ふつーに乱数を使えばごく簡単にできます。
しかし一般のやり方では、一度イイカンジで組み合わせが出来ても何かの拍子ですぐに全部再計算されてしまい、答えを固定するにはコピーして形式を選んで貼り付けでわざわざ値に変えるみたいな手間が必要です。
上述の方法は一回結果を出したら、そこで結果は固定になります。
#再計算したいときは一回F2以下の数式を全部消去、改めてF1の式をコピー貼り付け直します。
この回答への補足
ありがとうございます。
言葉足らずで申し訳ありません。
ブログタイトルや、簡単な紹介文に使いたいと考えており、
再計算も頻繁に使うので、固定されないほうがありがたいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 兄弟・姉妹 うちの妹(1996年9月生まれ)が独語や戦前•昭和番組に興味を持ってしまいました。 独語をしたい理由 3 2023/02/21 11:38
- 兄弟・姉妹 親の老後 7 2023/04/15 09:31
- その他(結婚) 先月入籍した者です。式や披露宴はしません。コロナ禍なので顔合わせも私の母(父は亡くなっています)と主 2 2022/06/05 12:07
- その他(家族・家庭) 私は23歳社会人です。 教えてください私はどうしたらいいのか分かりません。 4年前の6月12日に私の 5 2022/05/15 14:06
- 兄弟・姉妹 この実弟についてどう思われるかなど教えてください 4 2023/05/24 23:02
- 父親・母親 家族関係が上手くいっていない人の結婚式について。 毒親で毒兄弟なため、親族を結婚式に呼びたくないです 6 2023/06/07 10:02
- その他(悩み相談・人生相談) 夫を婿養子にしたいけどそれはおかしいこと? 3 2022/07/03 18:41
- その他(暮らし・生活・行事) 結婚式に叔父叔母を呼ぶ?呼ばない? 6 2022/05/04 12:20
- その他(家族・家庭) 父方の祖父母の話です。 私は父(長男)の娘で孫に当たります。 祖父母は農家を営んでいて、同じ敷地内で 5 2022/06/06 14:43
- 兄弟・姉妹 兄妹 または 姉弟 とは結婚できないのは分かりますが、 ①従兄弟 または 従姉妹 と 結婚すること 5 2023/03/26 03:21
このQ&Aを見た人はこんなQ&Aも見ています
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「.movpkg」「.m3u8」ファイル...
-
YahooのIDがロックされてしまい...
-
ゆうちょ認証アプリが使えません
-
ITの見積もりってなんであんな...
-
jtrim 1.53cが正常な動きをし...
-
ローカルの印刷スプールが起動...
-
グーグルスプレッドシートで他...
-
gimpで文字の細工をしたい
-
PCでポップアップされるので削...
-
ラインで、自分が誰かを追加し...
-
パソコンでJPEG画像ファイルを...
-
LDPlayerのマクロの編集方法を...
-
Numbersについてお伺いです。 ...
-
iTunesでCD作成しています。 書...
-
グーグルクロムにダウンロード...
-
Premiere Pro 一度入れたテロッ...
-
新バージョンPDFでのスナップシ...
-
Googleドライブの使い方が分か...
-
mp3 ファイルをCDに焼く無料ソ...
-
スプレッドシートの作業範囲
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ITの見積もりってなんであんな...
-
YahooのIDがロックされてしまい...
-
「.movpkg」「.m3u8」ファイル...
-
ゆうちょ認証アプリが使えません
-
jtrim 1.53cが正常な動きをし...
-
ATOKをお使いの方、今後もVer U...
-
CMYKのペイントソフトを探して...
-
グーグルクロムにダウンロード...
-
ホームページビルダーのバージ...
-
自分で描いた下手な絵を綺麗に...
-
パソコンでJPEG画像ファイルを...
-
マックの表計算ソフト
-
Numbersについてお伺いです。 ...
-
写真の印刷レイアウトについて
-
STEAM版BF4が起動しない
-
フォルダ内にある全ファイルの...
-
gimpで文字の細工をしたい
-
新バージョンPDFでのスナップシ...
-
Windows 11 に対応する作業
-
先日からDigiBestTVで「デバイ...
おすすめ情報