外出自粛中でも楽しく過ごす!QAまとめ>>

こんにちは。
サッカーの試合をするのですが、その際の組み合わせの作り方について
質問です。まだ参加チームが確定していないのですが6チームか7チーム
のどちらかになる予定です。
どちらにしても総当たりで試合をするのですが、組み合わせをexcel
を使って組み合わせをだすにはどうすればいいでしょうか。
グラウンドは1面使用と2面使用の2パターンで、出来るだけ各チームが
同じくらいの間隔をおいて試合をできるようにしたいと思ってます。
一応ある程度既出の質問は見ましたが、総当たりの場合の試合数等は
わかるのですが、2面使ったパターンとできるだけ各チームが等間隔で
試合をできるようにという条件がわかりませんでした。
条件がちょっと複雑かとおもいますが、よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

エクセルはわかりませんが、6チームの15試合、2面なら


2試合ずつ7回と1試合が1回だから、
チーム名をA~F、試合をするを○、しないを×で表し
A B C D E F・・・・1面・・・2面
○○○○××→(A対B)(C対D)
○○××○○→(A対E)(B対F)
××○○○○→(C対E)(D対F)
○○○○××→(A対C)(B対D)
○○××○○→(A対F)(B対E)
××○○○○→(C対F)(D対E)
○○○○××→(A対D)(B対C)
××××○○→(E対F)
と、規則的に見ていけば
どのチームも「試合・試合・休み」のパターンで組めます。

7チーム21試合も同じようにできる気がしますが
面倒なのでパス。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます!
6チームの総当りの場合はdebutさんの方法で均等になるようですね。
ありがとうございます!

お礼日時:2008/04/17 10:08

こんなのエクセルを使えば、便利な方法があるわけじゃない。


パソコンをエクセルと同等視している人がいて、何でもエクセルの質問にするが、見当ハズレ。
エクセルは数を対称にする表計算ソフトであって、その関数なども組み合わせ問題は(場合の数の計算は対象になっても)具体的組み合わせを出すのは不得意です。人間が全部お膳立てしないとならないので
そこでは人間の知恵がほとんどを左右する。
エクセルのカテより、数学(数理)のカテで、こういうパズル的?思考になれた人が見るコーナーに質問したらどうです。
ここは過去に理系・統計などの質問には回答が少なく、文系の人が主に見て答えているようだ。
試合場の数などの関連が難しいと思う。
1会場なら下記の表で右下に1つおきに流す組み合わせ(1日1回試合)はどうかな
b-a,d-c,f-e,c-a・・・
===
組み合わせのチーム名を表にする関数だけは簡単なので書いておく。
A1:H8
abcdefg
a-------
bb-a------
cc-ac-b-----
dd-ad-bd-c----
ee-ae-be-ce-d---
ff-af-bf-cf-df-e--
gg-ag-bg-cg-dg-eg-f-
B2に=IF($A2<=B$1,"-",$A2&"-"&B$1)
と入れてたて方向、次に横方向に式を複写。
結果上記。
aからgを実際のチーム名で置換(7回)
I1に =INDEX($B$2:$G$8,MOD(ROW()-1,7)+1,INT((ROW()-1)/7)+1)
と入れてI42まで式を複写。
その後ーの行を省くため
フィルタオプションの設定で、重複するレコードは無視する
で行う。
b-a
c-a
d-a
e-a
f-a
g-a
-
c-b
d-b
e-b
f-b
g-b
d-c
e-c
f-c
g-c
e-d
f-d
g-d
f-e
g-e
g-f
ーの行だけ(1つ残るが)手作業でそのセル削除
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2008/04/26 19:44

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qリーグ戦(10チーム2コート)作成するソフト

こんにちは。
10チーム総当たり戦で2コート同時に試合進行することを考えています。
そのようなソフトはありますでしょうか?
よろしくお願いいたします。

Aベストアンサー

Excelのマクロで良ければ下記がありますね。
リーグ戦で予定表
http://www.vector.co.jp/soft/win95/home/se483817.html

