• ベストアンサー

順位付け

   A  B  C  D  E 1  A  6  5  2  3  2  B  3  4  1  1 3  C  9  5  3  5 4  D  6  4  2  1 5  D  0  4  0  -4 A列、チ-ム名 B列、勝点 C列試合数 D列、勝数 E列、得失点差 このようなシ-トがある場合、別のセルに1位~5位までの順位付けする関数を教えてください。 尚、勝点が同点場合は得失点差を考慮します。

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

  • ベストアンサー
  • rin01
  • ベストアンサー率43% (33/76)
回答No.3

こんにちは~♪ こんな表の場合です。。。     A     B    C    D    E     F [1] チーム名 勝点 試合数  勝敗 得失点差  順位 [2]   A     6   5     2    3     2 [3]   B     3   4     1    1     4 [4]   C     9   5     3    5     1 [5]   D     6   4     2    1     3 [6]   D     0   4     0    -4    5 F2セルへ =SUMPRODUCT((($B$2:$B$6+$E$2:$E$6/1000)>B2+E2/1000)*1)+1 下へコピー。。。 ご参考にどうぞ。。。 。。MS.Rin~♪♪

norimaki-h
質問者

お礼

返事が遅れました。 教えてもらった関数とvlookup関数と組み合わせでできました。 ありがとうございました。 今後ともよろしくお願いします。

その他の回答 (2)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

作業列使います F1セルに =D1*100+E1  得失点差 最大(100までとして) (或いは =D1+E1/100) 下フィル G1セルには =RANK(F1,F$1:F$5) 下フィルで如何でしょうか。

norimaki-h
質問者

お礼

返事が遅れました。 参考にしてみます。

  • x-nishi
  • ベストアンサー率36% (60/164)
回答No.1

残念ながら、一発で順位付けができる関数はありません。 自分も同じようなシートを作成しましたが、そこには LARGE, VLOOKUP, IF などをふんだんに使いまくり、 とても横長のシートが出来上がりました。 (あまりに見づらいので別のシートで計算をさせて、  順位を表すシートに反映させています。) あと、ヒントとしては、勝ち点、得失点差、の順に優先させてチェックしなければいけないわけですが、 例えば勝ち点には100をかけ、それに得失点差を足す、ということをすると、上の例なら A 603ポイント B 301ポイント C 905ポイント D 601ポイント E -4ポイント となり、C, A, D, B, E という順位をはじき出すことができます。 これをLARGE関数で大きい順にソートし、VLOOLUP関数でポイントとチーム名と一致させます。 あとは元の表を並べ替えるために、チーム名とそれぞれの値をVLOOKUP関数で一致させます。 これ以上は長くなるので、まずはやってみてください。

norimaki-h
質問者

お礼

返事が遅れました。 参考にしてみます。

関連するQ&A