【Excel】VLOOKUPの高速化(INDEX,MATCH関数)
VLOOKUPのグレードアップ版関数(INDEX,MATCH関数)
INDEX,MATCH関数は、VLOOKUPの上位互換ともいうべき関数の組み合わせです。
=INDEX(範囲,MATCH(検査値,検査範囲,[照合の種類]))
言い換えると、以下のようなイメージです。
=INDEX(抽出したい値を含む範囲,MATCH(検索したい値,検査値が含まれる範囲,0))
範囲とは「抽出したい値を含む範囲」、
検査範囲とは「検査値が含まれる範囲」です。
照合の種類は、常に0で構いません。
以下、例示しますのでご参考ください。
INDEX,MATCH関数の数式
INDEX,MATCH関数を使うメリット
- 左端を基準にしなくてよい(VLOOKUPでは左端から何列目かの指定が必要)
- 列を挿入しても関数が壊れない(VLOOKUPでは関数の修正が必要)
- 抽出したい値を含む範囲と検査値が含まれる範囲が離れていてもよい
- 範囲を行(A3:G3など)にすることにより、横方向への抽出も可能(VLOOKUPでは不可能)
- 近似値での検索の場合は、二分検索(といわれている)しているので、とても高速に検索される
VLOOKUP関数についてはこちらも参照してみてください。
これを知っておくだけでだいぶスピードアップすると思います。
2021年2月 追記
Office365では、すでにVLOOKUPの完全なる上位互換の関数「XLOOKUP」が使えるみたいですね・・・。これについても、今後記事にしていきたいと思います。
以下はMacでのOffice365の画面です。
リンク
使えるだけで圧倒的に作業しやすくなります
いいね感覚で押してもらえると励みになります!