« [エクセル] ランキング関連Excel関数 | トップページ | WSH(VBS)でWMI関連リンク集 »

[エクセル] 重複しない本当の順位を求める

Excelのランキング系関数は、重複するデータ(値)は同じ順位とみなされます。
なので、同率の順位が発生した場合、それ以降の順位がずれていきます。

100 100 90 80 70 70 60 50
って、データがあったとします。

順位は、

1位 100
1位 100
3位 90
4位 80
5位 70
5位 70
7位 60
8位 50

になります。

これを、

1位 100
2位 90
3位 80
4位 70
5位 60
6位 50

こういう順位にする方法ですが、かなり面倒みたいです。

アンドリューのエクセルTIPS:重複する値に騙されない

エクセルの関数は重複する値に関して致命的な欠点があります。 ・・・解説・・・

MoreFuncも入れてみたんですが、VBAから使う方法が分かりません。
英語のヘルプを読んでやってみましたが、「マクロが見つかりません」とか「型が一致しません」とか「Runメソッドは失敗しました」 になるので、あきらめました。

UniqueSmall

仕方がないので自作です。
Small関数の重複しないバージョンを作ってみました。

単純な発想で、「Smallへ渡すデータ範囲が重複なければいいはず」って考え方。
重複省く方法も、ソートしてから・・・とかしてません。
超手抜き。

文字コード Shfit_JIS(シフトJIS) です。
ブラウザで見る場合、右クリックでエンコードを切り替えてください。
初期状態でほぼ100%化けてると思います。

「UniqueSmall.txt」をダウンロード






|

« [エクセル] ランキング関連Excel関数 | トップページ | WSH(VBS)でWMI関連リンク集 »

「VBA」カテゴリの記事

「エクセル」カテゴリの記事

「パソコン・インターネット」カテゴリの記事

コメント

なるほど、VBA関数で(配列数式なし)でやりまして関心^^ しかし、普通の関数で面倒かな?(笑)

投稿: アンドリュー | 2005年4月26日 (火) 午後 09時51分

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/44406/3865639

この記事へのトラックバック一覧です: [エクセル] 重複しない本当の順位を求める:

« [エクセル] ランキング関連Excel関数 | トップページ | WSH(VBS)でWMI関連リンク集 »