以上、ご参考まで。

Qエクセル2007で総当り表を作りたいです。

エクセル2007で俗に言う総当り表を作りたいのですが、分からないことがあり作成が進みません。
あれこれ調べてみたのですが私自身関数が得意というわけでもなく…こちらで質問させていただきます。

画像のように

(1)2行目のデータを、関数・オートフィルを用いて2列目に並べなおす
(2)同一のデータ同士が当たらないように、斜めに線を(自動で)引く

という状態にしたいと考えています。
それぞれ、どのような設定・関数を用いればよいのでしょうか?

Aベストアンサー

こんばんは!
質問の操作に関しては関数云々というより、コツコツ手を動かして操作するしかないと思います。
(1)2行目データを範囲指定 → 右クリック → コピー
(2)A3セルを選択 → 右クリック → 形式を選択して貼り付け → 「行列を入れ替える」にチェックを入れOK
(3)Ctrlキーを押しながら斜線を入れたいセルを選択 → 右クリック → セルの書式設定 → 「罫線」タブで「右下がりの斜線」を選択しOK
(4)最後にA2セル~最終セルを選択 → 罫線の「格子」を選択しOK

こういった流れになると思います。

これを自動で!というコトであればVBAになってしまいますが、一例です。
表を作成したい元データはB2セルから列方向に並んでいるとします。

画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub Sample1() 'この行から
Dim j As Long, lastCol As Long
lastCol = Cells(2, Columns.Count).End(xlToLeft).Column
Range(Cells(2, "B"), Cells(2, lastCol)).Copy
Range("A3").PasteSpecial Paste:=xlPasteAll, Transpose:=True
For j = 2 To lastCol + 1
Cells(j, j - 1).Borders(xlDiagonalDown).LineStyle = xlContinuous
Next j
With Range("A2").CurrentRegion
.Borders.LineStyle = xlContinuous
.HorizontalAlignment = xlCenter
End With
End Sub 'この行まで

※ おそらく一度だけの操作になると思いますので、
わざわざマクロでやるよりご自身で手を動かした方が良いと思います。m(_ _)m

こんばんは!
質問の操作に関しては関数云々というより、コツコツ手を動かして操作するしかないと思います。
(1)2行目データを範囲指定 → 右クリック → コピー
(2)A3セルを選択 → 右クリック → 形式を選択して貼り付け → 「行列を入れ替える」にチェックを入れOK
(3)Ctrlキーを押しながら斜線を入れたいセルを選択 → 右クリック → セルの書式設定 → 「罫線」タブで「右下がりの斜線」を選択しOK
(4)最後にA2セル~最終セルを選択 → 罫線の「格子」を選択しOK

こういった流れになると思...続きを読む

Qバレー6チーム総当り組み合わせ表

バレー6チーム 2面コートを使って試合をします。
各コーチ1チーム審判に入り、
6チームの総当りで組み合わせを考えていますが、うまくいきません。
どなたか組みわせを教えてください。
試合数は時間の関係で7試合になると思います。
最後に再度、対戦になってもかまわないのでよろしくお願いします。

Aベストアンサー

6チーム総当りだと 6チーム×5チーム÷2=15試合 ですよね。
コート2面使用だから・・・15÷2=7.5回⇒試合数は8回必要。

まず、仮に6チームに対して次の記号を与えます
 第1チーム:A1  第4チーム:A2
 第2チーム:B1  第5チーム:B2
 第3チーム:C1  第6チーム:C2

そして、次の組み合わせでやれば、良いのでは?
試合数  第1コート 第2コート
1回目  A1+B1 A2+B2
2回目  B2+C1 B1+C2
3回目  A2+C2 A1+C1
4回目  A1+B2 A2+B1
5回目  B2+C2 B1+C1
6回目  A2+C1 A1+C2
7回目  A1+A2 B1+B2
8回目  C1+C2
連戦となりますが、同一の試合数内では同じチームはダブっておりません。

QExcelでの全通りの組み合わせ出力方法(文字列)

