- 締切済み
エクセルで成績に順位をつける方法
グラウンドゴルフの成績順位を決める場合、次のルールがあります。 1)スコアの少ない(小さい数字)のが上位 2)スコアが同数の場合、「1打」(ホルインワン)が多い人が上位 3)スコアが同数で、「1打」も同数の場合、「2打」の多い人が上位 4)スコア、「1打」、「2打」も同数の場合は、同一ランクとする 下記はの「順位」はRANK係数でつけた場合ですが、これを→にする方法をご教示下さい。 氏名 スコア 1打数 2打数 順位 →修正 A 66 4 12 1 1 B 66 3 14 1 2 C 71 3 14 3 3 D 72 3 15 4 4 E 72 2 10 4 5 F 74 3 9 6 7 G 74 3 11 6 6
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- bunjii
- ベストアンサー率43% (3589/8249)
- kuma310min
- ベストアンサー率40% (212/518)
作業列を、1列使う方法になってしまいますが。 F2に、 =B2*10000+(100-C2)*100+100-D2 を入れ、下へコピー。 E2に、 =RANK(F2,$F$2:$F$8,1) を入れ、下へコピー。 作業列(F列)は、非表示にするとかして目立たないように する必要がありますが・・・ ※前提として、ホール数は100以下(=1打、2打とも100以下)で考えてあります。
お礼
出来ました!有難うございました。ただ、ご教示頂いた公式にやみくもに従って投入しただけなので、どうしてこの公式に至るのかの論理的な背景が判ればもっとスッキリしたと思います。回答NO1の方の手順でも出来たので、両方にベストアンサーにしたいのですが、ベストアンサーは一人に限る由ですので、双方共に外させて頂きました。心情としてはお二人に差し上げたかったとの気持ちだけお伝えします。ご協力有難うございました。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 一例です。 ↓の画像のように作業用の列を1列設けます。 作業列G2セルに =IF(COUNTBLANK(B2:D2),"",RANK(B2,B:B)*10000+C2*100+D2) という数式を入れオートフィルでずぃ~~~!っと下へコピーしておきます。 結果のE2セルに =IF(G2="","",RANK(G2,G:G)) という数式を入れオートフィルで下へコピー! これで画像のような感じになります。m(_ _)m
お礼
出来ました!有難うございました。ただ、ご教示頂いた公式にやみくもに従って投入しただけなので、どうしてこの公式に至るのかの論理的な背景が判ればもっとスッキリしたと思います。回答NO2の方の手順でも出来たので、両方にベストアンサーにしたいのですが、ベストアンサーは一人に限る由ですので、双方共に外させて頂きました。心情としてはお二人に差し上げたかったとの気持ちだけお伝えします。ご協力有難うございました。
お礼
質問を投稿する前に、私も同じ方法で並び替えをしたのですが、並び替えは出来ても順位の表示を出す方法が煩雑だったのでやめました。結果的に、回答No.1及びNo.2の方の手順で作業を進めた結果、予期通りの結果を得ることが出来ました。ご丁寧なご回答有難うございました。