No.4ベストアンサー
- 回答日時:
#3です
> わかりやすくする為に5チームにしています。(総当たり数10)
> 総当たりするためには、各々が2試合ずつ行う必要があります。
この考え方がわかりません。
A・B・C・D・E の5チームがあったとして、総当たりするには
Aを基準に考えると
A-B,A-C,A-D,A-E の4試合
Bを基準に考えると
B-A,B-C,B-D,B-E の4試合
Cを基準に考えると
C-A,C-B,C-D,C-E の4試合
D,E も同様に基準として考えると 各4試合
4試合 x 5チーム = 20
ただ、
A-B,B-A は同じ試合
A-C,C-A は同じ試合
B-C,C-B は同じ試合
・・・・
を指すので
20 ÷ 2 = 10
総試合数は 10試合となると思います。
※ あくまでも、1チームの試合数4試合は変わらず
この総試合数をチーム数で割ってしまった(10 ÷ 5 = 2)から
以下の様な記述になったのでしょうか
>・7チームの場合、総当たりの最小合計試合数は21試合
> 1チームあたりの試合数(3試合)を行えば添付図のようになると思われます
>・11チームの場合総当たりの最小合計試合数は55試合
> 1チームあたりの試合数(5試合)
1チームあたり、これを求めて何の意味があるのかわかりません。
偶数チーム数、
例えば8チームなら 3.5 に・・・ 0.5の試合ってどんな試合?
総当たりを見易く表にしたもの(サッカーの試合で良く見る図)が、
#1、#2に添付した図の様になります。(縦・横にチーム名を並べただけ)
#2の添付図を例にすると、
D2のAが対戦するのは、赤線右側のチームと
D3のBが対戦するのは、赤線右側のチームと
※ 赤線左側の対戦は既にAでの対戦のものを指すから試合数から除外
D4のCが対戦するのは、赤線右側のチームと
※ 赤線左側の対戦は既にA、Bでの対戦のものを指すから試合数から除外
以下同様・・・・
とすると、総試合数を求めるのは、
表赤線左側のものを1段あげて四角形にして面積を求めて2で割る
(赤線左側のものは、赤線右側のものと同じ組合せを指すから)
※ 赤線右側を左に1つずらしても同じ
チーム数 x (チーム数 - 1) ÷ 2
そこで、A-C,A-D,A-E を先に試合したとしても、
試合を消化しただけなので、他の組み合わせに影響はないと思います。
今回の添付図(左上)
Aチームが B・C・F・H・I と先に試合をした・・・
これをグループ分けと捉えるのなら
A~Kを(A・B・C・F・H・I)(D・E・G・J・K)とするなら
A~Kの表内A・B・C・F・H・Iの縦・横に色を付けて、
色がつかなかった部分が残った組合せになると思います。
5チーム残ったので 5 x 4 ÷ 2 = 10 の試合数
#3は、グループ分けと解釈し、
残ったチームの組合せを求めたものになります。
#1、#2では、試合進行をどのような組合せ順ですれば・・・
というものでしたが
※ 1チームあたり・・・
この考え方を推測、また無理やりこじつけると
Aチームが B・C・F・H・I と試合をする時には、Aがホーム開催
Aチームが D・E・G・J・K と試合をする時には、相手がホーム開催
このホーム開催を求めたい・・・になるのでしょうか?
そうであれば、縦・横のチーム記述を(添付図右側)
A・B・D・C・E・F・G・H・J・I・K の順
(Aと、ホーム、相手がホーム、ホーム、相手がホーム・・・)にして
A段の赤線右側の B・C・F・H・I に色を付けます
A列の赤線左側は 色を付けなかったチームに色を付けます
B段の赤線右側は、上段Aの色が付いていない部分に色を付けます
B列の赤線左側は 色を付けなかったチームに色を付けます
これを繰り返していくと、結構綺麗なチェック柄になると思います。
出来上がったら、縦・横入れ替えれば・・・・
色が付いている所がホーム開催・・・
これをコード化すれば良いと思います。
(求め方の一例ですが)
No.3
- 回答日時:
#2です
解釈が苦手です
Aチーム内にBがある/ない場合での、Bチーム以下ってどのチームが対象?
Aチームの方も総当たりが必要??
あ~だこ~だ云っても、先に進まないと思うので
部品として使えるかどうか・・・・という記述にしてみました。
A1~A最終行まで、チーム名を入れて以下を実行してみてください
(A1には A を入れておいてください)
実行すると
・チーム数の入力になります
A を含むチーム数で、6では、A 以外に5チームをランダムで抽出
(★ 部分をコメントにすると、 A を必ず選ぶとは限らない)
・残ったチームで、組合せを作成します
(リーグ戦での表示はやめて、ベタで)
・結果は最終列に追加していきます
※ 同じチーム数を入力しても、ランダムで抽出するので結果は同じにはならない??
(添付図では、チーム数に 6, 5, 7 を入力した時の例)
Option Explicit
Public Sub Samp1()
Dim vA As Variant
Dim sA() As String, sB() As String
Dim sS As String
Dim iHdn As Long, iCnt As Long
Dim i As Long, j As Long
vA = WorksheetFunction.Transpose( _
Range("A1", Cells(Rows.Count, "A").End(xlUp)))
sS = UBound(vA) & " チーム中、何チームを選ぶ?" & vbCrLf _
& "( A1 に記述したチーム含みで)"
sS = InputBox(sS, , UBound(vA) \ 2)
iCnt = Val(sS)
If ((iCnt < 1) Or (iCnt >= UBound(vA) - 1)) Then
iCnt = UBound(vA) \ 2
End If
ReDim sA(1 To iCnt)
Randomize
' 指定数のチーム抽出
iHdn = 0
While (iHdn < iCnt)
j = UBound(vA) - iHdn
i = Int(j * Rnd()) + 1
If (iHdn = 0) Then i = 1 ' ★
iHdn = iHdn + 1
sA(iHdn) = vA(i)
vA(i) = vA(j)
Wend
ReDim Preserve vA(1 To UBound(vA) - iHdn)
' チーム名昇順が必要なら
' sA、vA の2つを対象に、この場所で
' 残ったチームの組合せ
iCnt = 0
For i = 1 To UBound(vA) - 1
For j = i + 1 To UBound(vA)
iCnt = iCnt + 1
ReDim Preserve sB(1 To iCnt)
sB(iCnt) = vA(i) & " - " & vA(j)
Next
Next
' 結果の表示
i = Cells(1, Columns.Count).End(xlToLeft).Column + 1
If (i = 2) Then i = 3
With Cells(1, i)
.Value = "選択チーム"
With .Offset(1).Resize(UBound(sA))
.Value = WorksheetFunction.Transpose(sA)
.Borders.LineStyle = xlContinuous
End With
With .Offset(UBound(sA) + 2)
.Value = "他組合せ"
With .Offset(1).Resize(iCnt)
.Value = WorksheetFunction.Transpose(sB)
.Borders.LineStyle = xlContinuous
End With
End With
With .EntireColumn
.HorizontalAlignment = xlCenter
.AutoFit
End With
End With
End Sub
No.2
- 回答日時:
#1です
リーグ戦の表?っていうのは、添付図のように
斜めに引いた赤の線を境に、右上と左下は対称になっていると思います。
・右上のどこかを消したら、左下の対称部分は消さない。
・右上のどこかを残すのなら、左下の対称部分は消す。
という操作が必要でしょうか?
どちらを消す/残すルールはありますか?
> ※ 図内の数字は、何試合目・・・
と記述していましたが、見方として
D2のAでは、1試合目はBと、2試合目はCと・・・
D3のBでは、1試合目はAと、2試合目はDと・・・
こっちの方がわかり易い?
今週の土曜日は、数字1のチームが試合してください。
来週の土曜日は、数字2のチームが試合してください・・・
部分的に消えていると見難い様な気がしますが?
No.1
- 回答日時:
具体的に、こんな感じというサンプルはありませんか?
一応、添付図の様な総当たり(リーグ戦?)を求めてみたのですが、違うのですよね。
例えば、
A~Kの中で、AがB~Fの5試合したとして、
残りはどういった感じになるのでしょうか?
※ 記述してみた総当たり処理では、19チームの時には後半求められず。
チーム数が多くなると、それなりに遅くなる・・・
(処理を端折っている部分もあって・・・・)
※ 図内の数字は、何試合目・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ホームラン打った時のぬいぐるみ
-
バレー3コート、10チームでの練...
-
なぜ9回裏にXが付くのですか?
-
少年野球・・赤ちゃん連れでも...
-
中学生の子供がいてます。 硬式...
-
アウェイユニホームデザインが...
-
草野球やってる方・・・スラパ...
-
少年野球 指導者のお昼ご飯は...
-
イチローさんの協調性について
-
アメリカ東海岸のチームと西海...
-
チームのファンになる意味がわ...
-
バレー6チーム総当り組み合わせ表
-
中学野球 負けてばかりのチー...
-
10チームが総当り戦(リーグ戦...
-
少年野球の試合の集合時間
-
エクセルでの重複しない抽出方...
-
中日ファンの辞め方
-
プロ野球が好きで観戦に行きま...
-
巨人はなぜ、凄くもろくて弱い...
-
ボーイズリーグとシニアの違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バレー6チーム総当り組み合わせ表
-
バレー3コート、10チームでの練...
-
中学生の子供がいてます。 硬式...
-
10チームが総当り戦(リーグ戦...
-
アメリカ東海岸のチームと西海...
-
中学野球 負けてばかりのチー...
-
小学3年生の息子の少年野球(軟...
-
少年野球の試合の集合時間
-
中学軟式野球部です。 できれば...
-
チーム防御率について
-
埼玉の中学野球でやめたほうが...
-
アウェイユニホームデザインが...
-
少年野球 指導者のお昼ご飯は...
-
ボーイズリーグとシニアの違い
-
メジャーリーグの対戦の表記に...
-
プロ野球が好きで観戦に行きま...
-
バレーボールのリーグ戦の表
-
ボーイズ、シニアに付いて相談...
-
なぜ9回裏にXが付くのですか?
-
「9回裏 2死満塁 サヨナラ遂...
おすすめ情報
3026kiku様
回答いただきありがとうございました。補足させていただきます。
・7チームの場合、総当たりの最小合計試合数は21試合
1チームあたりの試合数(3試合)を行えば添付図のようになると思われます
・11チームの場合総当たりの最小合計試合数は55試合
1チームあたりの試合数(5試合)
この55試合を重複しないように添付図のようになるような組み合わせ抽出方法を教えていただきた
いです。
宜しくお願い致します。
質問が上手くお伝えできてなくてすみません。
再度、補足致します。
Aチームが任意で5チームと総当たり試合すると252通りの方法があると思います。
(₁₀C₅=10x9x8x7x6x5/5x4x3x2x1=30240/120=252)
Aチームが任意で252通りの中の1通りで試合をした場合、252通りの内どの組み合わせでもBチーム以下の総当たりパターン抽出はエクセルで作成可能ですか?
相当な数の組み合わせ数になるとは思っているのですが 。。。
例えば、
・AチームがB,C,D,E,Fと先に試合を行った場合の、Bチーム以下の総当たりパターン
・AチームがG,H,I,J,Kと先に試合を行った場合の、Bチーム以下の総当たりパターン…
上記のように条件をいれたときに、Bチーム以下の全パターン抽出がエクセルで作成可能でしょうか?
どうぞ宜しくお願いします。
回答いただきありがとうございます。
毎回、言葉足らずで申し訳ありません。
再度、図を添付致しますので参照お願いします。
わかりやすくする為に5チームにしています。(総当たり数10)
総当たりするためには、各々が2試合ずつ行う必要があります。
添付図のAチームが試合を行った(黄色塗り)箇所を入力したときにB・C・D・Eの総当たりパターンは自動で抽出できるのでしょうか?
宜しくお願いします。