Excelについて全くの初心者で、教えて頂きたい質問があります。

Excelの文字列の全通りの組み合わせを出力がしたいのですが、その方法が分かりません。
例えばセルAに
・りんご
・みかん
・いちご

セルBに
・だいこん
・キャベツ
・トマト

があり、別のセルにその全通りの組み合わせを出力
(文字と文字の間はスペース)

りんご だいこん
りんご キャベツ
りんご トマト
みかん だいこん
みかん キャベツ
みかん トマト
いちご だいこん
いちご キャベツ
いちご トマト

この様に出来る方法はあるでしょうか?
また出来ればその裏(だいこん りんご)も出力したいと考えており、キーワードは3つまで出来るようになりたいです。

どなたかご存じでしたら、ぜひお教え下さい。
よろしくお願いします。

Aベストアンサー

A列B列は1行目からデータがあるものとします。
C列に転記するものとします。

以下の手順をおためしください。

1.Altキー+F11キーでVisualBasicEditorを呼び出します。

2.メニューから挿入、標準モジュールで出てきたコードウィンド(右側の白い広い部分)に以下のコードをコピペします。

Sub test01()
a = Cells(Rows.Count, "A").End(xlUp).Row 'A列最終行取得
b = Cells(Rows.Count, "B").End(xlUp).Row 'B列最終行取得
For i = 1 To a '1行からA列最終行まで繰り返し
For n = 1 To b '1行からB列最終行まで繰り返し
x = x + 1
Cells(x, "C") = Cells(i, "A") & " " & Cells(n, "B") 'C列に結合して転記
Next n
Next i
End Sub

3.Alt+F11キーでワークシートへもどります.

4.メニューから、ツール、マクロ、マクロで出てきたマクロ名(test01)を選択して実行

これでできます。
これがわかれば「裏」というのも簡単ですよね。
以上はVBAでの回答ですが、外していたらごめんなさい。

A列B列は1行目からデータがあるものとします。
C列に転記するものとします。

以下の手順をおためしください。

1.Altキー+F11キーでVisualBasicEditorを呼び出します。

2.メニューから挿入、標準モジュールで出てきたコードウィンド(右側の白い広い部分)に以下のコードをコピペします。

Sub test01()
a = Cells(Rows.Count, "A").End(xlUp).Row 'A列最終行取得
b = Cells(Rows.Count, "B").End(xlUp).Row 'B列最終行取得
For i = 1 To a '1行からA列最終行まで繰り返し
For n = 1 To b '1行...続きを読む

Q10チームの総当りになる組み合わせを教えてください。

テニスのチームが日のよって…9~13チームできるのですが、総当りで試合が出来る組み合わせがうまく出来ません。いろんな回答を参考にしたのですが良くわかりません。9チームの時は、1-2、3-4、5-6、7-8、9-1、2-3、4-5…のように教えていただけるとありがたいのですが。同じく10チームから13チームまで教えていただけたら嬉しいです。またもっとチーム数が増えた時の良い計算法を教えてください。

Aベストアンサー

nチームのリーグ戦の総試合数は次の計算式で求められます。
n(nー1)/2
13チームなら、13(13-1)/2=78試合となります。

試合順は次のように、1つのチームを固定して他のチームを順番に回して組むと便利です。

偶数チームのとき(仮にA~Fの6チーム→15試合)
 1 A-F  4 A-E  7 A-D  10 A-C  13 A-B
 2 B-E  5 F-D  8 E-C  11 D-B  14 C-F
 3 C-D  6 B-C  9 F-B  12 E-F  15 D-E

奇数チームのときは最後を空きにすればOKです。
 (A~Eの5チームだったら上と同様に→10試合)
   A-×  3 A-E  5 A-D  7 A-C  9 A-B
 1 B-E    ×-D  6 E-C  8 D-B    C-×
 2 C-D  4 B-C    ×-B    E-×  10 D-E

Qバレー3コート、10チームでの練習試合組合せ

はじめまして。
3コート、10チームでの練習試合を計画しています。試合6チーム、審判3チーム、休憩1チームでの総当たりの組合せを教えてください。よろしくお願いいたします。

