2013年06月02日

複数条件から順位をつける

データの多い順、もしくは少ない順に順位をつけたい場合、エクセルではRANK.EQ関数(旧バージョンではRANK関数)というのが使えます。ですが、順位をつける目安とする数値が複数ある場合はどうすればよいでしょうか。

130602rank1.gif

例えば、上のようなデータがあるとします。これらのデータをもとに成績をつける際、基本的には「条件1」の多い順に順位が定まります。ただし「条件1」が同点の場合は「条件2」の多い順、更にそれも同点の場合は「条件3」の少ない順、それも同点の場合は「条件4」の少ない順に順位がつくとします。これらを加味した順位付けができるでしょうか?というものです。

130602rank2.gif

あくまで数値処理で操作を進めるには、判定の基準となる点数を別途設ける必要があると思います。その際、条件には優先される重さがありますから、それを加味して「判定」点を算出する必要があります。そこで、上のような式を考えてみました。すなわち「条件1」の点数に「1000」をかけ、「条件2」の点数には「100」をかけ、これらを足します。そうすることで、おおざっぱには「条件1」の得点が反映した点数で処理をしながら、細部の細かい桁数が「条件2」を反映することになるはずです。更に「条件3」には「10」をかけますが、これは昇順に順位がつくものとされていますから、「判定」点から引き算することにします。最後の「条件4」はそのままの数値で、同じく引き算をしています。それぞれの条件の重さと、降順/昇順を考えあわせたうえでの「判定」点となるはずです。

130602rank3.gif

これらの判定点を基準として、RANK.EQ関数で「降順」に順位をつけると、

130602rank4.gif

ここで求めたいと思っている順位が算出できるものと考えます。但し、「条件1」〜「条件4」がどの程度のスケールの数値かによって、かける数値は調節する必要があります。

…が、ここで、「数値処理」という頭から離れてみると、実は意外に簡単に順位をつけることができます。

130602rank5.gif

まず元の表データに並べ替え命令を出します。複数条件での並べ替えですので、[並べ替えとフィルター][ユーザー設定の並べ替え]を選択します。

130602rank6.gif

「レベルの追加」を使えば、簡単に4条件での並べ替えを指示することができます。もちろん、「昇順」なのか「降順」なのかをキチンと設定しておきます。

130602rank7.gif

これで並べ替えれば、データは上から4つの条件を加味したうえでの高順位者から並ぶことになります。

130602rank8.gif

単純に、表の上から順に「1」「2」「3」…の順位を埋めます。

130602rank8.gif

必要に応じて、元の順に並べ戻す命令を出せば、「4条件」を元にした順位づけが可能です。
posted by らぼ at 14:59| Comment(0) | パソコンの駅 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: