小学館IDをお持ちの方はこちらから
ログイン
初めてご利用の方
小学館IDにご登録いただくと限定イベントへの参加や読者プレゼントにお申し込み頂くことができます。また、定期にメールマガジンでお気に入りジャンルの最新情報をお届け致します。
新規登録
人気のタグ
おすすめのサイト
企業ニュース

VLOOKUPとIF関数の組み合わせ方【図解】|一致したら〇・なければ別の値を返す方法

2026.04.07

VLOOKUPとIF関数を組み合わせる方法を図解で解説。「一致したら〇」「見つからなければ別の処理」など実務でよく使うパターンをサンプル付きで紹介します。

この記事でわかること

  • VLOOKUPとIF関数を組み合わせる4つのパターン
  • どのパターンを使えばいいか迷ったときの判断フロー
  • IFERROR・IFNAの使い分け
  • 空白行に#N/Aを出さない方法
  • 取得した値の中身によって表示を切り替える方法

VLOOKUPとIFを組み合わせる場面

VLOOKUPは「検索して値を返す」機能に特化しています。しかし現場では「見つかったら〇〇、見つからなかったら××」というように条件分岐を加えたいケースが多くあります。

そのときに使うのがIF関数との組み合わせです。

よくある場面使うパターン
#N/Aの代わりに「登録なし」と表示したいIFERROR+VLOOKUP
検索値が空白のときに#N/Aを出したくないIF+VLOOKUP
取得した値が〇〇だったら「対象」と表示したいIF(VLOOKUP(…))
部署によって参照先のマスタを変えたいIF(…, VLOOKUP(…), VLOOKUP(…))

どのパターンから書けばいいかの判断フロー

「IFとIFERRORのどっちを使えばいい?」「どこに何を入れるの?」と迷う方向けに、判断フローを先に整理します。

