プロが教えるわが家の防犯対策術!

エクセルで対戦表を作ろうとしています。
時間に限りがあるので総当りにはできません。
その日ごとに人がかわります。出席、不出席やA級B級の入れ替わりなど
1つのリーグは7人です。
いつも名前の札を使って対戦表をつくっているのですがわかりにくく
時間がかかっています。
作ろうとしているのは
①~⑦で対戦表をエクセルで作っておき
対戦日に①~⑦に名前を割り当てます。
①~⑦で作られた対戦表の紙はすでにあります。
それをエクセルでデータ化し、①~⑦に名前をいれると
名前で対戦表が出来上がる仕組みにしたいとおもいます。
どうぞよろしくおねがいします。

A 回答 (2件)

>①~⑦で作られた対戦表の紙はすでにあります


その対戦表がわからないので、例として次のような考え方は如何ですか。

1. G2へ式  =VLOOKUP(D2,$A$2:$B$8,2) を入力
2. G2セルを選択して、右下隅の十字カーソルを F2までオートフィルコピーする
3. G2セルとF2セルを選択して
  右下隅の十字カーソルをずるずる~と下までオートフィルコピーする。
上記式の意味がわからなければその旨補足して下さい。
「エクセル 将棋 総当りではない対戦表」の回答画像1
    • good
    • 2
この回答へのお礼

ありがとうございました。期間が長くなってしまいましたので質問
しなおしてみます。よろしければおねがいします。

お礼日時:2016/04/02 23:00

リーグ戦の対戦表って基本的には、こんなんですよね(図1)。


これであれば、縦列のABCDを入力し、横列は、縦列の参照で、
簡単にできると思います。

(図1)
  A B C D
A|\ × × ○
B|○ \ × ○
C|× ○ \ ×
D|○ × × \

もし、No.1さんのような対戦表を作るのであれば、次のようにすると
良いらしいです。(http://www.hsbad.com/tool/index.html より)

1,2,3,4,5の場合(人数が奇数の場合の例です)
【1回戦目】両端の人同士から内側に向かって対戦を組みます。
具体的には、1×5、2×4、3はお休み。
【2回戦目】最右端の人を先頭に移動して、同じことを行います。
具体的には、5,1,2,3,4として、
5×4、1×3、2はお休み。
【3回戦目以降】
2回戦目と同じことを繰り繰り返します。
1が最右端になるまで繰り返せば、総当たり完了です。

【人数が偶数の場合】例1,2,3,4,5、6の場合
とりあえず、6を除いた形で、5人の場合と同じ要領で対戦を組みます。
5人の場合、1回戦目で3がお休みですが、それを6と対戦させます。
具体的に1回戦目は、1×5、2×4、3×6
2回戦目以降も同様に休みの人と6を対戦させます。

上記のこと(人数に応じて最適な対戦表を作る)をExcelでやろうとすると、
それなりのVBAを組む必要があります。
もしそれができないようであれば、人数毎の対戦パターンを手で作成しておいて、
No.1さんの回答のような方式で名前を割り当てた方が現実的のような気がします。
その場合、対戦パターンが決まってしまうので、対戦番号を経由しないで、直接名前を
参照した方が、手っ取り早いかもしれません。
    • good
    • 0
この回答へのお礼

ありがとうございました。期間が長くなってしまいましたので質問
しなおしてみます。よろしければおねがいします。

お礼日時:2016/04/02 23:01

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