[[20150513131234]] 『ゴルフの順位を計算』(setcom) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ゴルフの順位を計算』(setcom)

スコアを比較して、もし同じ点数ならば、ハンデを比較します。
ハンデが低い方を順位を上とします。
ハンデがまた同じなら、年齢を比較します。
年齢が高い方が順位を上とします。
また同じならば、は考えない事、または、登録された順でもいいです。
RANK関数を用いてやることはわかるのですが、
スコア、ハンデ、年齢と3条件あるとどうしていいか分かりません。
最終的には、マクロでやりたいのですが。どうすれば良いか
ヒントだけでもお願い致します。
マクロでは、WorksheetFunction.Rankとすれば良いみたいですね。

< 使用 Excel:Excel2013、使用 OS:Windows7 >


 マクロの必要はないですよ。
 表の提示がないですが、こちらで勝手に想定して作っていいですか??
(稲葉) 2015/05/13(水) 13:20

スコア + ハンデ/100 + (100-年齢)/10000 で比較?
かな?
(ashu) 2015/05/13(水) 13:43

 こういう結果を求めるとして
 A2:D13は既に入力された固定値
 E2=C2-D2
 F2=E2+(100-B2)/100+ROW()/10000
 G2=RANK(F2,$F$2:$F$13,1)

 [A]    [B] [C]  [D] [E]  [F]    [G]
 氏名   年齢 GROSS HC NET  重みづけ  順位
秋山保行  41  85   8  77  77.5902  7
石原雅則  39  94  12  82  82.6103  10
小泉和好  44  92   6  86  86.5604  11
西本菊江  42  81   6  75  75.5805  5
藤沢俊夫  31  72   0  72  72.6906  3
上村益已  40  89  10  79  79.6007  8
篠原俊康  37  87  14  73  73.6308  4
千田雅則  37  96  10  86  86.6309  12
新井慎治  44  72   1  71  71.5610  1
坂井隆昭  36  91  12  79  79.6411  9
富田里香  34  78   2  76  76.6612  6
西岡勝夫  20  73   2  71  71.8013  2

 でこれを順位順に氏名とNETスコアを並べるなら
 適当なセルに
 氏名     =INDEX($A$2:$A$13,MATCH(ROW(A1),$G$2:$G$13,0))
 NETスコア=INDEX($E$2:$E$13,MATCH(ROW(B1),$G$2:$G$13,0))

 これでいかがでしょう?
 NETと年齢が同じ場合は、↑に入力された順番です。
(稲葉) 2015/05/13(水) 13:44

 F2=E2+D2/100+(100-B2)/10000+ROW()/1000000
 ハンデ考慮忘れてた!!
(稲葉) 2015/05/13(水) 13:46

稲葉さん大変有り難う御座いました。
判定優先順番により、小数点以下を利用して重み付けを行うと言う事ですね。
同じ感じで、ハンデへの処理作りましたらOKでした。

(setcom) 2015/05/14(木) 12:14


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.