プロが教える店舗&オフィスのセキュリティ対策術

グラウンドゴルフの成績順位を決める場合、次のルールがあります。
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

A 回答 (3件)

こんばんは!


一例です。

↓の画像のように作業用の列を1列設けます。
作業列G2セルに
=IF(COUNTBLANK(B2:D2),"",RANK(B2,B:B)*10000+C2*100+D2)
という数式を入れオートフィルでずぃ~~~!っと下へコピーしておきます。

結果のE2セルに
=IF(G2="","",RANK(G2,G:G))
という数式を入れオートフィルで下へコピー!
これで画像のような感じになります。m(_ _)m
「エクセルで成績に順位をつける方法」の回答画像1
    • good
    • 1
この回答へのお礼

出来ました!有難うございました。ただ、ご教示頂いた公式にやみくもに従って投入しただけなので、どうしてこの公式に至るのかの論理的な背景が判ればもっとスッキリしたと思います。回答NO2の方の手順でも出来たので、両方にベストアンサーにしたいのですが、ベストアンサーは一人に限る由ですので、双方共に外させて頂きました。心情としてはお二人に差し上げたかったとの気持ちだけお伝えします。ご協力有難うございました。

お礼日時:2013/07/10 14:15

作業列を、1列使う方法になってしまいますが。



F2に、 =B2*10000+(100-C2)*100+100-D2
を入れ、下へコピー。

E2に、 =RANK(F2,$F$2:$F$8,1)
を入れ、下へコピー。

作業列(F列)は、非表示にするとかして目立たないように
する必要がありますが・・・

※前提として、ホール数は100以下(=1打、2打とも100以下)で考えてあります。
「エクセルで成績に順位をつける方法」の回答画像2
    • good
    • 0
この回答へのお礼

出来ました!有難うございました。ただ、ご教示頂いた公式にやみくもに従って投入しただけなので、どうしてこの公式に至るのかの論理的な背景が判ればもっとスッキリしたと思います。回答NO1の方の手順でも出来たので、両方にベストアンサーにしたいのですが、ベストアンサーは一人に限る由ですので、双方共に外させて頂きました。心情としてはお二人に差し上げたかったとの気持ちだけお伝えします。ご協力有難うございました。

お礼日時:2013/07/10 14:21

>下記はの「順位」はRANK係数でつけた場合ですが、これを→にする方法をご教示下さい。


RANK関数で順位を付けなくても並び替えで十分です。
1.スコアをキーとして昇順を指定する
2.1打数をキーとして降順を指定する
3.2打数をキーとして降順を指定する
上記3条件を指定して並べ替えをすれば一発で目的の順位に並べ替えられます。
添付図の上は3条件を指定した状態です。
下は実行結果になります。
「エクセルで成績に順位をつける方法」の回答画像3
    • good
    • 2
この回答へのお礼

質問を投稿する前に、私も同じ方法で並び替えをしたのですが、並び替えは出来ても順位の表示を出す方法が煩雑だったのでやめました。結果的に、回答No.1及びNo.2の方の手順で作業を進めた結果、予期通りの結果を得ることが出来ました。ご丁寧なご回答有難うございました。

お礼日時:2013/07/10 14:21

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