過去の桐井戸端BBS (桐ver.9)
20754 #順位関数で順位を出したのだが同一数字の場合同じ順位になり数字が飛んでしまう HB 2003/06/08-22:14
#順位の関数を使い
順位を出したのですが、同一数字の場合同じ順位になります
これは、OKなのですが
次の順位物が一つ飛びの順位の数字になっています
例です

A・・・50 1位
B・・・40 2位
C・・・40 2位
D・・・30 4位

となりますDの所は3位にはならないのでしょうか?
初心者なので試行錯誤しながらしているのですが
並び替え等何回しても、結果が同じです
どうかおわかりになる方教えていただけないでしょうか?
20755 Re:#位 通りすがり(常駐モード) 2003/06/08-22:51
記事番号20754へのコメント
>となりますDの所は3位にはならないのでしょうか?
普通は、4位じゃないのでしょうかね?

それはさておき、
データで並べ替え(降順)を行った後、

#COND(#直前値([DATA],[DATA])=[DATA],#直前値([順位],1),1,#直前値([順位],1)+1)

で置換じゃダメでしょうか?

20757 Re:#順位 宮城 2003/06/08-23:13
記事番号20754へのコメント
HBさん、こんにちは。

> itemn が同じ値を持つレコードが続く場合には同じ番号を設定し、
> 値が変わった時点で直前の番号に「同じ値の件数 + 1」を加えた番号
> を設定します。

ヘルプでこう説明されています。つまり、そういう「仕様」ですし、
世間的にも「2位」が二人いたら次は「4位」になるのが多いように思います。

どうしても「1位」「2位」「2位」「3位」・・・にしたいなら、
点数でまず「単一化」で絞り込み、#順位で置換します。
絞り込み(単一化)を解除すると、「1位」「2位」「」「3位」になるはずですので、
3行目のヌルになっている項目を「訂正」→「直前値」ぐらいが現実的な対応策でしょう。

もうちょっとやってみるならば、上の「単一化」→「#順位で置換」後、
「点数」「順位」だけを別表に書き出します。

これでこの点数はこの順位という基準ができたことになりますので、
元の表の絞り込み(単一化)を解除した後、書き出した表で併合をかけます。

「点数」で照合、「順位」は複写。

ただ、どうしても「1位」「2位」「2位」「4位」・・・でなく、
「1位」「2位」「2位」「3位」・・・でなければならないのかどうかは充分確認なさってください。

戻る