[Excel] VLOOKUPとINDEX+MATCHの違いとは?
データ移行時に使用したExcel関数の VLOOKUP と INDEX+MATCH に関する備忘録です。
VLOOKUPとINDEX+MATCHの違い
その1 引数
その2 検索対象にできる列が違う
・VLOOKUP: 検索範囲内の一番左の列
・INDEX+MATCH: 検索範囲内であれば指定なし
厳密にいうとVLOOKUPでも左端以外の列は指定できますが、検索値より左の列は抽出できません。
その3 探索方法と処理速度が違う
・VLOOKUP(FALSE):線型探索…1行ずつ調べる
・INDEX+MATCH:二分探索…データを降順あるいは昇順に並べ替え、探索したいデータが中央の要素より大きいか小さいかを調べる。
上記の方法ですと、線型探索の方が検索回数が多いです。検索回数が多くなると処理速度が重くなります。
具体的な処理速度などに関しては下記の参考元サイトに記載があります。
参考元:VLOOKUPの高速化方法と速度比較(VLOOKUP/INDEX+MATCH
結局どちらを使用するべきか
データがシンプルかつ検索量が少ない場合は記述の少ないVLOOKUP、データが複雑かつ検索量が多い場合はINDEX+MATCHを使用して作業を行うのが良い印象でした。
どちらか判断できない場合は基本的にINDEX+MATCHを使用したいと思います!