目的別
同順位があっても次の順位を飛ばす事なく表示
SUMPRODUCT関数とCOUNTIF関数をつかって、同順位があっても次の順位を飛ばす事なく表示させます。
SUMPRODUCT関数 配列内で対応する要素の積を合計します
COUNTIF関数 検索条件に一致するセルの個数をかえします
順位をもとめる時RANK関数を使います。
しかし、上記のように同順位があると、次の順位はその同順位分飛ばされて表示されます。
上記の場合、4位が3つあるので、次の順位は7位となってしまいます。
次の順位を7位ではなく、5位から表示させたい場合SUMPRODUCT関数とCOUNTIF関数を使います。
=SUMPRODUCT(($C$3:$C$14>=$C3)/COUNTIF($C$3:$C$14,$C$3:$C$14))
同順位の後、5位から始まりました。
どういった処理がされているか、すこし分解してご説明します。
SUMPRODUCT関数は配列に対応する関数です。
隣の列にSUMPRODUCT関数だけ入力してみます。
=SUMPRODUCT(($C$3:$C$14>=$C3))
赤枠を見て頂くと、TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;・・・・とあります。
セルE6の売上600以上ある場合がTRUEとなり、600以下がFALSEとなります。
=SUMPRODUCT(($C$3:$C$14>=$C3)*1)
わかりやすく、配列に×1と入れてみます。
売上600以上は6個と返りました。
COUNTIF関数で同じ売上の個数を求めています。
SUMPRODUCT関数でもとめられた答えを、COUNTIF関数で割り算しています。
COUNTIF関数を以下のように入力するのは、配列にしたいからです。
COUNTIF($C$3:$C$14,$C$3:$C$14)
SUMPRODUCT関数の配列 / COUNTIF関数の配列 という事になります。
派遣社員ランキング
Microsoft Officeランキング
にほんブログ村 Windows