Aベストアンサー

10チームに0から9の番号を振りました。
最初が試合で、後ろの4つが審判3と休憩1の例です。
最初の9回は0のチームが連続して出場してくたびれてしまうかもしれないので、適当に行単位で入れ替えて使用してみたらどうかと思います。
0-1 2-3 4-5 : 6 7 8 9
0-2 1-3 4-6 : 7 8 9 5
0-3 1-2 4-7 : 8 9 5 6
0-4 1-5 2-6 : 9 3 7 8
0-5 1-4 2-7 : 3 6 8 9
0-6 1-7 2-4 : 5 8 9 3
0-7 1-6 8-9 : 4 5 2 3
0-8 1-9 2-5 : 7 3 4 6
0-9 1-8 3-4 : 2 5 6 7
2-8 3-5 4-9 : 1 6 7 0
2-9 3-6 7-8 : 4 5 0 1
3-7 5-8 6-9 : 4 0 1 2
3-8 5-6 7-9 : 0 1 2 4
3-9 5-7 6-8 : 1 2 4 0
4-8 5-9 6-7 : 2 3 0 1

QExcelでデータ全通り組み合わせ出力方法

Excelでデータ全通り組み合わせ出力方法について教えて頂けますと助かります。

セルA~Eに、数がまちまちのアイテム名が入っています。
(セルA~Eというのは例で、変則的に全てのアイテム数は増減します。)

全ての組合せをセルG~Kに各々書き出してくれる方法はあるでしょうか?
(イメージ添付あり)

できればセルに入力すれば自動的に組合せが追加されていくのが理想です。
Excel2010を使用しており、VBAは初心者です。


どなたかご存じでしたら、ぜひお教え下さい。
よろしくお願いします。

Aベストアンサー

#1、2、cjです。#1、2、補足欄へのレスです。

取り急ぎ、コードのみ修正しました。
#2を元に書き換えています。

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rSrc As Range
  Application.EnableEvents = False
  Set rSrc = Range("B2").CurrentRegion
  Application.EnableEvents = True
  If Intersect(Target, rSrc) Is Nothing Then Exit Sub
  Application.EnableEvents = False
  Call PrintCombi(rSrc)
  Application.EnableEvents = True
End Sub

Sub PrintCombi(ByVal rSrc As Range)
  Dim tnFld As Long
  Dim nRc As Long
  Dim nConti As Long
  Dim nRow As Long
  Dim i As Long
  Dim j As Long

  tnFld = rSrc.Columns.Count
  nConti = 1
  With rSrc(1, rSrc.Columns.Count + 3)
    .CurrentRegion.Clear
    Cells(1).Resize(, tnFld).Copy .Cells(1)
    For i = tnFld To 1 Step -1
      nRc = Cells(Rows.Count, i).End(xlUp).Row
      nRow = 2
      For j = 2 To nRc
        Cells(j, i).Copy Destination:=.Cells(nRow, i).Resize(nConti)
        nRow = nRow + nConti
      Next j
      nConti = nConti * (nRc - 1)
    Next i
    With .Cells(2, 1).Resize(nConti)
      For i = 2 To tnFld
        Range(.Cells(1, i), .Cells(.Cells.Count + 1, i).End(xlUp)).Copy Destination:=.Columns(i)
      Next i
    End With
  End With
End Sub

#1、2、cjです。#1、2、補足欄へのレスです。

取り急ぎ、コードのみ修正しました。
#2を元に書き換えています。

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rSrc As Range
  Application.EnableEvents = False
  Set rSrc = Range("B2").CurrentRegion
  Application.EnableEvents = True
  If Intersect(Target, rSrc) Is Nothing Then Exit Sub
  Application.EnableEvents = False
  Call PrintCombi(rSrc)
  Application.EnableEvents = True
...続きを読む

Q総当り戦

