この記事で分かること

  • VLOOKUPがモデル実務で嫌われる3つの理由(列番号・左参照・近似一致の罠)
  • INDEX/MATCHの組み立て方と読み方——「どの行?どの列?」の分解思考
  • XLOOKUPの基本と、実務モデルでの使い分け指針

なぜVLOOKUPを卒業するのか

  • ①列番号がハードコード:=VLOOKUP(key, 範囲, 3, …)の「3」は、表に列を1本挿入した瞬間、黙って別の列を返します。エラーが出ない分だけ悪質で、モデルQC(4層チェック)でも捕まえにくい事故です。
  • ②左方向を参照できない:検索キーより左の列は取れず、表の並びに設計が縛られます。
  • ③第4引数の省略が近似一致:省略すると近似一致になり、ソートされていない表ではもっともらしい誤値を返します。完全一致のFALSE指定を忘れた新人の事故は定番中の定番です。

INDEX/MATCH:行と列を分けて考える

組み合わせの意味はシンプルです。MATCHが「何行目?」を探し、INDEXが「その行の値をこの列から取る」——場所探しと値取りの分業です。

表1:構文の分解
数式読み下し
=MATCH(A2, 商品コード列, 0)A2のコードは商品コード列の何行目か(0=完全一致。必ず0)
=INDEX(単価列, 行番号)単価列のその行番号の値を返す
=INDEX(単価列, MATCH(A2, 商品コード列, 0))2つを合体:コードA2に対応する単価
  • 列の挿入・移動に強い(列番号でなく列そのものを参照)、左方向も自由、処理も軽い——VLOOKUPの3欠点をすべて解消します。
  • 行列両方を探す2次元参照 =INDEX(表, MATCH(行キー,…,0), MATCH(列キー,…,0)) は、年度×項目のマトリクスからの取り出しでモデル頻出です。

XLOOKUP:現代の標準

表2:=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索方向])
特徴意味
既定が完全一致VLOOKUP最大の罠(近似一致既定)が解消されている
戻り範囲を直接指定列番号のハードコードが構造的に存在しない。左参照も自由
見つからない場合の指定IFERRORで包まず、第4引数で「該当なし」等を返せる(エラー隠蔽を避けられる)
検索方向の指定末尾から検索(最新レコードの取得)も1つの引数で可能

実務での使い分け指針

  • 新規に作るならXLOOKUPが第一候補。ただし共有相手のExcelバージョンが古い環境では開けないため、配布先を確認してから使います(互換性が読めない配布物はINDEX/MATCHが安全)。
  • 既存モデルの流儀に合わせる:チームのモデルがINDEX/MATCHで統一されているなら混ぜない。関数の混在は引き継ぎコスト(書式と作法)を上げます。
  • 参照が壊れた時のチェック:#N/Aは「見つからない」の正直な報告です。空白や0で塗り潰さず、キー側の表記ゆれ(前後スペース・全半角)を先に疑うのが定石です(検算の設計はチェックの章)。

Q. まだVLOOKUPを使ってはいけないのですか?

A. 使い捨ての集計なら問題ありません。避けるべきは「長く使うモデル・他人が触るモデル」での使用です。列挿入で黙って壊れる関数は、共有資産の中では時限装置になります。

Q. MATCHの第3引数はなぜ毎回0と書くのですか?

A. 省略時は1(近似一致・昇順ソート前提)で、VLOOKUPと同じ罠があるからです。「MATCHの最後は必ず0」を指が覚えるまで書き続けるのが、事故率を下げる最短の訓練です。

まとめ

  • VLOOKUP卒業の理由:列番号ハードコード・左参照不可・近似一致既定の3点。
  • INDEX/MATCHは「何行目?」と「どの列から?」の分業。2次元参照までがモデルの基本装備。
  • 新規はXLOOKUP(完全一致既定・戻り範囲直指定)、配布先の互換性だけ確認。流儀は混ぜない。

実務Excel教材(投資銀行フォーマット)

読んで分かったら、次は手を動かす番です。本記事の内容を実務形式のExcelで組み上げるための教材を用意しています。

教材を見る

本記事について

本文中の数値例はすべて理解のための設例であり、実在の企業・案件とは関係ありません。制度・実務慣行に触れる箇所は一般的傾向の整理です。個別案件への適用時は必ずその時点の一次情報・専門家にご確認ください。