• ベストアンサー

エクセルでサッカーの順意表を作り勝敗数でRANK関数を使用し順位が出る

エクセルでサッカーの順意表を作り勝敗数でRANK関数を使用し順位が出るようにしたのですが、同順位の場合得失点の条件も含めて順位をつけるようにしたいのですがどうしたらよいですか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

サッカーの順位表と言うことですが、Jリーグのような勝ち点方式じゃなくって 単純に勝率と、得失点差で順位付けでしたら、 勝率に得失点差の重みを付けた欄を設けて、その欄でRANK()を見たらいいでしょう。 重み付けは、得失点差が最大2ケタとして、勝率に100000を掛けたものに得失点差を 足したものとします 下図参照。 それより、サッカーでも野球でも戦績を間違いなく入力するのが大変で、 出来れば、順位表は戦績表の横に作って、戦績表の数値を利用するように 作ったがベターでしょう。 とりあえず、順位表の簡単な例を、載せておきます。

PONPON-SAN
質問者

お礼

ありがとうございました

その他の回答 (3)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

例えば次のようにしてはどうでしょう。参考にしてください。 仮に5チーム(A,B,C,D,E)で試合をすることにします。 A1セルにはチーム名とでも入力してA2セルから下方にA,B,C,D,Eと入力します。 また、B1セルからF1セルにかけてA,B,C,D,Eと入力します。 AチームがBチームと戦って4対3で勝った場合にはC2セルに4と入力し、B3セルには3と入力します。すなわちAチームが他のチームと戦って得た得点は2行目に入力し、Bチームが他のチームと戦って得た得点は3行目に入力するといった具合です。 A1セルからF6セルに入力された点数を元に勝った場合の重みとか負けた場合の重みさらには得点差を考慮して得点表をH1セルからM6セルにかけて表示させることにします。 H1セルにはチーム名と入力してH2セルからH6セルにはA,B,C・・と入力します。また、I1セルからM1セルにかけても同様にチーム名を入力します。 I2セルには次の式を入力してM2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(INDEX($A:$F,ROW(B2),COLUMN(B2))=0,"",IF(INDEX($A:$F,ROW(B2),COLUMN(B2))>INDEX($A:$F,COLUMN(B2),ROW(B2)),3+(INDEX($A:$F,ROW(B2),COLUMN(B2))-INDEX($A:$F,COLUMN(B2),ROW(B2)))/100,IF(INDEX($A:$F,ROW(B2),COLUMN(B2))=INDEX($A:$F,COLUMN(B2),ROW(B2)),1,(INDEX($A:$F,ROW(B2),COLUMN(B2))-INDEX($A:$F,COLUMN(B2),ROW(B2)))/100))) この式では勝った場合には得点3と、それに勝った時の得点差の100分の1が加算されるようになっています。また、引分のときは得点は1としています。 負けた場合には得点差の100分の1がマイナスの表示になるようにしています。 これらの条件は適宜変更してください。 次にN1セルには得点とでも入力し、N2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(COUNT(I2:M2)=0,"",SUM(I2:M2)) 最後に順位ですがO1セルには順位とでも入力し、O2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(N2="","",RANK(N2,N:N)) これまで述べてきたことをぜひ試験されて、参考になりましたら幸いです。

PONPON-SAN
質問者

お礼

ありがとうございました

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.2

サッカーにあまり詳しくないのでよく解らないのですが、得失点差ってどれくらいまで大きくなるのもなのでしょうか? とりあえず、勝敗数に、得失点差の千分の一を足して、その値でRANK関数を使うのはどうでしょう?

PONPON-SAN
質問者

お礼

ありがとうございました

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

得点表とはどのようになっているのでしょう。

PONPON-SAN
質問者

お礼

ありがとうございました

関連するQ&A