9チーム(まだはっきりしない)でバレーボールの総当り戦をします。
コートは2面ありできるだけ2面とも効率よく
(どちらかのコートが空いたらすぐ次の試合を行う)
進めていくにはどういう順番で試合を行えばよいでしょうか?
仮に7チームとして考えたんですが、考えれば考えるほど混乱してしまいます。
(1) (2) (3) (4) (5) (6) (7)
(1) -- 1 8 18 10 14 4
(2) 1 -- 5 9 13 17 21
(3) 8 5 -- 2 16 20 12
(4) 18 9 2 -- 6 11 15
(5) 10 13 16 6 -- 3 19
(6) 14 17 20 11 3 -- 7
(7) 4 21 12 15 19 7 --
てきとうに考えたらこうなったんですが、数学が弱いので本当に効率がよいのかどうかわかりません。
できれば7チームのとき、8チームのとき、9チームのときに、それぞれどういう組み合わせが一番効率がよいかを教えてください。
よろしくお願いします。

9チーム(まだはっきりしない)でバレーボールの総当り戦をします。
コートは2面ありできるだけ2面とも効率よく
(どちらかのコートが空いたらすぐ次の試合を行う)
進めていくにはどういう順番で試合を行えばよいでしょうか?
仮に7チームとして考えたんですが、考えれば考えるほど混乱してしまいます。
(1) (2) (3) (4) (5) (6) (7)
(1) -- 1 8 18 10 14 4
(2) 1 -- 5 9 13 17 21
(3) 8 5 -- 2 16 20 12
(4) 18 9 2 -- 6 11 15
(5) 10 13 16 6 -- 3...続きを読む

Aベストアンサー

子供の通う剣道の道場では1チーム(5人)しか出場できない対外試合のメンバーを選ばないとならない場合があります。実力の伯仲するメンバー約10人から5人を選ぶ場合に同じような形式(2コートで空いた方をすぐ使う)で試合を行って、指導の先生が選考の参考とする場合があります。

連続して試合をしたりすると疲労で不利となるのでなるべく、1度対戦すると次の試合までたくさん休憩ができるように考えました。これは自作コンピュータプログラムで計算したものなので、このプログラムを差し上げられればいいのですが、OKWebのシステム上、連絡手段がないので以下に書きます。

コピーペーストで CSVファイルを作成し Excelで読みこんでください。罫線をひくだけでリーグ戦表が完成します。

正式なリーグ戦の作成アルゴリズムが存在するのかは、ボクにはわからないので、この計算ロジックは「オリジナルなるべく休憩がたくさんできるしらみつぶし方」(?)で計算されています。


<7チーム対戦表です。>
どのチームも1度対戦すると必ず2試合以上の休憩ができます。

,Aチーム,Bチーム,Cチーム,Dチーム,Eチーム,Fチーム,Hチーム,
Aチーム,,7,4,11,21,14,18,
Bチーム,7,,16,19,13,10,3,
Cチーム,4,16,,8,1,20,12,
Dチーム,11,19,8,,5,2,15,
Eチーム,21,13,1,5,,17,9,
Fチーム,14,10,20,2,17,,6,
Hチーム,18,3,12,15,9,6,,

#01,Cチーム,-,Eチーム
#02,Dチーム,-,Fチーム
#03,Bチーム,-,Hチーム
#04,Aチーム,-,Cチーム
#05,Dチーム,-,Eチーム
#06,Fチーム,-,Hチーム
#07,Aチーム,-,Bチーム
#08,Cチーム,-,Dチーム
#09,Eチーム,-,Hチーム
#10,Bチーム,-,Fチーム
#11,Aチーム,-,Dチーム
#12,Cチーム,-,Hチーム
#13,Bチーム,-,Eチーム
#14,Aチーム,-,Fチーム
#15,Dチーム,-,Hチーム
#16,Bチーム,-,Cチーム
#17,Eチーム,-,Fチーム
#18,Aチーム,-,Hチーム
#19,Bチーム,-,Dチーム
#20,Cチーム,-,Fチーム
#21,Aチーム,-,Eチーム

<8チーム対戦表です。>
1度対戦すると必ず1試合以上の休憩ができます。

