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

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

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

ここで求めたいと思っている順位が算出できるものと考えます。但し、「条件1」〜「条件4」がどの程度のスケールの数値かによって、かける数値は調節する必要があります。
…が、ここで、「数値処理」という頭から離れてみると、実は意外に簡単に順位をつけることができます。

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

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

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

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

必要に応じて、元の順に並べ戻す命令を出せば、「4条件」を元にした順位づけが可能です。