- ベストアンサー
エクセルでランダム組み合わせする方法
はじめまして、エクセルを使用してある集団からランダムに組み合わせを作りたいのですがよい方法あるいはヒントがあればアドバイスをいただきたいのでよろしお願いします。 具体的には、7列12行の席があり、その中からランダムに7席(名)を選んで1~3チームを作るというものです。各チーム内で重複しないようにし、7席(名)を選択する方法あればベストですが、それに近い方法でもよいです。(結果を見て、重複席を自分で変更するなど微調整できればよいと思っています。 ちなみに7列12行のそれぞれのセルには氏名か番号をつける予定です。 よろしくお願いします。
- ikokujira
- お礼率60% (3/5)
- オフィス系ソフト
- 回答数5
- ありがとう数3
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
[回答番号:No.4この回答への補足]に対するコメント、 A B C … G 1 座席表 2 A01 B01 C01 … G01 3 A02 B02 C02 … G02 4 A03 B03 C03 … G03 … … … … … … 13 A12 B12 C12 … G12 Q R 1 乱数 名前 2 0.9199 A01 3 0.0623 B01 4 0.1686 C01 … ……… … 8 0.2037 G01 9 0.3649 A02 10 0.8395 B02 … ……… … 84 0.3442 F12 85 0.6138 G12 Q2: =RAND() R2: =OFFSET($A$2,INT((ROW(A1)-1)/7),MOD(ROW(A1)-1,7)) I J K L M N O 1 チーム名 メンバー名前 2 Team_01 D11 E07 C03 B07 G02 F10 3 Team_02 B05 B01 C09 A04 B10 A09 4 Team_03 E02 B06 B08 E11 C07 C01 … ……… … … … … … … 13 Team_12 E03 A01 F08 E09 E06 F05 J2: =VLOOKUP(SMALL($Q$2:$Q$85,COLUMN(A1)+(ROW(A1)-1)*7),$Q$2:$R$85,2,0)
その他の回答 (4)
[回答番号:No.3この回答への補足]に対するコメント、 お書きになっている内容を全く理解できません。 [回答番号:No.2]に挙げた表(範囲 C2:J13)がどのようになれば良いのか具体例をお示しください。 私の回答がそうであるように、ゴチャゴチャ文章で記述するより、希望する表を示した方が分かりやすいと思います。それで分からない場合は私も貴方に質問しやすいです。
補足
お手数をおかけします。mike_g様の先の回答で氏名を番号することで重複 しない12チームを作ることは可能であることは確認しました。既に座席表を作成しているので、そのまま直接「氏名」を使用できればと思って追加の質問をしました。こう考えればというアドバイスでもよいのでよろしくお願いします。 (1)84名の座席表(氏名)をエクセル表で以下の様に作成(A1さん、B1さん・・・) A1 B1 C1 D1 E1 F1 G1 A2 B2 C2 D2 E2 F2 G2 ・ ・ ・ ・ ・ ・ ・ A12 B12 C12 D12 E12 F12 G12 (2)座席表からランダムに7名選抜し、チームを作り、代表でゲームを行わせたり数チーム作り、ゲーム等対抗戦を行わせる。 (ゲームはスポーツ、連想ゲームなどレクレーションを想定) team_01 B2 C1 A12 E5 F10 G3 D7 team_02 F8 A5 D1 E11 A4 B5 D6 ・ ・ ・ ・ ・ ・ ・ ・ team_12 ・ ・ ・ ・ ・ ・ ・ (3)やりたいことは座席表から直接 ランダムに選抜してチーム表を作成できないかという点です。 ポイントは、ランダムに7名を選抜することと考えています。
[回答番号:No.2]の A1: ==RAND() は A1: =RAND() の間違いでした。
補足
mike_g様の回答で解決済みなのですが以下のようなことは可能でしょうか? 追加の質問ですみません。84名のメンバー(エクセルの7列12行に配置:固 定)から1チーム7名の12チーム(1~3チームでも可)にランダムに振り分ける ときに7列12行から直接選出する方法はありますか? もちろん先に回答いただいた方法で84名のメンバーを別にNo1~84まで順序 よくをつけて、ランダムに選出した12チームの番号にあわせてメンバー を配置すればよいのですが、直接7列12行に入力された番号(あるいは氏名) を12チームに配置できると助かります。(選手のゼッケンは通常バラバラなの で。。。)
A B C D E F G H I J 1 0.9454 チーム名 メンバー番号 2 0.5524 Team_01 13 60 43 80 42 40 69 3 0.8977 Team_02 04 61 84 23 47 74 50 4 0.0776 Team_03 51 26 06 75 17 79 48 5 0.6609 Team_04 63 78 52 20 09 16 54 6 0.1797 Team_05 66 68 77 71 64 45 34 7 0.9247 Team_06 11 29 73 25 49 08 02 8 0.5350 Team_07 27 15 33 30 67 05 72 9 0.3160 Team_08 22 44 41 31 10 58 46 10 0.7086 Team_09 37 35 38 65 55 24 81 11 0.4843 Team_10 70 32 59 82 36 18 03 12 0.9026 Team_11 12 76 19 07 62 01 14 13 0.0127 Team_12 28 57 53 56 83 21 39 14 0.9599 … ……… 83 0.9849 84 0.0997 A1: ==RAND() D2: =MATCH(SMALL($A$1:$A$84,COLUMN(A1)+(ROW(A1)-1)*7),$A$1:$A$84,0)
お礼
mike_g様どうもありがとうございました。 そのままエクセルで作成して、12チーム重複しない組み合わせを作ることが できました。チームは1~3チーム作ればよいのですが12チームすべて重複し ない組み合わせができるとは思いませんでした(感動)。 後は、個々の席(あるいは人)にゼッケン(No1~No84)をつけて、たとえば Team01、Team05、Team11のチームの番号のゼッケンの人を配置すればよいと いうことで対応できそうです。 A1:=RAND()も了解しました。
- web2525
- ベストアンサー率42% (1219/2850)
EXCELさんはランダムの処理は結構苦手です。 関数でRND関数は有るけど、再計算で数値が変化してしまうので、そのあたりの工夫が必要に。 選出のルールが解り難い気がします >7列12行の席があり7席(名)を選んで1~3チームを作る 84名中7名1チームで最大3チーム作成? 7名*3組=21名 4回分の組み合わせを作る言う事? 重複しないって事は一回チームに参加した人は2回目以降は省くと言う事かな? ちっともランダムでないような気がしますが ランダムにする必要性もわかりませんし、7列12行なら行ごとに1チームと言うわけにはいかないのでしょうか? 実用的な方法ではなく、考え方(手法)に関する質問なのかな?
お礼
web2525様どうもありがとうございました。 説明が不足していました。ご指摘のとおり行ごとに1チームにすることで よいのですが、何回かチーム編成を行いたいのでランダムに選手を選出する ようなことがしたかったのです。質問をもう少し目で見える形で行った方が よかったと思いました。ご指摘ありがとうございました。
関連するQ&A
- Excelの組み合わせをカウントしたいです。
こんにちは。 Excelの組み合わせをカウントしようと試行錯誤したのですが 未だに完成出来ないので質問させて頂きます。 A列に1から10までの数字がランダムで500行ほどあり、 A列の中で1と言う数字があった場合、 その下のセルに2があればその組み合わせを1とカウントし、 B列に合計を表示したいのですが、これは可能でしょうか? どうかご教授下さいますよう、宜しくお願い致します。
- ベストアンサー
- 財務・会計・経理
- 【エクセル】ランダムで重複しない整数を出したい。
Windows 7、エクセル2007です。 ランダムで重複しない整数を任意の範囲から一部のみ入力するにはどうしたら良いでしょうか? 1.任意の範囲「1~50」とか「1~100」とか「15~300」とかから、20個だけとか40個だけとか。 2.ランダムなので「2,6,3,4,8,1・・・」とかのn、n+1、n+2ではないランダムな整数。 3.重複しないこと。 上記1~3を満たしたやり方ってありますか? 出てこない数があっても良いんです。 例えば、1~10までの範囲でランダムに3個だけセルに入力したいとき。 A1に7、A2に4、A3に9というふうに。 それが1~300の範囲で50個の数字をランダムに重複しないように入力する。 A1に15、A2に163、A3に92、・・・A50に43。 残りの250個の数字は入力されないという感じです。 乱数だと重複します。 ランク(順位)と組み合わせると、連続(n、n+1、n+2)になってしまいます。 列はどこでも良いんですが、行は連続したいです。 A1~A50とか、A1~A300とか。 関数の組み合わせでできないでしょうか? また、マクロは分からないので、詳しく解説して頂けると助かります! 情報が不足する点がありましたら指摘して下さい。 追加します。
- ベストアンサー
- その他MS Office製品
- エクセルで複数列に共通した項目の抽出方法
エクセルで複数列で重複したセルを抽出する方法がわかりません。 具体的には、ABC各列にランダムな6桁の数字がそれぞれ500行づつあり、AとB列で重複(同じ)数字があれば、D列に列挙(重複した個数ではなく、たとえば310257などと重複していた数字)し、またABCの3列ともに重複している数字をE列に列挙するなど、複数列で重複したセルを抽出するにはどういう方法があるんでしょうか?
- ベストアンサー
- オフィス系ソフト
- Excelでランダムに抽選
あるスポーツ競技の対戦組み合わせ表を作成したいのですが、 例として20チームあり、ランダムにそれぞれのチームに1~20までの数値を割り当てたい場合、 どのようにすればよいでしょうか? RANDで乱数を作るところまではできたのですが、 この関数では数値が重複してしまいます。 アドインの乱数発生ツールも使い方がイマイチわかりません。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 用意したセルをランダムに差し込んでいく
シート名『差し込むセル』に用意したセルをA列に並べています。(数十個) その用意したセルを、別シートの指定した語句があるセルの下に差し込んでいきたいです。 『指定した語句』は、 </h2> です。 別シート:A列24行以降のセルに</h2>があればその下に、 用意したセルをランダムに差し込んでいきたいです。 (別シートのA列24行~の横にずっと続いているので、それらにもランダムに差し込んでいきたいです) シート名『差し込むセル』 A列: AAAA BBBB CCCC DDDD EEEE FFFF GGGG 別シート A列24行以降のセル(B列24行以降~のセル) </h2> ああああ いいいい うううう </h2> ええええ おおおお かかかか きききき </h2> くくくく けけけけ </h2> ここここ シート名『差し込むセル』のA列のセルを </h2>の下に、ランダムに差し込んでいく ↓ </h2> BBBB ああああ いいいい うううう </h2> FFFF ええええ おおおお かかかか きききき </h2> AAAA くくくく けけけけ </h2> CCCC ここここ というように、差し込んでいきたいです。 ※ランダムに差し込むセルは被りなし これは、どのような記述でできるようになるでしょうか? よろしくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- エクセル関数で教えてください。
例えば、A列の1行目からA列の100行目まで社員の名前が重複せずに100人分あります。B列1行目からW列100行目までにランダムに数字が入っています。数字は重複していません。この、数字(例えば5という数字)のセルの場所を特定したいのですが、関数でこの場所を特定する方法を教えていただけませんか? 結果的に必要なのは、5という数字が何行目にあるかだけですので、それだけ分かれば良いのですが。良い方法が見つかりません。 今回はマクロは一切使わない条件です。よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルでランダムな座席表を作成したい
excel 2003を使用しています。 エクセルで、100名程度の座席表を作成したいと思っています。 今、机の絵をレイアウトどおりに表示させて、該当する机に社員番号を入れれば、社員名が表示されるように設定しています。 席替えを毎日行うので、1-100の数字をランダムかつ重複せずに入れて、簡単に座席変更をしたいのですが、方法がわかりません。RANDBETWEENだと、ランダムに数字が入りますが、重複してしまい、困っております。 ランダムに数字を入力でき、かつ重複しない方法を教えてください。 どうぞよろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- ランダムな数字の掛け算
こんなこと出来るのか教えてください。例えばA列のセルに5000行位の数字データがあるとします。そのデータをB列の同じ行に1.001~1.1の範囲でランダムな数字の掛け算にしたいのです。 何かよい方法があればお教えください。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセル:ランダムに配置するVBAプログラム
大学の情報の授業でVBAに関するレポートが出題され、 さっぱり分からなくて困っています。 どなたか分かる方いらっしゃいましたら、お教えください。 問題は以下の通りです。 10行10列のセル範囲に、1から100までの整数をランダムに配置するVBAプログラムを作成せよ。 ヒント:まず1から100までの数を1次元配列に格納せよ。次に、その中身をシャッフルせよ。最後に、その配列から順に10個ずつ取り出して、セル範囲に1行ごと書き出せ。 よろしくお願いします!
- ベストアンサー
- 数学・算数
お礼
mike_g様どうもありがとうございました。またまた感動しました。 mike_g様のアドバイスとおりというか、そのまま表や関数をコピーして思って いたものを完成することができました。 質問方法を具体的にするなどアドバイスもありがとうございました。