,Aチーム,Bチーム,Cチーム,Dチーム,Eチーム,Fチーム,Hチーム,Iチーム,
Aチーム,,22,5,9,1,27,13,17,
Bチーム,22,,19,28,15,12,7,4,
Cチーム,5,19,,2,10,16,26,21,
Dチーム,9,28,2,,6,24,18,14,
Eチーム,1,15,10,6,,20,23,25,
Fチーム,27,12,16,24,20,,3,8,
Hチーム,13,7,26,18,23,3,,11,
Iチーム,17,4,21,14,25,8,11,,

#01,Aチーム,-,Eチーム
#02,Cチーム,-,Dチーム
#03,Fチーム,-,Hチーム
#04,Bチーム,-,Iチーム
#05,Aチーム,-,Cチーム
#06,Dチーム,-,Eチーム
#07,Bチーム,-,Hチーム
#08,Fチーム,-,Iチーム
#09,Aチーム,-,Dチーム
#10,Cチーム,-,Eチーム
#11,Hチーム,-,Iチーム
#12,Bチーム,-,Fチーム
#13,Aチーム,-,Hチーム
#14,Dチーム,-,Iチーム
#15,Bチーム,-,Eチーム
#16,Cチーム,-,Fチーム
#17,Aチーム,-,Iチーム
#18,Dチーム,-,Hチーム
#19,Bチーム,-,Cチーム
#20,Eチーム,-,Fチーム
#21,Cチーム,-,Iチーム
#22,Aチーム,-,Bチーム
#23,Eチーム,-,Hチーム
#24,Dチーム,-,Fチーム
#25,Eチーム,-,Iチーム
#26,Cチーム,-,Hチーム
#27,Aチーム,-,Fチーム
#28,Bチーム,-,Dチーム

<9チーム対戦表です。>
1度対戦すると必ず3試合以上の休憩ができます。

,Aチーム,Bチーム,Cチーム,Dチーム,Eチーム,Fチーム,Hチーム,Iチーム,Jチーム,
Aチーム,,7,27,35,31,2,12,17,22,
Bチーム,7,,23,15,11,19,28,33,3,
Cチーム,27,23,,5,36,14,32,9,18,
Dチーム,35,15,5,,1,10,20,25,30,
Eチーム,31,11,36,1,,6,16,21,26,
Fチーム,2,19,14,10,6,,24,29,34,
Hチーム,12,28,32,20,16,24,,4,8,
Iチーム,17,33,9,25,21,29,4,,13,
Jチーム,22,3,18,30,26,34,8,13,,

#01,Dチーム,-,Eチーム
#02,Aチーム,-,Fチーム
#03,Bチーム,-,Jチーム
#04,Hチーム,-,Iチーム
#05,Cチーム,-,Dチーム
#06,Eチーム,-,Fチーム
#07,Aチーム,-,Bチーム
#08,Hチーム,-,Jチーム
#09,Cチーム,-,Iチーム
#10,Dチーム,-,Fチーム
#11,Bチーム,-,Eチーム
#12,Aチーム,-,Hチーム
#13,Iチーム,-,Jチーム
#14,Cチーム,-,Fチーム
#15,Bチーム,-,Dチーム
#16,Eチーム,-,Hチーム
#17,Aチーム,-,Iチーム
#18,Cチーム,-,Jチーム
#19,Bチーム,-,Fチーム
#20,Dチーム,-,Hチーム
#21,Eチーム,-,Iチーム
#22,Aチーム,-,Jチーム
#23,Bチーム,-,Cチーム
#24,Fチーム,-,Hチーム
#25,Dチーム,-,Iチーム
#26,Eチーム,-,Jチーム
#27,Aチーム,-,Cチーム
#28,Bチーム,-,Hチーム
#29,Fチーム,-,Iチーム
#30,Dチーム,-,Jチーム
#31,Aチーム,-,Eチーム
#32,Cチーム,-,Hチーム
#33,Bチーム,-,Iチーム
#34,Fチーム,-,Jチーム
#35,Aチーム,-,Dチーム
#36,Cチーム,-,Eチーム

