ハマログ

株式会社イーツー・インフォの社員ブログ

[Excel] VLOOKUPとINDEX+MATCHの違いとは?

データ移行時に使用したExcel関数の VLOOKUP と INDEX+MATCH に関する備忘録です。

 

VLOOKUPとINDEX+MATCHの違い

その1 引数

・VLOOKUP(検索値,範囲,列番号,検索型)

・INDEX(配列,行番号[MATCH(検査値, 検査範囲, 照合の種類)],列番号)

 

VLOOKUPが検索値が最初に入るのに対し、INDEX+MATCHにすると配列から始まります。使用する関数が違うので、当たり前といえばそうなんですが…最初はよく混乱してました。

関数を一つで済むという点ではVLOOKUPが分かりやすいです。

その2 検索対象にできる列が違う

 ・VLOOKUP: 検索範囲内の一番左の列

・INDEX+MATCH: 検索範囲内であれば指定なし

厳密にいうとVLOOKUPでも左端以外の列は指定できますが、検索値より左の列は抽出できません。

その3 探索方法と処理速度が違う

・VLOOKUP(FALSE):線型探索…1行ずつ調べる

・INDEX+MATCH:二分探索…データを降順あるいは昇順に並べ替え、探索したいデータが中央の要素より大きいか小さいかを調べる。

上記の方法ですと、線型探索の方が検索回数が多いです。検索回数が多くなると処理速度が重くなります。

具体的な処理速度などに関しては下記の参考元サイトに記載があります。
参考元:VLOOKUPの高速化方法と速度比較(VLOOKUP/INDEX+MATCH

結局どちらを使用するべきか

データがシンプルかつ検索量が少ない場合は記述の少ないVLOOKUP、データが複雑かつ検索量が多い場合はINDEX+MATCHを使用して作業を行うのが良い印象でした。

どちらか判断できない場合は基本的にINDEX+MATCHを使用したいと思います!


  meg   2021年1月21日


関連記事

WAF LOG Athena

AWSのWAFのlog機能とAthenaを使って分析しようとした件 結果から言う…

出生の秘密

【KITSU】です。 横浜市の2歳の男の子がベビーシッターに預けられたあと埼玉県…

さくらインターネットのcronでphpを動かす

さくらインターネットのレンタルサーバではcronでのスケジュール処理を利用するこ…


← 前の投稿

次の投稿 →