Excel一覧 Excel関数 エラー処理関数(IFERRORなど)

【Excel】IFNA関数で複数条件を処理する方法|VLOOKUP・INDEX/MATCH・IFとの組み合わせでExcel作業を効率化

ExcelでVLOOKUPやMATCH、INDEXを使って検索する際、「該当データがない場合に#N/Aを別の値に置き換えたい」ときに役立つのがIFNA関数です。しかし、実務では「複数条件で検索したい」「複数条件で判断した上でIFNAでエラー処理を行いたい」というケースが非常に多くあります。

この記事では「ifna 複数条件」というキーワードに対応し、以下の内容を徹底解説します。

✅ IFNAの基礎と役割
✅ IFNAで複数条件を扱う基本的な考え方
✅ VLOOKUPとの複数条件検索
✅ INDEX/MATCHとの複数条件検索
✅ IF関数と組み合わせる方法
✅ 実務で使える応用例と注意点

IFNA関数とは?

◆ 基本構文

=IFNA(数式, #N/A時の代替値)

数式の結果が「#N/A」エラーの場合に、任意の代替値を返す関数です。

◆ 対応バージョン

Excel 2013以降

◆ 使う場面

  • VLOOKUPで該当がないときに「未登録」「0」「空白」などを返したい
  • MATCHで順位が見つからないときに空白を返したい
  • #N/Aのみ処理し、それ以外のエラーは残したい

✅ IFNAで複数条件を扱う基本方針

IFNA関数自体は単独で複数条件検索を行う機能を持っていません

そのため、以下のようなアプローチで扱います。

① 複数条件で検索できる構造を作る(列結合など)

VLOOKUP×IFNAの複数条件対応

② INDEX/MATCHの組み合わせで複数条件検索

MATCHの中で複数条件検索を作成し、IFNAでエラー処理

③ IF関数で複数条件分岐を作り、エラー処理だけIFNAで行う

処理の流れを整理しながら使う


VLOOKUP×IFNAで複数条件検索を行う方法

・商品コード+取引先コードの両方が一致する単価を取得する方法

VLOOKUPは単一条件でしか検索できないため、以下の方法で対応します。

1️⃣ 補助列で複数条件を結合

検索表(商品マスタ)側:
  • A列:商品コード
  • B列:取引先コード
  • C列:単価

D列に以下の式を作成:

=A2 & "-" & B2

→ 商品コードと取引先コードを結合した「複合キー」を作る


検索する側(請求書など):

同様に商品コードと取引先コードを結合した検索キーを作成

=B2 & "-" & C2

2️⃣ IFNA×VLOOKUPで検索

=IFNA(VLOOKUP(D2, 商品マスタ!D:E, 2, FALSE), "該当なし")
  • D2:複合キー
  • 商品マスタのD列(キー列)で検索し、E列(単価)を返す
  • 見つからないときは「該当なし」を返す

【Excel】IFNA関数とは?VLOOKUPとの組み合わせで使い方を完全解説!


◆ メリット

✅ 複数条件でのVLOOKUP検索が可能
✅ IFNAで#N/Aを処理し、表の見た目がきれい
✅ データ照合業務で活用できる


INDEX/MATCH×IFNAで複数条件検索

複数条件検索はINDEX/MATCHの方が柔軟で推奨されます。

・ 配列計算による複数条件検索の基本形

=INDEX(返す範囲, MATCH(1, (条件1範囲=条件1)*(条件2範囲=条件2), 0))

この式に IFNA関数 を組み合わせます。

【Excel】XLOOKUP関数で複数条件を扱う方法とは?INDEX・FILTERとの違いも解説【実務対応】


・部門コードと社員番号の両方が一致する給与を検索する方法

  • A列:部門コード
  • B列:社員番号
  • C列:給与

条件:

G2:部門コード
H2:社員番号


・ 数式(Ctrl + Shift + Enter不要:Excel 365/2021以降は通常のEnterで可)

=IFNA(INDEX(C:C, MATCH(1, (A:A=G2)*(B:B=H2), 0)), "未登録")

処理内容:

  • 部門コードがG2、社員番号がH2の両方に一致する行の給与を取得
  • 見つからなければ「未登録」と表示

◆ メリット

✅ VLOOKUPではできない柔軟な複数条件検索
✅ IFNAでエラーを処理し、報告書・集計表の見た目を整えられる


✅ IF関数と組み合わせて複数条件分岐+IFNAで処理

IF関数で複数条件を分岐させ、検索時の「#N/A」エラーだけIFNAで処理する方法も実務で役立ちます。


・部署が「営業」で売上が基準以上なら単価取得、該当がなければ空白にする方法

=IF(AND(D2="営業", E2>=1000000), IFNA(VLOOKUP(B2, 商品表!A:C, 3, FALSE), ""), "")
  • D2:部署名
  • E2:売上
  • B2:商品コード
  • 条件を満たす場合のみVLOOKUPで単価を検索し、該当がなければ空白

【Excel】【保存版】IFERROR関数で空白を返す方法|Excelでエラー時にすっきり見せる実務テクニック

■ IFNA複数条件の注意点

・ IFNAは「#N/A」以外のエラーは処理できない

例えば除算エラー(#DIV/0!)や参照エラー(#REF!)は処理できません。


・ 処理速度に注意

INDEX/MATCHの配列計算で複数条件検索を行う場合、範囲が広いと処理速度が低下することがあります。必要に応じて範囲を絞る(例:A2:A1000)ことをおすすめします。


・ Excelのバージョン対応

IFNA関数はExcel 2013以降のみ使用可能。旧バージョンでは IF(ISNA(...), 値, ...) を使う必要があります。


■ IFNA複数条件活用シーンまとめ

✅ 商品管理(商品コード+取引先別の単価・納期の検索)
✅ 給与計算(部門+社員番号別の給与情報検索)
✅ 在庫管理(倉庫コード+商品コード別の在庫数検索)
✅ 報告資料の自動化(条件を満たすデータを自動抽出)
✅ 「#N/A」を排除したきれいな帳票印刷


■ まとめ:IFNA関数を使った複数条件検索は実務効率化の強力な武器

✅ IFNAは「#N/A」だけを処理できる安全なエラー処理関数
✅ 複数条件検索は「列結合」または「INDEX/MATCH」で実現可能
✅ IF関数との組み合わせでさらに柔軟に制御できる
✅ 在庫・売上・顧客管理など幅広い業務で活躍


IFNA×複数条件検索を使いこなすことで、エラーがない見やすい表と、条件に合致した正確なデータ取得を両立できます。

ぜひあなたのExcel作業に取り入れ、「探さなくても自動で欲しいデータが出てくるExcel環境」を実現してください。

    -Excel一覧, Excel関数, エラー処理関数(IFERRORなど)