子供の通う剣道の道場では1チーム(5人)しか出場できない対外試合のメンバーを選ばないとならない場合があります。実力の伯仲するメンバー約10人から5人を選ぶ場合に同じような形式(2コートで空いた方をすぐ使う)で試合を行って、指導の先生が選考の参考とする場合があります。

連続して試合をしたりすると疲労で不利となるのでなるべく、1度対戦すると次の試合までたくさん休憩ができるように考えました。これは自作コンピュータプログラムで計算したものなので、このプログラムを差し上げられれば...続きを読む

Qバレーボールのリーグ戦の表

現実に起きている問題なのですが、よろしくお願いいたします。

バレーボールのチームが7チームあります。
7チームでリーグ戦をすることになりました。
すべてのチームとあたるようにすると、それぞれのチームが6試合することになります。その場合は、すべての試合数は21試合です。
しかし、21試合をするだけの時間はありません。
そこで、それぞれのチームが4試合するリーグ戦を考えることになりました。
どんな対戦表になるでしょうか。
また、3試合や5試合の場合はどうなるでしょうか。

よろしくお願いいたします。

Aベストアンサー

七角形を書いて、頂点に一つずつチーム名を書きます。
この七角形の全ての対角線を引きます。
この七角形の辺7本と対角線14本が全ての対戦カードになります。

1チーム4試合ずつの場合は、例えば
「自分と隣り合う2チームとは対戦しない」
とすれば、全チーム4試合ずつの試合が組めますが

3試合、5試合だとどこかのチームだけ
1試合多くなるか少なくなるかしないと無理です。

Q組み合わせの表を作成したいのですが・・・

画像のように9×3の組み合わせをEXCELの表で作成したいと思っています。
組み合わせの数は、3^9通り、即ち19,683通りあります。
途中までは作成したのですが、合っているのか合っていないのか分かりません。
もっと簡単に組み合わせの表が出来ないか、考えています。

エクセルの関数若しくはVBAで計算できる方法があれば教えて頂けると幸いです。

どうかよろしくお願いいたします。

Aベストアンサー

下記コードを新規ブックに挿入して実行してみてください。

Sub sample()
Dim i1 As Integer
Dim i2 As Integer
Dim i3 As Integer
Dim i4 As Integer
Dim i5 As Integer
Dim i6 As Integer
Dim i7 As Integer
Dim i8 As Integer
Dim i9 As Integer

Dim o As Long

o = 2

For i1 = 1 To 3
For i2 = 1 To 3
For i3 = 1 To 3
For i4 = 1 To 3
For i5 = 1 To 3
For i6 = 1 To 3
For i7 = 1 To 3
For i8 = 1 To 3
For i9 = 1 To 3
Cells(o, 1) = i1
Cells(o, 2) = i2
Cells(o, 3) = i3
Cells(o, 4) = i4
Cells(o, 5) = i5
Cells(o, 6) = i6
Cells(o, 7) = i7
Cells(o, 8) = i8
Cells(o, 9) = i9
o = o + 1
Next
Next
Next
Next
Next
Next
Next
Next
Next

End Sub

下記コードを新規ブックに挿入して実行してみてください。

Sub sample()
Dim i1 As Integer
Dim i2 As Integer
Dim i3 As Integer
Dim i4 As Integer
Dim i5 As Integer
Dim i6 As Integer
Dim i7 As Integer
Dim i8 As Integer
Dim i9 As Integer

Dim o As Long

o = 2

For i1 = 1 To 3
For i2 = 1 To 3
For i3 = 1 To 3
For i4 = 1 To 3
For i5 = 1 To 3
For i6 = 1 To 3
For i7 = 1 To 3
For i8 = 1 To 3
For i9 = 1 To 3
Cells(o, 1) = i1
Cells(o, 2) = i2
Cells(o, 3) = i3
Cells(o, 4) ...続きを読む


このカテゴリの人気Q&Aランキング