Q1. VLOOKUPのエラー(#N/A)を処理したいだけ?

  → YES:IFERROR(VLOOKUP(…), “表示したい文字”) → パターン①へ

Q2. 検索値(入力セル)が空欄のときに反応させたくない?

  → YES:IF(C3=””, “”, VLOOKUP(…)) → パターン②へ

Q3. VLOOKUPで取得した”値の中身”によって表示を変えたい?

  → YES:IF(VLOOKUP(…)=条件, “〇〇”, “××”) → パターン③へ

Q4. 参照先のマスタ自体を条件で切り替えたい?

  → YES:IF(条件, VLOOKUP(マスタA), VLOOKUP(マスタB)) → パターン④へ

このフローを見てもピンとこない場合は、パターン①から順番に読んでいただければどれか必ず当てはまります。

パターン①:VLOOKUPが#N/Aのとき別の値を表示する(IFERROR)

最も使用頻度が高い組み合わせです。IFERRORでVLOOKUP全体を包むことで、エラー時の表示を制御できます。

エラー時に「登録なし」を表示するVLOOKUP関数の例 =IFERROR(VLOOKUP(C3, F:I, 2, FALSE), "登録なし")
  • VLOOKUPが正常に値を返す → その値をそのまま表示
  • #N/Aなどエラーが出る → 「登録なし」を表示

空白で表示したい場合は “” を指定します。

エラー時は空欄を返すVLOOKUP関数の例 =IFERROR(VLOOKUP(C3, F:I, 2, FALSE), "")
#N/A エラー時に「登録なし」を表示するVLOOKUP関数の例 =IFNA(VLOOKUP(C3, F:I, 2, FALSE), "登録なし")

パターン②:検索値が空白のときVLOOKUPを実行しない

検索値のセルが空白のとき、VLOOKUPは#N/Aを返します。まだ入力していない行にもエラーが並んで見栄えが悪い場合に使ってください。

IF関数で「空白なら空白、入力済みならVLOOKUP」と制御します。

検索値が空欄なら空欄を返すVLOOKUP関数の例 =IF(C3="", "", VLOOKUP(C3, F:I, 2, FALSE))
  • C3が空白 → 何も表示しない(””)
  • C3に値がある → VLOOKUPを実行して結果を表示

IFERRORと組み合わせると、空白行の処理と「マスタにない場合の処理」の両方をカバーできます。

空欄時は空欄、エラー時は「登録なし」を返すVLOOKUP関数の例 =IF(C3="", "", IFERROR(VLOOKUP(C3, F:I, 2, FALSE), "登録なし"))

パターン③:VLOOKUPの結果によって表示を変える

VLOOKUPで取得した値をそのまま表示するのではなく、その値に応じてさらに条件分岐させるパターンです。

例:在庫数を取得して「在庫あり/在庫なし」を表示する

エラー時に「登録なし」を表示するVLOOKUP関数の例 =IFERROR(VLOOKUP(C3, F:I, 2, FALSE), "登録なし")

マスタから在庫数を取得し、0より大きければ「在庫あり」、0以下なら「在庫なし」と表示します。

例:担当部署を取得して「送付対象/対象外」を判定する

部署名を判定して表示を切り替えるVLOOKUP関数の例 =IF(VLOOKUP(C3, 社員マスタ!A:C, 3, FALSE)="営業部", "送付対象", "対象外")

このパターンは「マスタから取ってきた値をさらに条件判定する」という二段構えの処理です。使い勝手はいいですが、VLOOKUPが同じセルに複数回書かれると重複処理が起きます。同じ検索を何度もさせたくない場合はLET関数でVLOOKUPの結果を変数に入れると効率的です。

パターン④:複数条件でVLOOKUPを切り替える

参照するマスタを条件によって変えたいケースです。

例:商品カテゴリが「消耗品」なら消耗品マスタ、「備品」なら備品マスタを参照する

条件によって参照するマスタを切り替えるVLOOKUP関数の例 =IF(B3="消耗品", VLOOKUP(C3, 消耗品マスタ!A:C, 2, FALSE), VLOOKUP(C3, 備品マスタ!A:C, 2, FALSE))

3パターン以上に分岐させる場合はIFSを使うとスッキリ書けます。

条件ごとに参照するマスタを切り替えるIFS関数の例 =IFS(B3="消耗品", VLOOKUP(C3, 消耗品マスタ!A:C, 2, FALSE), B3="備品", VLOOKUP(C3, 備品マスタ!A:C, 2, FALSE), B3="設備", VLOOKUP(C3, 設備マスタ!A:C, 2, FALSE))

よくある質問(FAQ)

Q. IFERRORとIFNAの使い分けはどうすればいいですか? 

A. すべてのエラーをまとめて処理したいならIFERROR、#N/Aだけを処理して他のエラー(#REF!など)は見えるままにしたいならIFNAです。「数式が壊れている」という問題も隠したくない場面ではIFNAのほうが安全で、個人的にはIFNAを使うケースのほうが多いです。

Q. IFとVLOOKUPを組み合わせると数式が長くなって読みにくいです。

 A. XLOOKUPに切り替えると =XLOOKUP(C3, F:F, G:G, “登録なし”) のように第4引数でエラー時の値を直接指定できるため、IFERRORが不要になります。数式が長くなってきたタイミングが、XLOOKUPへの乗り換えを検討するいいサインです。

⇩ XLOOKUP関数の詳しい解説はこちら ⇩

【脱VLOOKUP】XLOOKUP関数の使い方を解説!列数え不要・エラー処理もこれ1本で完結

この記事でわかること XLOOKUPの基本の使い方(コピペOKの数式付き) 受注管理表を使った実務シミュレーション #N/Aエラーをなくす方法 スピル・複数条件…

Q. VLOOKUP結果を複数の条件で判定したい場合は?

 A. IFSを使うとスッキリ書けます。ただしVLOOKUPが何度も実行されるため、LET関数で結果を一度変数に入れてから判定するとパフォーマンスが改善します。=LET(result, VLOOKUP(C3, F:I, 2, FALSE), IFS(result=”A”, “優秀”, result=”B”, “良好”, TRUE, “要改善”)) という形です。

まとめ

VLOOKUPとIF関数の組み合わせパターンを整理します。

  • IFERROR+VLOOKUP:エラー時に「登録なし」や空白を表示(最もよく使う)
  • IF(C=””, “”, VLOOKUP(…)):空白行に#N/Aを出さない
  • IF(VLOOKUP(…)>条件, “〇〇”, “××”):取得した値で表示を切り替える
  • IF(条件, VLOOKUP(マスタA), VLOOKUP(マスタB)):参照先のマスタを条件で切り替える

どれを使うかは「判断フロー」で選ぶのが一番迷いません。数式が複雑になり始めたタイミングで、XLOOKUPへの切り替えも視野に入れてみてください。

あわせて読みたい

VLOOKUPの使い方とは?基本構文・よくあるエラーまで完全ガイド

この記事でわかること VLOOKUPの基本構文(コピペOK) 別シート参照・複数条件の使い方 #N/A・#REF!などエラーの原因と直し方 VLOOKUPでは限…

VLOOKUPで#N/Aエラーが出る原因と直し方【図解】|消す方法・表示を変える方法まで

この記事でわかること #N/Aエラーが出る4つの原因(全角・半角/スペース/型の不一致/データなし) 原因別の修正方法(ASC・TRIM・VALUE関数など) …

【脱VLOOKUP】XLOOKUP関数の使い方を解説!列数え不要・エラー処理もこれ1本で完結

この記事でわかること XLOOKUPの基本の使い方(コピペOKの数式付き) 受注管理表を使った実務シミュレーション #N/Aエラーをなくす方法 スピル・複数条件…

文/Habiny

@DIMEのSNSアカウントをフォローしよう!

DIME最新号

最新号
2026年3月16日(月) 発売

やっぱり野球が好きだ!『MIX』の立花投馬が表紙を飾る最新号のDIMEはプロ野球・高校野球から球場グルメ、あだち充作品の魅力まで野球愛を全方位に深掘り。さらにSuicaの変革や各鉄道の新ビジネスを幅広く取材したシン鉄道ビジネス特集も。

人気のタグ

おすすめのサイト

ページトップへ

ABJマークは、この電子書店・電子書籍配信サービスが、著作権者からコンテンツ使用許諾を得た正規版配信サービスであることを示す登録商標(登録番号 第6091713号)です。詳しくは[ABJマーク]または[電子出版制作・流通協議会]で検索してください。