- ベストアンサー
Excelで組み合わせ!8人で3コースを巡回するパターンを作成したい
Excel初心者です 8人でA,B,Cの3コースを巡回する組み合わせを作成したいのですが、 例えば、Aコースが1番目の人と2番目の人が組で 以下Bが3&4,Cが5&6、で7&8は休みでスタートします こういうのを一つのパターンとして、次回は同じコースを回らずかつ 違う人と組んでさらに休みも同じように振り分けたいのです 補足として、1年間の日程で巡回するのは決まった曜日です 組み合わせとして1番目の人は他の2~7番目の人と組む形が できるようにしたいです。(8人全員に当てはまります) ちなみに、コースが三つなので8×3で 24パターンあるってことですよね 休みを含めると8×4で32あることになるのかな? よろしくお願いします
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
補足です。 > 2520通りということですが これは8人の組合わせの数です。 4組が休みを入れた4つのコースを取る、というのは 24通りありますから 2520×24となります。これは一日に取り得るパターン の数です。 これを次回のコースの取り方を考慮したら順列組合せ となり、2520の24乗となり、いや、24の2520乗かな? 分からない・・・その中から良いものを探すというこ とです。まあ、あっという間に天文学的数字を超えます。 全宇宙の素粒子の数を集めても10の74乗程度でしか ありません。 これは答えの無い問題、と私は言い切ります。少しずつ 昔を思い出してきました。 ベストでは答えがありませんが、ベターな答えは出せ ます。最低で2千万円のプロジェクト、答えに欲出せば 1億円のプロジェクトと見積もります。それでもベター な回答しかえられません。 しかし順列は諦めるという割きりがあります。大して 意味ないでしょう。得られない答えなんだから。 従って、私なら2520×24の組合せを作って、乱数で今回 は、これにすると決めます。次回は1度使ったパターンを 消して、残りで乱数で選びます。たまたま休みが続く人 が出ても仕方が無い、とせざるを得ません。あるいは 休みが続かない、だけを条件に選び直しはありそうですね。
その他の回答 (7)
- debut
- ベストアンサー率56% (913/1604)
No2です。 超難問です! あちらを立てればこちらが立たずで・・・ 考えてみたので、途中までですが一応書いておきます。 A~Bはコース、●は休み、縦の1~8は人、 横の1~9は日数です。 ・・・1234 567 89 1 ABC●BAB●A 2 ACB●ABC●B 3 BA●BCA●AB 4 B●ACB●CB● 5 CB●CAC●AC 6 C●BAC●BC● 7 ●CAB●CACA 8 ●ACA●BABC と8日までは休みが3回ごとに周期的にできますが、チーム数4 と前回との関係から、9日目にそれがくずれます。 しかも、8日までは3の人の6,7,8日目のA●Aがあるものの ほぼ条件通りにできますが、9日が終わった時点で、まったく 組み合わない4の人と6の人の組合せが1組だけできてしまい ます。 (もっと他の組み合わせ方でやればそうならないようにできる のかは不明ですが、4回周期なので数字の関係から無理な感じ もします。) それで10日目にこの4と6の組を入れて作ろうとすれば、もう すでにできあがった組&コースになってしまい、うまくいきま せん。休みの周期も完全にばらばらになります。 (10日目:例えば、1と8が●、2と7がC,3と5がA、 4と6がBとかで、2と7のCはすでに2日目にあると いうふうです) この4と6の組を無視すれば、この9日分をもとにして次は 表のAをBに、BをCに、Cを●に、●をAに、と順繰りに 入れかえたりすれば12パターンができるはずなので、108 通りにはなるはずですが・・・ やはり、どうしても4と6の組を入れたいですよね、ふつう。 全然役に立たずすみませんでした。
お礼
いえいえ、本当に助かりました! 私は簡単にできるものと思っていたのですが 難しいのですね ありがとうございました m(__)m
- Tasuke22
- ベストアンサー率33% (1799/5383)
> 実は、大変なのですね! そうです。工場レベルですと数十の要素を扱い 営業マンが簡単に出来ると思い込み、安請け合 いし、SEが困る、と言うパターンは何時も組合 わせ問題です。
お礼
回答ありがとうございました
- Tasuke22
- ベストアンサー率33% (1799/5383)
> それを、Excelで作成するのはどうすればいいのでしょうか? はっきり言って組合わせ問題は、高度な部類に入ります。 Excelで行うにはマクロを組むしかないでしょう。VBA、 プログラムです。Excelの中に組める仕組みが入ってい ます。 それがイヤなら、手で入力ですね。気が遠くなりますが。
お礼
回答ありがとうございました。 数の値が少ないので簡単にできると思いましたが 実は、大変なのですね!
- hayasi456
- ベストアンサー率40% (2402/5878)
>次回は同じコースを回らずかつ 違う人と組んでさらに休みも同じように振り分けたいのです。 Excelで表を作ってやってみましたが非常に複雑で自分の当番日、コースが解らなくなる人も出てきそうです。 また、どのようなコースだかわかりませんが私のような人がいればは三四回は同じコースを通らないと覚えられないと思います。 休みをDとして Aグループ No1 ABCD No2 BCDA No3 CDAB No4 DABC Bグループ No5 DCBA No6 CBAD No7 BADC No8 ADCB (同じグループの人は組にはなりません) で一巡したら ABグループの構成を適当に変えてはいかがですか。
補足
すいません。 グループの分け方(読み取り)がわからないので 説明をお願いします。
- Tasuke22
- ベストアンサー率33% (1799/5383)
ANo.1です。 > 8C2×6C2×4C2=2520通り です。 そうですね。2人ずつ減っていくということが 考慮抜けでした。失礼。
補足
回答ありがとうございました 2520通りということですが それを、Excelで作成するのはどうすればいいのでしょうか?
- debut
- ベストアンサー率56% (913/1604)
8人を2人ずつ組にして、それをA,B,C,休みの4つに 振り分ける振り分け方は 8C2×6C2×4C2=2520通り です。 ところで、条件が曖昧というか足りないと思いますが。 ・例えば、1と2が組んだとき、その組合わせでA,B,C、休み のすべてを(連続にならないという条件下で)経験するようにする のか、あるいはしてもいいのか ・1年全体で何回計画するのか ・どの人も同じ回数だけコースを回るのか (おそらく平等にするんだとは思いますが) ・例えば1の人がA→休み→Aとなることを連続するととらえる のか そのへんはとうなのでしょうか?
補足
補足します ・例えば、1と2が組んだとき、その組合わせでA,B,C、休み のすべてを(連続にならないという条件下で)経験するようにする のか、あるいはしてもいいのか できるだけすべてのコースを経験するようにしたいです ・1年全体で何回計画するのか 決まった曜日(例えば月曜日)なのでその数ですね 50~60回くらいと思います ・どの人も同じ回数だけコースを回るのか (おそらく平等にするんだとは思いますが) その通りです ・例えば1の人がA→休み→Aとなることを連続するととらえる のか 1の人がA→B→C→休みというように、したいのですが そうすると、2の人はA→Cまたは休み→Bまたは休み→休みまたはB,C になると思います
- Tasuke22
- ベストアンサー率33% (1799/5383)
組合せ問題ですね。 予想されている数字はあまりにも小さいでしょう。 まず、人の組合せですが、 7×6×5×4×3×2=5040 でしょう。 それぞれが休みを入れて4つのコースで組合わせると、 ・・・たはは、忘れました。えーっと、 4組が4つのコースを取る組合わせは、4×3×2=24で それを人の組合わせの数で掛けるといいのかな。 5040×24=120960通り というのが私の答えです。
お礼
回答ありがとうございました
お礼
意外と難しいのですね 私は自分のレベルでできるものと勘違いしていました Excelうんぬんでなく、まずは自分でした ありがとうございました m(__)m