都道府県別に何月の売上金額が多かったのか順位をつける。
(例)北海道 1位:6月 2位:4月 3位:5月
↓
SUMPRODUCT関数
対応する配列の合計を返す関数。
配列を乗算し、最後に1を足すことでグループ内での順位を出している。
↓D1セルには2が表示するようにしている。(北海道の中で507が2番目に大きいから)
D2セルに「=SUMPRODUCT*1+1」と入力している。
SUMPRODUCT関数の「引数1」に「+1」をすることで順位2を求めている。
配列について
SUMPRODUCT(($B$2:$B$10=B2)*($C$2:$C$10>C2))の結果は、
{0;0;0;0;0;0;0;1;0}となっている。このままだと1が表示されるだけ。
($B$2:$B$10=B2)について
$B$2:$B$10の範囲とB2が一致しているかどうかを判別している。
一致していればTRUE=1、不一致の場合はFALSE=0となる。
{1;0;0;1;0;0;0;1;0}となる。
($C$2:$C$10>C2)について
$C$2:$C$10の範囲でC2よりも大きい数値があるかどうか判別している。
大きければTRUE=1、小さければFALSE=0となる。
{0;0;1;0;0;1;1;1;1}となる。
↓C2(507)より大きいのは769,677,533,666,537の5つ。
SUMPRODUCT(($B$2:$B$10=B2)*($C$2:$C$10>C2))
→SUMPRODUCT({1;0;0;1;0;0;0;1;0}*{0;0;1;0;0;1;1;1;1})
→1
グループ北海道の中で507より大きい数字は666の1つのみ。
つまり507は2番目に大きい数字ということになる。
順位をつける為最後に+1をしている。
一覧表作成
それぞれ順位をつけたものを表に反映させる。
それぞれキーを作成し、INDEXMATCHで表示させる。
*1:$B$2:$B$10=B2)*($C$2:$C$10>C2