
https://oshiete.goo.ne.jp/qa/8843774.html
で質問してプログラムを組んでくれた方がいましたが
応用できない場面が出てきてしまったので再び質問させて
いただきます。
前回の質問ではすべて3グループに分けられるように
していただきましたが、実はグループ数を固定するのではなく
1グループの人数を3人に固定しなければならなかったのです。
前回回答していただいたVBAのプログラムを編集して
1~12までを3ずつ4グループになるべく重複をしないで
複数回、分けるにはどうしたらいいでしょうか?
できれば複数回分けたところで全部の数が最低1回は同じ
グループに入るようにできると助かります。
今回も1-2-12と1-2-11は重複と考えます。
まったく重複なしで行うのは不可能だということは
わかりますが、できるだけ少ない重複で複数回(今回は最低6回)のグループ分け
を行いたいと思います。
前回のプログラムに説明も付け加えていただきましたが
よく理解できずに今日まできてしまいました。
大変申し訳ありませんがどうかご教授お願いします。
No.2
- 回答日時:
こんにちは。
まだ、こちらは諦めていませんから、締めないでくださいね。
最終的な結果が、どのようになるのか、私自身も分からない状態です。
いずれにしろ、結果はまたお知らせします。
最後に書いた後の1週間で、締められてしまうというので、事実上、1週間の猶予しかありません。
なお、前回の方の、画像だけをみましたが、特に、それぞれが、平均的な数になっているわけではなさそうでした。もちろん、最後の数行は、手動で直していただく方法もあるのではないかと思いました。今は、その部分に手をつけてしまいましたので、後戻りは利きません。例えば、1~8までの数字があれば、組合せで作るのは、8~9というこうになるはずです。それより少なければ、個々の数値のバランスは崩れます。
前の方とは、まったく違う考え方です。総当り性の方法だと思いますが、こちらは、比較的知られているアルゴリズムを用意しました。(ただし、アルゴリズムは得てして速度が遅いです)
しかし、後から気づいたことで、
>1-2-12と1-2-11は重複
とすると、12個から3つを選び出す条件として、上記を重複とすれば、55個しかありませんね。
また、当然、
1 - 2 - 12
1 - 3 - 12
これも重複扱いになるわけです。
その内、12組を選び出すわけですが、もうひとつは、個々の数値を平均に抽出するとなると、本当に、できるのかなって、正直思いました。最後は、やはり平均のバランスが崩れていくような気がします。今は、想像だけですけれどね。
ギブアップの時にも、必ずレスは付けます。もう少しお待ちください。
できるだけ重複しないでということなので1回か2回の重複はやむをえないとして考えていただいたほうが考えやすいのではないかと思います。
一生懸命考えていただいて本当にありがとうございます。
No.1
- 回答日時:
こんにちは。
前の人の作ったものを一切考慮せずに、前の質問から考え始めました。
これは、VBA/VBの「順列・組合せ」の練習問題にあるから、久々に考えようと思いました。
だから、最初からの話になってしまうのは、ご容赦ください。
全数[12]から、[3]つを選ぶとしたら、220組になりますね。
前回の
(1) .1~12を4つずつ3グループに重複しないで・・・ 495 組
(2). 1~15を5つずつ3グループに重複しないで・・・ 3,003 組
(3). 1~18を6つずつ3グループに重複しないで・・・ 18,564 組
(右側は、組み合わせ計算)
= COMBIN(総数,抜き取り数)
>まったく重複なしで行うのは不可能だということはわかりますが、
私が作っているものは重複自体はありません。
しかし、Excelの乱数ジェネレータには、欠陥(100万回で重複が出る)があります。だから、今のところ、重複には出会っていませんが、可能性はないとは言えません。しかし、それを補填する方法はありますが、一般的な問題では出ないはずです。
しかし、2つの点で、問題があることに気が付きました。
その一つは、例えば、(1)では、495組の組み合わせができます。それを「1パレット」と呼ぶことにします。その「1パレット」を使い切るまでは、重複は存在しませんが、その組み合わせを使いきらずに再び、パレットを作ってしまった時には、理論的に、重複に巡りあう可能性が出てきます。
もう一つは、
>1~12までを3ずつ4グループになるべく重複をしないで
>複数回、分けるにはどうしたらいいでしょうか?
これは可能ですが、しかし、
>できれば複数回分けたところで全部の数が最低1回は同じ
>グループに入るようにできると助かります。
たぶん、今、私のプログラムで作った乱数の並び意味がなくなりますし、ご要求には満足させていないことに気が付きました。
20回目までの統計(下が出現回数)
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
---------------------------------------------------
2, 3, 6, 5, 9, 7, 3, 6, 6, 4, 6, 3
(見にくい場合は、Excelに貼り付けて、「区切り位置」でセルに入れてください。)
この出現回数のそれぞれをを、平均化させるわけでしょうけれど、12組とか、比較的少ない量で、それを、乱数で並び替えられた所から抜き出す作業が必要だすれば、そんな簡単なことではなさそうです。たぶん、数独のようなものだと思いますが、数独のアルゴリズムを研究してみないと分からないです。
添付画像の「パレット」(作られたものは「組み合わせの乱数リスト」)

