- ベストアンサー
エクセル関数を教えてください。
A*B*C*D**総計**順位**MAX-MIN(A1-D1) 1)3*1*2*5**11*****3****2 2)5*7*3*1**16*****1****6 3)1*3*5*2**11*****3****4 4)2*7*4*1**14*****2****6 上のようにスポーツの得点を集計します。総計数で =RANKで順位を確定しようとしたら同得点で エラーになってしまいます。 同順位の場合、MAX-MIN(A1-D1)(得失点差の少ない 方を上位に認定する考えで)の数字の小さいほうに 上位大きいほうに下の順位となるよう設定したいのですが どのような数式を当てはめればいいか悩んでいます。 回答よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>=RANKで順位を確定しようとしたら同得点で,エラーになってしまいます。 これは事実と違うのじゃないですか。エラーにはならないはず。 質問の例では 3 1 3 2 となって RANK関数では 同得点は同順位になる 次の成績の順位は 同順位の前の順位(上記では2番)+同順位の人数(3である2人) +1(すなわち5)からランクがつけられる。 ーー 得失点差勘案 作業列に =F1+1/K1を計算する。F1は合計点、K1は得失点差。 そして下方向に式を複写する。 F列(合計点) 11 16 11 14 9 J列(得失点差) 2 6 4 6 3 L列(得失点差逆ウエイト勘案) 式は=F1+1/J1 得失点差が小さいほうが有利なように(値が大きくなるよう)何分の1という、逆数を取ってます。 合計点による順位を大枠崩さないように、得失点差逆ウエイトは1未満の値になるよう1/(得失点差)にしてます。 11.5 16.16666667 11.25 14.16666667 9.333333333 M列(順位、L列の値を元に通常のランク関数でランクを出してます) M2式 =RANK(L1,$L$1:$L$10) 3 1 4 2 5 ーー 以上は作業列を使ってます。作業列を使ったほうが、式の考え方が易しくなります。これで理解したうえで、関数の通になりたければ、既回答の式など勉強し、式の理解に挑戦してください。
その他の回答 (2)
「スポーツの得点を集計」法のルールを知らないのでお尋ねしたいのですが、1行目の「得失点差」はどうして 2 になるのですか?
お礼
ありがとうございます。 週末の試合に間に合う表が作成できました。 ご協力に感謝します。
- maron--5
- ベストアンサー率36% (321/877)
A B C D E F G 1 A B C D 総計 順位 得失点差 2 3 1 2 5 11 3 2 3 5 7 3 1 16 1 6 4 1 3 5 2 11 4 4 5 2 7 4 1 14 2 6 F2=MATCH(1,INDEX(((E2-G2*10^-5)=LARGE($E$2:$E$5-$G$2:$G$5*10^-5,ROW($1:$4)))*1,),0) ★下にコピー
お礼
ありがとうございました。 問題解決して週末の試合に 間に合いました。 関数を複数組み合わせるのは 難しいけど、覚えるとすごく便利ですね。 今回の件に感謝しつつもう少し 勉強して、困っている方に 教えてあげられるようになりたいです。 皆さんほんとにありがとうございました。
お礼
ありがとうございます。 関数に関する実例集など見たのですが 不確定な相手に対する2次条件付け っていうのでしょうか?その部分がわからなく 悩んでました。 回答ありがとうございました。