〇 XMATCH関数/MAX関数:毎月の最大売上額はどの店舗か、関数で特定したい。
Q:売上表で各月の最大売上額の位置を特定したいと思っています。どのような関数を使えばよいのかよく分かりません。
A:いくつか候補はありますが、完全に一致する値の位置を既定で返すXMATCH関数を利用してみてはいかがでしょうか。
質問によると、売上表があって各月の最大売上額の位置を特定したいとのことです。この点を念頭にまずベースになる売上表を作成してみました。
F2には指定した範囲の最大値を返すMAX関数を用いて、
=MAX(B2:E2)
とし、この数式をF7までオートフィルして、各月の最大売上額を特定しました。MAX関数は指定した範囲の最大値を返す関数でしたね。
MAX関数 「統計」ボタン
![](https://cdn-active.nikkeibp.co.jp/atcl/act/19/00441/062100096/MAX.jpg?__scale=w:320,h:90&_sh=07f0960220)
指定した範囲の中から最大値を返す。
数値1 最初の数値や範囲を指定する。
数値2,... 省略可能。引数は255個まで指定できる。
ここからが本題です。特定した各月の最大売上額のある位置を特定しなければなりません。ここでは完全に一致する値の位置を既定で返すXMATCH関数を利用してみます。
XMATCH関数 「検索/行列」ボタン
![](https://cdn-active.nikkeibp.co.jp/atcl/act/19/00441/062100096/XMATCH.jpg?__scale=w:240,h:100&_sh=0330a40d40)
指定された検索値を検索範囲内で検索し、検索値の相対位置を返す。
検索値 検索する値を指定する。
検索範囲 検索する配列または範囲を指定する。
一致モード 省略可能。「0」は完全一致(既定)、「-1」は完全一致または最も近い小さな値の項目、「1」は完全一致または最も近い大きな値の項目、「2」は特別な意味を持つワイルドカードの一致。
検索モード 省略可能。「1」は先頭から末尾へ検索(既定)、「-1」は末尾から先頭へ検索(逆方向検索)、「2」は検索範囲が昇順に並んでいることを前提にしてバイナリ検索を実行、「-2」は降順で並べ替えられた検索範囲を使用してバイナリ検索を実行。
引数が多いですが心配無用です。今回は最初の2つしか使用しません。売上表に戻って、最大売上額の位置を示したいG2を選び、
=XMATCH(F2,B2:E2)
と入力して[Enter]キーを押します。この数式をG7までオートフィルすると、各月の最大売上高の位置が数字で返ります。
例えばG2を見ると「位置」は「1」になっています。この月の最大売上額は「¥59,123」です。この金額は指定した「検索範囲」の「1」番目にあります。だから「1」が返ったわけです。