#1です。
#3に書いた「#2です」は「#1」の間違いです。mshr1962さんゴメンナサイ・
さて、#1の補足に対してですが、
> この表の数値になる意味
VLOOKUPの特性と関連しているので、以下の方で解説します。
> 何故、(55-1)になるのか?とか・・・
「データが2行目から55行目に入っているとして」と断り書きをいれたはずですが、
全参加人員の数を出したかったので「55-1」としましたが、
#3でも言及したように、不定な(毎回変わる)数値はキメ打ちすべきでは無かったです。
COUNTIF等を使って、その都度自動的に分母(参加人数)を算定すべきでしょう。
> =VLOOKUP(INT(RANK(B2,$B$2:$$B55,1)*100/(55-1)),Sheet2!$A$1:$B$5,2,TRUE)
> この数式の意味を教えてもらえたら助かるんですが・・・
これも、#3で言及したようにRANK関数の部部は不要で、かつ計算式がうまくないです。
そこで書き直すと、
=VLOOKUP(ROUNDUP(B2*100/(55-1),0),Sheet2!$A$1:$B$5,2,TRUE)
となります。
要は、上位10%の順位に対して「5の評価」をしたいわけです。
棄権、失格等が無く100人の参加者があったとして、
1位~10位が10%以内で、評価5
11位~40位が30%(10%超~40%)で、評価4
41位~90位が50%(40%超~90%)で、評価3
91位~100位が10%(90%超~100%)で、評価2
「評価1」はないので、#3で言及したように#1で示したものはうまくないのです。
Sheet2
A B
1 0 5
2 10.1 4
3 40.1 3
4 90.1 2
5 100.1 1
とすれば一応うまくいきます、※100.1に対する「1」はダミーです。
VLOOKUPの特性として、検索範囲の中に見つからなかった場合、
この例ではA列のなかで見つからないと、検索値より小さい最大数にポイントされます。
5%なら0、15%なら10.1、94%なら90.1がポイントされ、VLOOKUPの結果はそれぞれ、評価5と評価4と評価2が返されます。
ROUNDUP関数によって、検索値は必ず整数ですから、10.1や40.1がポイントされること決して無く、
必ずそれ以下の部分がポイントされます。
チェックの表に10や40を設定してしまうと、
Sheet2
A B
1 0 5
2 10 5
3 10.1 4
4 40 4
5 40.1 3
6 90 2
7 90.1 2
8 100.1 1
と無駄な行を設定しなくてはならなくなります。
お礼
どうもありがとうございました! 丁寧に教えていただいてとても感謝しています。 ついでで申し訳ありませんが・・・ 1 日本A夫 男 2 日本B子 女 3 日本C子 女 4 日本D夫 男 5 日本E子 女 6 日本F夫 男 このような名簿を作ったときに、別のシートに”男女別”に、しかも”自動的”に振り分けられていく設定ってあるんでしょうか。