部署ごとの売上順位など、エクセルで条件別の順位を出したいことが度々ある。通常RANK関数でランキングを出すが、複数条件を指定できるIF機能のついたRANKIF関数はエクセルには存在しない。別の関数をうまく活用することで、条件を指定をしたRANKIF関数のようなことは可能だ。その方法について解説する。RANKIFは、COUNTIFを使えば代用できるランキングとは、そもそもその項目よりも大きい(もしくは小さい)項目がいくつあるか表示する機能と言ってもよい。COUNTIFS関数を使えば、本来エクセルにないRANKIF関数のような操作は実施可能だ。条件2、のように追加していけばよい。具体例を使って解説する。COUNTIFを使った条件別ランキング表示を試してみる下記のエクセルに沿って実際に試してみよう。これは、とある会社の顧客別の売上リストとする。これから地域別のランキングを表示する。活動しており、顧客ごとの地域はA列に記載されている。D列は、全体のランキングだ。通常通り、RANK関数でこれは出せる。E列に、地域別の売上の大きい順でのランキングを表示する。先ほどの通り、その場合の関数は以下の通りだ。・・・)+1これを今回のケースに当てはめると、以下のような入力となる。)+1順位を出す数値の数値の範囲は、売上の順位を出したいため、C列となる。順位を出す数値は、C列の中の、順位を出す特定の企業の売上セルだ。条件範囲1は、地域ごとの条件で順位を出したいため、A列となる。条件1は、同様に、A列の中の、順位を出すと特定の企業の地域セルだ。順位を出す数値の範囲と、条件範囲のセルに「$」を入れているのは、E列全体に関数をコピーした場合に、全体範囲がずれないためだ。結果、以下の通りになる。O社は全体では6位だが、埼玉内では1位だとわかる。COUNTIFSでグループ別順位を計算する仕組みCOUNTIFS関数は、そもそも条件に合う項目がいくつあるかをカウントする関数だ。ここでは、条件の合うもので「対象のセルよりも大きい(もしくは少ない)セルの数」を出している。そのため、大きいか小さいかで”>”と”<“の記号だけ違う。そのままでは、一位のセルが「0」と表示されてしまう。それよりも小さいセルが他に一つもないからだ。最後の「+1」はそのためにある。ドンピシャな関数がなくても他の関数で代用ありそうでないRANKIF関数も、その本質が、対象のセルよりも大きい(もしくは小さい)セルの数をカウントすることだとわかれば、COUNTIFSという別の関数で代用できる。このような小技をいくつか知っていれば、エクセル作成のスピードもあがるだろう。