[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『成績ランク表の差を出したい』(MAC123)
A B C D 198.2 2 111.1 3 1位と2位の差 150.5 98.5 5 2位と3位の差 87.1 348.7 1 3位と4位の差 4.8 90.2 6 4位と5位の差 7.8 106.3 4 5位と6位の差 8.3 生徒の成績表を作成しておりますが、A欄に成績を入力し B欄にランク関数を利用して成績上位順にランクを付けて おりますが、成績1位と2位の差をD欄に出したいのですが、 いくら考えてもうまくいきません。誰か、お助けを!
同点が有った場合は、順位はどの様に付くのでしょう? RANK関数を使っていた場合 間が飛ぶと思いますが。 例えば、3位が同点だった場合 4位がおらず5位が表示されます。 「差」は何処でとるのですかね?
もしも、同点が居た場合 上側に出てきた人が上位 の様に 6人居たら 必ず1〜6位までが有るのなら 表が1行目から始まっている場合 D2セルに =SUMIF($B$1:$B$6,ROW(A1),$A$1:$A$6)-SUMIF($B$1:$B$6,ROW(A2),$A$1:$A$6) として、下にコピー
とか・・・。
(HANA)
成績の同点はあまりないのですが、あった場合、
B欄において、出席順(上位者)を優先するランク関数はあるのでしょうか。
当方は、=RANK(A2,$A$2:$A$7,0)
で入力しておりますが、わかりましたら、教えてください。
簡単には、作業列を使用してください。 [A] [B] [C] [1] 198.2 198.199 2 [2] 111.1 111.098 3 [3] 111.1 111.097 4 [4] 348.7 348.696 1 [5] 90.2 90.195 6 [6] 106.3 106.294 5 ↑作業列 B1に =A1-ROW(A1)/1000 の様な式を入れます。
すると、A列が同じ数字だった場合でも 行の/1000が引かれるので 上側で出てきた物の方が 数が大きくなります。
このB列の値を使用し、RANK関数でランク付けします。
今回は1000で割っていますが、 全体人数や、A列の小数桁数によって 変更してください。
一番下の人の点数から引く数が A列の点数の最小位よりも小さく成るように 割る数を決めて下さい。
これは、簡単な例を挙げると 元データが10.1(小数第1位まで)だった場合で A1-ROW(A1)/100 とした場合 1番目は 10.1-0.01 = 10.09 10番目は 10.1-0.1 = 10 と成ります。 例えば30番目が 10.2 だった場合 10.2-0.3 = 9.9 で 10.1よりも下位に成ってしまいます。
ですから、その様な事に成らないよう注意して下さい。
(HANA)
A B C D 1 198.2 2 2 111.1 3 1位と2位の差 150.5 3 106.3 4 2位と3位の差 87.1 4 348.7 1 3位と4位の差 4.8 5 90.2 6 4位と5位の差 0 6 106.3 4 5位と6位の差 16.1
106.3を 2箇所設定してみました。
B列(RANK関数) で4位が2個 (内5位含む)で D列に差を =LARGE($A$1:$A$6,ROW(A1))-LARGE($A$1:$A$6,ROW(A2)) で同位があっても 問題ないのでは (だれが何位という 指定するわけでもないので)
(KANA )
参考 成績ランク表の差を出したいには関係ないかも A B C 同点がある場合順位に差をつけたい場合 1 198.2 2 198.2+0.0099 2 111.1 3 111.1+0.0098 3 106.3 4 106.3+0.0097 106.3097 4 348.7 1 348.7+0.0096 5 90.2 6 90.2+0.0095 6 106.3 4 106.3+0.0094 106,3094 4位に差が出来 5位に 同点の場合上の行から順位優先 =LARGE($A$1:$A$6+(100-row($A$1:$A$6))/10000,ROW(A1)) 同点の場合下の行から順位優先 =LARGE($A$1:$A$6+row($A$1:$A$6)/10000,ROW(A1)) 106.3097 の 右2桁が何行目のデータなのか(誰の)を表す数値になります。(補数 上の数式) (KANA )
ANAさん、ありがとうございました。 この週末に仕上げてみます。 助かりました。 (MAC123)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.