お忙しい中考えていただいてありがとうございました。
かなり難しいことを要求していたということがわかりました。
急ぎの依頼だったので、各1回の重複が起こる中で
なんとか7回ですべての数が同じグループに入るという
組み合わせを半分、自力で作りました。
しかし、今後「15を3つずつ5個のグループを複数回作り最低1回はどの数も同一グループに入る組み合わせを作る」ことや「18を3つずつ・・・」「21を3つずつ・・・」などの場面が出てきそうなので、そうなるとお手上げです^^;
もし、時間があればまた知恵を貸してください。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA 大量のレコードからある列の重複数をカウントする方法?拡張編 7 2022/08/22 13:43
- 教えて!goo 多数の重複質問・コピペ質問・類似質問を見かけるが運営に通報しても削除しないのはなぜでしょうか? 7 2023/05/07 09:44
- Excel(エクセル) 指定した数字まで累計する方法や文字例の抽出について教えてください 4 2022/10/05 21:19
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Excel(エクセル) Changeイベントを使用して重複チェックをしたい 2 2023/08/02 11:47
- その他(恋愛相談) 同じ大学のサークルの仲良い同級生の女子にアプローチしたいですけど、今まで女性と付き合った事無いので方 2 2022/09/11 19:09
- 統計学 処理Aと処理A+Bの2群の差から、AとBの効果や相対的重要性を定量したい 5 2023/02/22 09:42
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- 教えて!goo 【回答が書きにくいのはなぜ】投稿内容に不適切な表現など・(中略)・投稿内容の修正をお願いいたします 9 2023/05/09 08:41
- 数学 数学Aについて分からない問題があります。 答えは載っているので分かりますが、 解き方がわかりません。 5 2023/02/03 18:58
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グループごとの人数のカウント
-
グループごとの人数のカウント
-
LINEの既読数がおかしいです(´...
-
Beckyでアドレス帳のグループへ...
-
Googleからの以下のメールにつ...
-
重複しないグループ分けについて
-
Outlookのアドレス帳のグループ...
-
エクセルで不規則勤務職場の勤...
-
googleグループに招待されまし...
-
町内会回覧板が戻って来ない・・・
-
スマホはアンドロイドです。SMS...
-
小学校の音楽会でママさんコー...
-
Thunderbird メール下書き保存...
-
あやまって【Ctrl+D】を押して...
-
エクセルのスクロールバーが二...
-
Notesのメールのローカルへの保...
-
下書きのgmailを一斉送信する方法
-
公文書と事務連絡の違いについて
-
最近、左利きYouTuberさん多い...
-
Word 文字を網かけ表示しても...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Outlookのアドレス帳のグループ...
-
LINEの既読数がおかしいです(´...
-
町内会回覧板が戻って来ない・・・
-
Googleからの以下のメールにつ...
-
スマホはアンドロイドです。SMS...
-
研修のグループワークについて
-
重複しないグループ分けについて
-
Beckyでアドレス帳のグループへ...
-
パート始めてから、欠勤の連絡...
-
IP Messengerでグループ名を作...
-
VBA 図形グループ化後オブジェ...
-
googleグループに招待されまし...
-
Excelで指定した条件で時間を自...
-
thunderbirdのアドレス帳移設
-
ゼミのグループ名
-
outlookのグループアドレスのメ...
-
EXELで=""&&""を使って計算式を...
-
EXCEL/グループ数を数え...
-
エクセル:グループ機能について
-
グループ分けの方法を教えてく...
おすすめ情報