
バドミントンのダブルスの対戦表をエクセルで作ろうと思っているのですが、どうやって作ったらいいのかわからず、どなたか知恵を貸していただけないでしょうか?
バドミントンのダブルスは1コート4人で行われるため、4人でバドミントンを行ったりする場合は簡単に組合せが作れます。4人に1番~4番の番号を振り分けると、1番と2番がペアで3番と4番がペア。その次は1番と3番がペアで2番と4番がペア。というふうになります。
しかし、それが例えば2コート、10人でダブルスをやろうとすると、8人がコートに入り、2人が休みになります。
同じペアで組まないようにしたいので、全員が違うペアと組んで試合をするには、何試合も試合を行わなければいけなくて、その組み合わせを考えるのが自力ではできませんでした。
3コートで14人とかなってくるともっと複雑で、どうやって組み合わせを考えたらいいかわかりません。
プログラムに詳しい方がおりましたら、どうすればエクセルで計算できるか、ご助力願えませんでしょうか。お願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
エクセルである必要はあるのでしょうか?
完全にランダムでいいのであれば、以下のサイトが携帯からも見えるようですので、コートサイドで使用できると思います。
http://sports.geocities.jp/doubles_pair_site/
ただ、人数によって同じペアと組むことがあったり、全員とペアを組めなかったりしてます。
スマホをお持ちであれば、今はアプリがいくつかあるようです。
参考URL:http://sports.geocities.jp/doubles_pair_site/
No.2
- 回答日時:
単純な組合せを作るなら以下のマクロで作れます。
Sub 組合作成(ByVal 人数 As Long)
Dim 表 As Worksheet
Dim 人1&, 人2&, 人3&, 人4&, 列&, 行&, 終&
Set 表 = ThisWorkbook.Worksheets(1) '第1シートに記録する
表.Cells.ClearContents
If 人数 < 4 Then Exit Sub '4人未満なら何もしない
終 = 人数 - 1
For 人1 = 1 To 終
For 人2 = 人1 + 1 To 人数
行 = 行 + 1
列 = 1
For 人3 = 人1 + 1 To 人数
If 人3 <> 人2 Then
For 人4 = 人3 + 1 To 人数
If 人4 <> 人2 Then
If 列 = 1 Then
表.Cells(行, 列).NumberFormat = "@"
表.Cells(行, 列) = CStr(人1) & "-" & CStr(人2)
End If
列 = 列 + 1
表.Cells(行, 列).NumberFormat = "@"
表.Cells(行, 列) = CStr(人3) & "-" & CStr(人4)
End If
Next
End If
Next
Next
Next
End Sub
厄介なのが、コートと対戦ペアの割り当てです。現在、考慮中です。
No.1
- 回答日時:
ちょっと難しい問題だと思います。
結論から言うと、2コート10人ダブルスの場合は、全員が他の人と必ず1回だけペアになるような組み合わせは存在しません。
どのような組み合わせを考えても、必ず同じペアになる2人が出てくるかまたはペアにならない2人が出てきます。
理由を簡単に説明すると、
1人がペアを組むのは残り9人ですから、試合をする延べ人数は10×9=90人
1試合4人ですから、試合数は90÷4=22.5
0.5の試合というのはありえないですからそういう組み合わせは不可能ということになります。
なお、2コート9人や3コート13人のように1人だけ休みの場合は存在します。
同じペアにならない組み合わせでの最大の試合数は22試合、
必ず1回はペアになる組み合わせでの最小の試合数は24試合(1回に2試合するとして)、
また、10人が平等に同じ回数だけ試合をするというなら20試合(1人8試合)か30試合(1人12試合)
ですが、その組み合わせは無数にあります。
実際には、その中でなるべく同じ人との対戦が少なくなる(1~2回、24,30試合の場合は2~3回)ような組み合わせが理想だと思います。
これはプログラミングというより数学の組み合わせ理論の問題です。
詳しく知りたい場合はいったん締め切って問題を整理してから、学問&教育の数学カテゴリーで質問してみてはどうでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで重複しない組み合わせの出し方 6 2023/01/12 23:51
- CS・BS 何年か前に、素っ裸でサバイバルを過ごすテレビ番組がありまして 2 2022/10/10 13:27
- 学校 高校1年女子。3人グループです。 この前体育で2人組作ってと言われた時にAとBは近くだったのでAとB 1 2022/10/09 10:25
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- 計算機科学 2500円の人と2000円の人の集計 2 2023/08/06 07:18
- C言語・C++・C# 石取りゲームをC言語プログラムで教えてください 1 2022/04/09 14:16
- 小学校 PTA旗振り当番を忘れてしまっていました 6 2023/07/07 10:44
- 洋画 『バイオハザードIV アフターライフ』におけるコインとショットガンの組み合わせの謎 1 2023/07/29 08:58
- 会社・職場 私たちは製造業で個人というより、2人でペアを組んで全体で進んでいきます なので、全員が同じ仕事をして 3 2022/04/05 18:07
- 学校 体育のランダムチームで2人ペアを先生が能力でペア作ると言ってるんですが、これって強い同士がなるもんな 2 2022/11/02 06:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
近所のボール遊びで物を壊され...
-
バドミントン部だった と聞くと...
-
高1です。 自分は現在帰宅部な...
-
昔、バドミントン、今、バトミ...
-
情けない話なんですけど、相談...
-
高校生からでも始めやすいスポ...
-
バドミントン一人練習の場所
-
バドミントンサークルの持ち物
-
また不倫すると思いますか?
-
小学生が喜ぶプレゼント 教えて!
-
羽球って何て読むんですか?
-
私はバドミントンとバレーどっ...
-
中3女子です。彼氏の試合の応援...
-
部活が嫌い嫌だ
-
先日、陸上部をやめました。 入...
-
賞状をもらうには?
-
高校の部活でハンドボールをし...
-
部活の大会が優先か旅行が優先か
-
至急! 女子に負けまくりの人生...
-
ヘルプ!)急に足に異常なほど...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バドミントン部だった と聞くと...
-
部活の大会が優先か旅行が優先か
-
近所のボール遊びで物を壊され...
-
自宅前の道路でバトミントンを...
-
私はバドミントンとバレーどっ...
-
高校の部活でハンドボールをし...
-
彼女に痩せて欲しい
-
部活のイメージを教えてくださ...
-
テニス部かバトミントン部どっ...
-
バドミントンのラケットが折れ...
-
高1です。 自分は現在帰宅部な...
-
中3女子です。彼氏の試合の応援...
-
高校一年生。 授業でパワーポイ...
-
部員がどんどん減っていくんで...
-
また不倫すると思いますか?
-
翔球?羽球?
-
バドミントンの直上打ちと壁打ち
-
高校でやる部活なんですけど、...
-
姪の学費、生活費を負担する必...
-
好きになってしまってごめんな...
おすすめ情報