10/30/2015

Excel。Match関数。最高値からそのデータがある日付をセル参照するには?


Excel。最高値からそのデータがある日付をセル参照するには?

<MATCH関数とOFFSET関数>


とある所から、大量の売上データがあるそうでして、その中から、最高金額がいくらなのか?
そして、その発生した日がいつなのか?
というのをわかるような方法はないでしょうか?ということでして、

最高金額は、MAX関数を使うのはわかったのですが、
その行はどこかのか?だそうでして、いろんな方法があるとは思うのですが、

今回は、MATCH関数とOFFSET関数を使用して、算出してみましょう。

なお、今回は、同数がいくつもある場合には、最初に出てくる最高金額を見つけるというものです。

下記のようなデータがあります。

今回は、15日分のデータしかありませんが、もっと大量のデータがあるものだとしてください。

では、まずは、最高金額をF2に算出しましょう。

最高金額はMAX関数で算出できますので、オートSUMボタンを使うのが簡単ですね。

では、F2をクリックして、オートSUMボタンの▼をクリックして、

最大値をクリックしましょう。

C3:C17を範囲選択して完成ですね。
数式は、=MAX(C3:C17)
で、400と算出されました。

つづいて、この400というのが、NOのいくつにあるのか?というのを算出させていくわけです。

該当するデータを検出するには、MATCH関数を使うといいでしょう。

ということで、F3をクリックして、MATCH関数ダイアログボックスを表示しましょう。

検索値ですが、これは、400が入っている。F2ですので、F2と入力します。
検査範囲ですが、これは、金額ですから、C3:C17を選択しましょう。
照合の種類は、0。
あとは、OKボタンをクリックしましょう。

F3の数式は、

=MATCH(F2,C3:C17,0)


10と算出されましたね。丁度、範囲選択の10行目に400というデータがありますよね。

では、最後に、その最高値の日付を算出していきましょう。
今、10行目にデータがあることがMATCH関数を使ってわかりましたので、
それを使って算出をしていきましょう。

このようなケースでは、OFFSET関数が登場してきます。

では、F4をクリックして、OFFSET関数ダイアログボックスを表示しましょう。

このOFFSET関数は、
指定したセルから指定した行数・列数へ移動したりすることが出来る関数ですね。

参照ですが、これは、C3の11月1日の金額とします。ここが起点ですね。

行数ですが、先程MATCH関数で算出したF3を使用しましょう。
ただ、注意するのは、そのまま10としてしまうと、

OFFSET関数は、
起点のC3を0(ゼロ)として10行下方向に移動しますのでターゲットのC12のではなくて、
C13を指してしまうので、-1(マイナス1)する必要がありますので、 F3-1。

列数は、日付を算出したいので、-1(マイナス1)

あとは、OKボタンをクリックしましょう。

11月10日と算出されましたね。

ちなみに、数式は、

=OFFSET(C3,F3-1,-1)


このように、データの抽出には、MATCH関数やOFFSET関数を使うと便利ですので、
使えるようになるといいですね。