細かすぎて使えないかもしれないExcel Tips(2)(かゆいところに手が届きそうなMATCH関数とINDEX関数)

はやし@color_chipsです。

Excel使っていますか?
データ解析に使っている人も多いのではないかと思います。
久々のExcelネタですが、このブログでは解析屋さんと(勝手に)呼んでいる人に向けた、
ちょっと一般的ではない(と思われる)使い方を(ぼちぼちと)紹介しています。
自分自信、忘れがちな機能なので、メモ代わりに。

最大値データ付近のデータだけ抜き出したい!

データ内の最大値データを取得するのは簡単ですが、
データの並びから、例えば「最大値データの一つ前のデータが何か?」とか、
「最大値データ付近の数点のデータだけ抜き出したい。」とか、
こういう普通はあんまり使わないだろうなと思われる用途を、解析屋さんと呼ばれる人間は求めます。


で、これらの機能をどうやってやるかというと、
MATCH関数とINDEX関数を使います。普段あまり使わない関数ですね。
例を見ながらどうぞ。
この例は、データの中から最大値を見つけ、最大値のデータの1つ前と1つ後のデータを取得しています。
excel_tips2_20130902.png

MATCH関数

MATCH(値、配列、フラグ)
配列内で、値と一致する物を探し、その配列内で何番目にあるかを求める。
フラグは、-1、0、1のどれか。基本的には0を使います。それ以外はほぼ使わないと思います。

INDEX関数

INDEX(配列、行番号、列番号)
配列内で、行番号、列番号に相当する箇所のデータを取得する。
上図の場合では、1列のデータから求めているので、列番号は省略可能です。

上図の例は、
1.MAXを使ってデータから最大値を取得します。
2.MATCHを使って、最大値のある位置の行番号を取得します。
3.「最大値のある位置の行番号-1」番目のデータをINDEXで取得します。
4.同じように「最大値のある位置の行番号+1」番目のデータをINDEXで取得します。
といった流れになっています。

こういういつもとちょっと違う機能を、頭の片隅に覚えておいてもらえると、
いざという時に楽に問題解決できるのではと思います。

あなたのExcelライフのかゆいところに手が届きましたか?


関連記事