<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>IFNA関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/ifna%E9%96%A2%E6%95%B0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Mon, 23 Mar 2026 14:55:13 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>IFNA関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのIFNA関数の使い方｜#N/Aエラー時の代替値を設定する方法</title>
		<link>https://mashukabu.com/spreadsheet-ifna-function/</link>
					<comments>https://mashukabu.com/spreadsheet-ifna-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 23 Mar 2026 14:55:13 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[IFERROR関数]]></category>
		<category><![CDATA[IFNA関数]]></category>
		<category><![CDATA[INDEX関数]]></category>
		<category><![CDATA[MATCH関数]]></category>
		<category><![CDATA[VLOOKUP関数]]></category>
		<category><![CDATA[エラー処理]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5204</guid>

					<description><![CDATA[スプレッドシートのIFNA関数の使い方を基本から解説。#N/Aエラーだけを処理する構文から、VLOOKUPやINDEX/MATCHとの組み合わせ、IFERROR関数との違い、よくあるエラーの対処法まで実務シナリオで丁寧に解説します。]]></description>
										<content:encoded><![CDATA[
<p>スプレッドシートでVLOOKUPやMATCHを使ったら「#N/A」が表示された。こんな経験、ありませんか？</p>



<p>「#N/Aだけ消したいけど、数式ミスまで隠すのは怖い」。そんなときに活躍するのがスプレッドシートのIFNA関数です。</p>



<p>この記事では基本の書き方から実務パターンまで解説します。<a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a>との違いもしっかり紹介しますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのIFNA関数とは？#N/Aエラー専用の処理関数</a></li><li><a href="#toc2" tabindex="0">IFNA関数の書き方（構文・引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li><li><a href="#toc5" tabindex="0">最もシンプルな使用例</a></li></ol></li><li><a href="#toc6" tabindex="0">基本的な使い方3選</a><ol><li><a href="#toc7" tabindex="0">#N/Aを空白にする</a></li><li><a href="#toc8" tabindex="0">#N/Aのときにメッセージを表示する</a></li><li><a href="#toc9" tabindex="0">#N/Aのときに数値を返す</a></li></ol></li><li><a href="#toc10" tabindex="0">実務で使える応用パターン</a><ol><li><a href="#toc11" tabindex="0">VLOOKUP+IFNAで未登録データを処理する</a></li><li><a href="#toc12" tabindex="0">INDEX/MATCH+IFNAで柔軟な検索をする</a></li><li><a href="#toc13" tabindex="0">IFNAのネストで複数テーブルを順番に検索する</a></li><li><a href="#toc14" tabindex="0">IF関数と組み合わせて空白セルを除外する</a></li></ol></li><li><a href="#toc15" tabindex="0">IFNA関数とIFERROR関数の違い・使い分け</a><ol><li><a href="#toc16" tabindex="0">どちらを使うべき？判断基準</a></li></ol></li><li><a href="#toc17" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc18" tabindex="0">まとめ</a><ol><li><a href="#toc19" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのIFNA関数とは？#N/Aエラー専用の処理関数</span></h2>



<p>IFNA関数（読み方: イフエヌエー関数）は、<strong>数式の結果が#N/Aエラーのときだけ代わりの値を返す関数</strong>です。</p>



<p>「IF」は「もし」、「N/A」は「Not Available（該当なし）」の略です。</p>



<p>たとえば「VLOOKUPで該当なしのときだけ代替値を表示したい」場面です。IFNA関数なら#N/Aだけを処理できます。</p>



<p>それ以外のエラーはそのまま残せますよ。</p>



<p>IFNA関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>や<a href="https://mashukabu.com/spreadsheet-match-function/">MATCH関数</a>の#N/Aを空白やメッセージに置き換える</li><li>#N/A以外のエラー（#REF!や#VALUE!など）はそのまま残す</li><li>数式ミスによるエラーを見逃さずに済む</li><li>「検索値が見つからない」ことだけを想定内として処理できる</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>IFERRORとの最大の違い</strong></p><p><a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a>はすべてのエラーをまとめて処理します。一方、IFNA関数は#N/Aだけが対象です。「検索で見つからない」は想定内だけど、「参照先が消えた」「数式が壊れた」は検知したい。そんなときはIFNA関数のほうが安全ですよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc2">IFNA関数の書き方（構文・引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc3">基本構文</span></h3>



<p>IFNA関数の構文はとてもシンプルです。</p>



<pre class="wp-block-code"><code>=IFNA(値, NA時の値)</code></pre>



<p>引数は2つだけ。<a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a>とまったく同じ形なので覚えやすいですよね。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の説明</span></h3>



<p>それぞれの引数の意味を表で整理しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>値</td><td>必須</td><td>#N/Aかどうかをチェックしたい数式やセル参照</td></tr><tr><td>NA時の値</td><td>任意</td><td>#N/Aだったときに返す値。文字列・数値・数式のいずれもOK</td></tr></tbody></table></figure>



<p>第2引数を省略するとどうなるでしょうか。Googleスプレッドシートでは空文字列（&#8221;&#8221;）が返ります。</p>



<p>実務では表示したい値を明示するのがおすすめですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>文字列を返す場合はダブルクォーテーションで囲みます。数値を返す場合は囲みません。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc5">最もシンプルな使用例</span></h3>



<p>A2にVLOOKUPの結果が入っているとします。#N/Aのときに「該当なし」と表示してみましょう。</p>



<pre class="wp-block-code"><code>=IFNA(VLOOKUP(A2, D:E, 2, FALSE), &quot;該当なし&quot;)</code></pre>



<ul class="wp-block-list"><li><strong>VLOOKUP(A2, D:E, 2, FALSE)</strong>: A2の値をD列から検索</li><li><strong>&#8220;該当なし&#8221;</strong>: #N/Aエラー時に表示するテキスト</li></ul>



<p>検索値が見つかれば結果がそのまま返ります。見つからなければ「該当なし」と表示されます。</p>



<h2 class="wp-block-heading"><span id="toc6">基本的な使い方3選</span></h2>



<p>基本がわかったところで、仕事でよく使うパターンを見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc7">#N/Aを空白にする</span></h3>



<p>一番よく使うパターンが、#N/Aを空白に置き換えるケースです。</p>



<pre class="wp-block-code"><code>=IFNA(VLOOKUP(A2, D:E, 2, FALSE), &quot;&quot;)</code></pre>



<p>検索値が見つからなかったセルが空白になります。印刷する資料や共有用のシートで重宝しますよ。</p>



<h3 class="wp-block-heading"><span id="toc8">#N/Aのときにメッセージを表示する</span></h3>



<p>空白ではなく、わかりやすいメッセージを表示することもできます。</p>



<pre class="wp-block-code"><code>=IFNA(VLOOKUP(A2, D:E, 2, FALSE), &quot;該当なし&quot;)</code></pre>



<p>#N/Aの代わりに「該当なし」と表示されます。データが見つからなかったことをひと目で伝えたいときに便利です。</p>



<h3 class="wp-block-heading"><span id="toc9">#N/Aのときに数値を返す</span></h3>



<p>数値を返すパターンも実務でよく使います。</p>



<pre class="wp-block-code"><code>=IFNA(VLOOKUP(A2, 単価表!A:B, 2, FALSE), 0)</code></pre>



<p>#N/Aの代わりに0を返します。SUM関数やAVERAGE関数の集計でエラーが止まるのを防げますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>#VALUE!や#REF!はどうなる？</strong></p><p>IFNA関数は#N/A以外のエラーには反応しません。たとえば参照先を削除して#REF!が発生した場合、そのまま#REF!が表示されます。数式ミスが隠れないので安心ですね。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc10">実務で使える応用パターン</span></h2>



<h3 class="wp-block-heading"><span id="toc11">VLOOKUP+IFNAで未登録データを処理する</span></h3>



<p>IFNA関数の最も定番の使い方が、<a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>との組み合わせです。</p>



<p>商品コードで商品マスタを検索するケースを考えてみましょう。</p>



<pre class="wp-block-code"><code>=IFNA(VLOOKUP(A2, 商品マスタ!A:C, 3, FALSE), &quot;未登録&quot;)</code></pre>



<p>商品コードが見つからなければ「未登録」と表示します。大量データの突合で必須のテクニックですよ。</p>



<p><a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a>でも同じことはできます。ただしIFERRORだと列番号ミスの#REF!も隠れてしまいます。</p>



<p>IFNA関数なら#REF!はそのまま表示されます。不具合に気づけるのがメリットですよ。</p>



<h3 class="wp-block-heading"><span id="toc12">INDEX/MATCH+IFNAで柔軟な検索をする</span></h3>



<p><a href="https://mashukabu.com/spreadsheet-index-function/">INDEX関数</a>と<a href="https://mashukabu.com/spreadsheet-match-function/">MATCH関数</a>を組み合わせた検索でも活躍します。</p>



<pre class="wp-block-code"><code>=IFNA(INDEX(C:C, MATCH(E2, A:A, 0)), &quot;該当なし&quot;)</code></pre>



<p>「検索列より左側の値を取得する」パターンです。見つからないときだけ「該当なし」を返します。</p>



<p>VLOOKUPでは対応できない検索が必要な場面で使ってみてください。</p>



<h3 class="wp-block-heading"><span id="toc13">IFNAのネストで複数テーブルを順番に検索する</span></h3>



<p>第2引数に別のIFNA関数を入れると、複数テーブルを順番に検索できます。</p>



<pre class="wp-block-code"><code>=IFNA(VLOOKUP(A2, シート1!A:B, 2, FALSE), IFNA(VLOOKUP(A2, シート2!A:B, 2, FALSE), &quot;どちらにもなし&quot;))</code></pre>



<p>まずシート1で検索します。#N/Aならシート2を検索します。どちらにもなければ「どちらにもなし」を表示する仕組みです。</p>



<p>ちょっと複雑に見えますが、やっていることはシンプルです。「最初のIFNAが失敗したら次のIFNAを試す」という流れですよ。</p>



<h3 class="wp-block-heading"><span id="toc14">IF関数と組み合わせて空白セルを除外する</span></h3>



<p><a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>とIFNA関数を組み合わせると、入力前のセルを除外できます。</p>



<pre class="wp-block-code"><code>=IF(A2=&quot;&quot;, &quot;&quot;, IFNA(VLOOKUP(A2, D:E, 2, FALSE), &quot;該当なし&quot;))</code></pre>



<p>A2が空白ならそもそも検索しません。値が入っているときだけVLOOKUPを実行します。</p>



<p>入力途中のデータを扱うときに便利なパターンですよ。</p>



<h2 class="wp-block-heading"><span id="toc15">IFNA関数とIFERROR関数の違い・使い分け</span></h2>



<p>IFNA関数と<a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a>は構文が同じですが、動作が異なります。大きな違いは「処理するエラーの範囲」です。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>IFNA</th><th>IFERROR</th></tr></thead><tbody><tr><td>対象エラー</td><td>#N/Aのみ</td><td>全7種のエラー</td></tr><tr><td>主な用途</td><td>VLOOKUP等の「該当なし」だけ処理</td><td>汎用的なエラー処理</td></tr><tr><td>バグ発見</td><td>#N/A以外はそのまま表示される</td><td>エラーを隠す可能性あり</td></tr><tr><td>構文</td><td>=IFNA(値, NA時の値)</td><td>=IFERROR(値, エラー時の値)</td></tr></tbody></table></figure>



<p>具体的に、同じ数式にミスがあった場合の動作を比較してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>発生したエラー</th><th>IFNA関数</th><th>IFERROR関数</th></tr></thead><tbody><tr><td>#N/A（検索値なし）</td><td>代替値を表示</td><td>代替値を表示</td></tr><tr><td>#REF!（参照先削除）</td><td>#REF!をそのまま表示</td><td>代替値を表示</td></tr><tr><td>#VALUE!（データ型不正）</td><td>#VALUE!をそのまま表示</td><td>代替値を表示</td></tr><tr><td>#NAME?（関数名ミス）</td><td>#NAME?をそのまま表示</td><td>代替値を表示</td></tr></tbody></table></figure>



<p>IFERRORだと#REF!や#NAME?も代替値に置き換わります。数式のスペルミスに気づけないリスクがありますよね。</p>



<h3 class="wp-block-heading"><span id="toc16">どちらを使うべき？判断基準</span></h3>



<p>使い分けの基準はシンプルです。</p>



<ul class="wp-block-list"><li><strong>VLOOKUPやMATCHの「該当なし」だけ処理したい</strong> → IFNA関数がおすすめ</li><li><strong>割り算のゼロ除算など複数種のエラーをまとめて処理したい</strong> → <a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a>が便利</li><li><strong>数式のバグを見逃したくない</strong> → IFNA関数が安全</li></ul>



<p>迷ったらIFNA関数を選んでおくのが安全です。想定外のエラーはそのまま残せるので、デバッグしやすくなりますよ。</p>



<h2 class="wp-block-heading"><span id="toc17">よくあるエラーと対処法</span></h2>



<p>IFNA関数自体はシンプルですが、ハマるポイントがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#N/A以外のエラーも処理したい</td><td>IFNA関数は#N/Aのみ対象</td><td><a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a>に切り替える</td></tr><tr><td>#N/Aなのに代替値が表示されない</td><td>IFNA関数の外で#N/Aが発生している</td><td>#N/Aを返す数式をIFNAの第1引数に直接入れる</td></tr><tr><td>#NAME?エラーが出る</td><td>関数名のスペルミス</td><td>関数名は <code>IFNA</code> と正確に入力する</td></tr><tr><td>意図しない空白が表示される</td><td>第2引数を省略している</td><td>表示したい値（0や&#8221;該当なし&#8221;など）を明示する</td></tr><tr><td>#VALUE!がそのまま表示される</td><td>IFNA関数は#VALUE!に反応しない（正常動作）</td><td>#VALUE!も処理したいならIFERROR関数を使う</td></tr><tr><td>#REF!がそのまま表示される</td><td>IFNA関数は#REF!に反応しない（正常動作）</td><td>参照先のセルやシートが正しいか確認する</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>デバッグのコツ</strong></p><p>トラブル発生時は、まずIFNA関数を外して中の数式だけをテストしましょう。#N/A以外のエラーが出ていないか確認できます。「エラーが消えない」と思ったら、実は#N/A以外のエラーだったというケースが多いですよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc18">まとめ</span></h2>



<p>スプレッドシートのIFNA関数について解説しました。ポイントを振り返りましょう。</p>



<ul class="wp-block-list"><li>IFNA関数の構文は <code>=IFNA(値, NA時の値)</code> の2つの引数</li><li>#N/Aエラーだけを処理し、他のエラーはそのまま表示する</li><li>VLOOKUP+IFNAの組み合わせが実務で最も頻出</li><li>INDEX/MATCH+IFNAで柔軟な検索にも対応</li><li>IFERRORとの違いは「対象エラーの範囲」</li><li>数式のバグを見逃したくないならIFNA関数が安全</li></ul>



<p>まずはVLOOKUP+IFNAから試してみてください。#N/Aだけをきれいに処理しつつ、数式の不具合も見逃しません。</p>



<h3 class="wp-block-heading"><span id="toc19">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-iferror-function/">スプレッドシートのIFERROR関数の使い方</a> &#8212; 全エラーをまとめて処理</li><li><a href="https://mashukabu.com/spreadsheet-vlookup-function/">スプレッドシートのVLOOKUP関数の使い方</a> &#8212; 検索の基本</li><li><a href="https://mashukabu.com/spreadsheet-index-function/">スプレッドシートのINDEX関数の使い方</a> &#8212; 柔軟なセル参照</li><li><a href="https://mashukabu.com/spreadsheet-match-function/">スプレッドシートのMATCH関数の使い方</a> &#8212; 位置を検索する</li><li><a href="https://mashukabu.com/spreadsheet-if-function/">スプレッドシートのIF関数の使い方</a> &#8212; 条件分岐の基本</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-ifna-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのIF・IFS・IFERROR・IFNAの使い分け｜選び方フロー付き</title>
		<link>https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/</link>
					<comments>https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 20 Mar 2026 23:09:12 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[IFERROR関数]]></category>
		<category><![CDATA[IFNA関数]]></category>
		<category><![CDATA[IFS関数]]></category>
		<category><![CDATA[IF関数]]></category>
		<category><![CDATA[エラー処理]]></category>
		<category><![CDATA[使い分け]]></category>
		<category><![CDATA[条件分岐]]></category>
		<category><![CDATA[比較]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4707</guid>

					<description><![CDATA[ExcelのIF・IFS・IFERROR・IFNAの4関数を「条件の数」「エラー対処が目的か」の2軸で整理。選び方フローチャートとIF→IFSの書き換え例で、どの関数を使うべきか一目でわかります。]]></description>
										<content:encoded><![CDATA[
<p>「IF関数は使えるけど、IFSとかIFERRORとか似た名前の関数がいくつもあって、どれを使えばいいかわからない」と感じたこと、ありませんか？</p>



<p>間違った関数を選ぶと、数式がムダに複雑になったり、本来気づくべきエラーを見落としてしまったりします。</p>



<p>この記事では、IF・IFS・IFERROR・IFNAの4つの関数を「条件分岐か、エラー処理か」「条件の数はいくつか」という2つの軸でスッキリ整理します。記事の最後には選び方フローチャートも用意したので、もう迷うことはありませんよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">IF系4関数の違い【結論から】</a></li><li><a href="#toc2" tabindex="0">IF関数の基本と使いどころ</a><ol><li><a href="#toc3" tabindex="0">構文</a></li><li><a href="#toc4" tabindex="0">使用例</a></li><li><a href="#toc5" tabindex="0">IFが向いているケース</a></li></ol></li><li><a href="#toc6" tabindex="0">IFS関数の基本と使いどころ</a><ol><li><a href="#toc7" tabindex="0">構文</a></li><li><a href="#toc8" tabindex="0">IFネストからIFSへの書き換え</a></li><li><a href="#toc9" tabindex="0">IF と IFS、どちらを使う？</a></li></ol></li><li><a href="#toc10" tabindex="0">IFERROR関数の基本と使いどころ</a><ol><li><a href="#toc11" tabindex="0">構文</a></li><li><a href="#toc12" tabindex="0">対処できるエラーの種類</a></li><li><a href="#toc13" tabindex="0">使用例</a></li><li><a href="#toc14" tabindex="0">IFERRORの注意点</a></li></ol></li><li><a href="#toc15" tabindex="0">IFNA関数の基本と使いどころ</a><ol><li><a href="#toc16" tabindex="0">構文</a></li><li><a href="#toc17" tabindex="0">IFERRORとIFNAの使い分け</a></li><li><a href="#toc18" tabindex="0">使用例</a></li></ol></li><li><a href="#toc19" tabindex="0">4関数の選び方フローチャート</a></li><li><a href="#toc20" tabindex="0">実務でよく使う組み合わせパターン</a><ol><li><a href="#toc21" tabindex="0">パターン1: IFS + IFERROR（条件分岐 + エラー処理）</a></li><li><a href="#toc22" tabindex="0">パターン2: IF + AND/OR（複合条件の分岐）</a></li><li><a href="#toc23" tabindex="0">パターン3: VLOOKUP + IFNA（検索 + エラー処理）</a></li></ol></li><li><a href="#toc24" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">IF系4関数の違い【結論から】</span></h2>



<p>まず結論です。4つの関数は大きく2グループに分かれます。</p>



<ul class="wp-block-list"><li><strong>条件分岐グループ</strong>: IF、IFS</li><li><strong>エラー処理グループ</strong>: IFERROR、IFNA</li></ul>



<p>「条件によって表示を切り替えたい」ならIF or IFS、「数式のエラーを処理したい」ならIFERROR or IFNAです。</p>



<p>以下の比較表で、それぞれの特徴を一目で確認できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>IF</th><th>IFS</th><th>IFERROR</th><th>IFNA</th></tr></thead><tbody><tr><td>役割</td><td>条件分岐（1条件）</td><td>条件分岐（複数条件）</td><td>エラー処理（全種）</td><td>エラー処理（#N/Aのみ）</td></tr><tr><td>構文</td><td><code>=IF(条件, 真, 偽)</code></td><td><code>=IFS(条件1, 値1, ...)</code></td><td><code>=IFERROR(式, エラー時)</code></td><td><code>=IFNA(式, NA時)</code></td></tr><tr><td>対応バージョン</td><td>全バージョン</td><td>2019 / 365</td><td>2007以降</td><td>2013以降</td></tr><tr><td>ネスト</td><td>最大64段（実用は3段）</td><td>不要（最大127条件）</td><td>不要</td><td>不要</td></tr><tr><td>おすすめ場面</td><td>条件が1〜2個</td><td>条件が3個以上</td><td>計算エラー全般</td><td>VLOOKUP等の検索エラー</td></tr></tbody></table></figure>



<p>この表だけで判断できることも多いですが、ここから各関数の使いどころをもう少し掘り下げていきましょう。</p>



<h2 class="wp-block-heading"><span id="toc2">IF関数の基本と使いどころ</span></h2>



<p><a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>は、Excelの条件分岐でもっとも基本的な関数です。「もし〜なら A、そうでなければ B」という処理を1行で書けます。</p>



<h3 class="wp-block-heading"><span id="toc3">構文</span></h3>



<pre class="wp-block-code"><code>=IF(論理式, 値が真の場合, [値が偽の場合])</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>説明</th></tr></thead><tbody><tr><td>論理式</td><td>必須</td><td>TRUE/FALSEに評価される条件式</td></tr><tr><td>値が真の場合</td><td>必須</td><td>条件がTRUEのときの返し値</td></tr><tr><td>値が偽の場合</td><td>省略可</td><td>条件がFALSEのときの返し値（省略時はFALSE）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc4">使用例</span></h3>



<p>たとえば、売上が目標を超えたら「達成」と表示する場合はこう書きます。</p>



<pre class="wp-block-code"><code>=IF(B2&gt;=100000, &quot;達成&quot;, &quot;未達&quot;)</code></pre>



<p>条件が1つだけのシンプルな場面なら、IF関数が最適です。</p>



<h3 class="wp-block-heading"><span id="toc5">IFが向いているケース</span></h3>



<ul class="wp-block-list"><li>「合格 / 不合格」のような二択判定</li><li><a href="https://mashukabu.com/excel-function-howto-use-and/">AND関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-or/">OR関数</a>と組み合わせた複合条件（条件は1セットだが、判定要素が複数ある場合）</li><li>Excel 2016以前のファイルでも使う必要がある場合</li></ul>



<pre class="wp-block-code"><code>=IF(AND(B2&gt;=100000, C2&gt;=50), &quot;S評価&quot;, &quot;対象外&quot;)</code></pre>



<p>上の式は「売上10万以上 かつ 件数50以上」を同時に満たすかどうかを判定しています。条件の数は1つ（ANDで束ねた複合条件）なので、IFで十分対応できます。</p>



<h2 class="wp-block-heading"><span id="toc6">IFS関数の基本と使いどころ</span></h2>



<p><a href="https://mashukabu.com/excel-function-howto-use-ifs/">IFS関数</a>は、複数の条件を上から順に判定して、最初にTRUEになった条件の値を返す関数です。IFのネスト（入れ子）を使わずに、3つ以上の条件分岐を書けるのが最大のメリットです。</p>



<h3 class="wp-block-heading"><span id="toc7">構文</span></h3>



<pre class="wp-block-code"><code>=IFS(条件1, 値1, 条件2, 値2, ..., TRUE, &quot;それ以外&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>説明</th></tr></thead><tbody><tr><td>条件1</td><td>必須</td><td>1つ目の条件式</td></tr><tr><td>値1</td><td>必須</td><td>条件1がTRUEのときの返し値</td></tr><tr><td>条件2, 値2 &#8230;</td><td>省略可</td><td>2つ目以降の条件と値のペア（最大127組）</td></tr></tbody></table></figure>



<p>ポイントは、最後の条件を <code>TRUE</code> にすること。これが「どの条件にも当てはまらない場合」のデフォルト値（IFでいう「偽の場合」）になります。この <code>TRUE</code> を省略すると、どの条件にも合わないときに#N/Aエラーが出るので注意してください。</p>



<h3 class="wp-block-heading"><span id="toc8">IFネストからIFSへの書き換え</span></h3>



<p>IFを3段ネストした式と、IFSに書き換えた式を並べてみましょう。</p>



<pre class="wp-block-code"><code>【Before: IFネスト3段】
=IF(A2&gt;=90, &quot;優&quot;, IF(A2&gt;=70, &quot;良&quot;, IF(A2&gt;=50, &quot;可&quot;, &quot;不可&quot;)))

【After: IFS】
=IFS(A2&gt;=90, &quot;優&quot;, A2&gt;=70, &quot;良&quot;, A2&gt;=50, &quot;可&quot;, TRUE, &quot;不可&quot;)</code></pre>



<p>どうでしょうか。IFS版のほうがカッコの入れ子がなくなり、条件と結果のペアが横に並んでいて読みやすいですよね。</p>



<h3 class="wp-block-heading"><span id="toc9">IF と IFS、どちらを使う？</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>判断基準</th><th>IF</th><th>IFS</th></tr></thead><tbody><tr><td>条件の数</td><td>1〜2個</td><td>3個以上</td></tr><tr><td>可読性</td><td>ネスト2段までなら十分</td><td>3段以上で圧倒的に見やすい</td></tr><tr><td>バージョン互換</td><td>全バージョンOK</td><td>2019 / 365 のみ</td></tr></tbody></table></figure>



<p><strong>迷ったときの目安</strong>: 「IF文のカッコが3段以上になりそうだな」と思ったら、IFS関数への切り替えを検討してみてください。ただし、社内で古いバージョンのExcel（2016以前）を使っている人がいる場合は、IFネストのほうが安全です。</p>



<h2 class="wp-block-heading"><span id="toc10">IFERROR関数の基本と使いどころ</span></h2>



<p><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>は、数式がエラーを返した場合に代替値を表示する関数です。条件分岐ではなく、<strong>エラー処理</strong>が目的です。</p>



<h3 class="wp-block-heading"><span id="toc11">構文</span></h3>



<pre class="wp-block-code"><code>=IFERROR(値, エラーの場合の値)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>説明</th></tr></thead><tbody><tr><td>値</td><td>必須</td><td>エラーを確認する数式</td></tr><tr><td>エラーの場合の値</td><td>必須</td><td>エラーだったときに返す値</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc12">対処できるエラーの種類</span></h3>



<p>IFERRORは以下の<strong>7種類すべてのエラー</strong>を一括で処理します。</p>



<p><code>#N/A</code> <code>#VALUE!</code> <code>#REF!</code> <code>#DIV/0!</code> <code>#NUM!</code> <code>#NAME?</code> <code>#NULL!</code></p>



<p>エラーの種類については「<a href="https://mashukabu.com/excel-error-value-list/">Excelのエラー値一覧</a>」で詳しく解説しています。</p>



<h3 class="wp-block-heading"><span id="toc13">使用例</span></h3>



<p>もっともよく使うのは、割り算のゼロ除算エラーを回避するパターンです。</p>



<pre class="wp-block-code"><code>=IFERROR(B2/C2, 0)</code></pre>



<p>C2が0やブランクのとき、#DIV/0!エラーのかわりに 0 を返します。</p>



<p><a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUP</a>で検索値が見つからなかったときのエラーを回避するパターンもよく使います。</p>



<pre class="wp-block-code"><code>=IFERROR(VLOOKUP(A2, 商品マスタ, 2, FALSE), &quot;該当なし&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc14">IFERRORの注意点</span></h3>



<p>IFERRORは便利ですが、<strong>すべてのエラーを消してしまう</strong>点に注意が必要です。</p>



<p>たとえば、数式にスペルミスがあって <code>#NAME?</code> エラーが出ているのに、IFERRORでラップしているとエラーが見えなくなります。本来は修正すべきバグが隠れてしまうわけです。</p>



<p>「エラーが出たらとりあえずIFERRORで囲む」というクセがある人は、この後紹介するIFNA関数のほうが安全かもしれません。</p>



<h2 class="wp-block-heading"><span id="toc15">IFNA関数の基本と使いどころ</span></h2>



<p><a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数</a>は、<strong>#N/Aエラーだけ</strong>を処理する関数です。それ以外のエラー（#VALUE!や#REF!など）はそのまま表示します。</p>



<h3 class="wp-block-heading"><span id="toc16">構文</span></h3>



<pre class="wp-block-code"><code>=IFNA(値, NAの場合の値)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>説明</th></tr></thead><tbody><tr><td>値</td><td>必須</td><td>#N/Aを確認する数式</td></tr><tr><td>NAの場合の値</td><td>必須</td><td>#N/Aだったときに返す値</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">IFERRORとIFNAの使い分け</span></h3>



<p>IFERRORとIFNAの違いを、もう少し具体的に見てみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>IFERROR</th><th>IFNA</th></tr></thead><tbody><tr><td>処理するエラー</td><td>全7種（#N/A, #VALUE!, #REF! 等）</td><td>#N/Aのみ</td></tr><tr><td>数式バグの検出</td><td>隠してしまう可能性あり</td><td>バグはエラーとして表示される</td></tr><tr><td>おすすめ場面</td><td>割り算のゼロ除算、計算エラー全般</td><td>VLOOKUP/XLOOKUPなどの検索関数</td></tr><tr><td>対応バージョン</td><td>Excel 2007以降</td><td>Excel 2013以降</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">使用例</span></h3>



<p>VLOOKUPで「検索値が見つからない」場合だけ処理したいなら、IFNAが最適です。</p>



<pre class="wp-block-code"><code>=IFNA(VLOOKUP(A2, 商品マスタ, 2, FALSE), &quot;未登録&quot;)</code></pre>



<p><a href="https://mashukabu.com/excel-function-howto-use-xlookup/">XLOOKUP関数</a>も#N/Aエラーを返すので、同じようにIFNAで処理できます。</p>



<pre class="wp-block-code"><code>=IFNA(XLOOKUP(A2, 商品名, 単価), &quot;未登録&quot;)</code></pre>



<p>もしこの数式にセル参照のミス（#REF!）や型の不一致（#VALUE!）があった場合、IFNAなら<strong>エラーが表示される</strong>ので問題にすぐ気づけます。IFERRORだとこれらのバグも「未登録」と表示されてしまい、発見が遅れます。</p>



<p><strong>まとめると</strong>: 検索関数のエラー処理にはIFNAのほうが安全です。計算式のゼロ除算など、#N/A以外のエラーも処理したい場面ではIFERRORを使いましょう。</p>



<h2 class="wp-block-heading"><span id="toc19">4関数の選び方フローチャート</span></h2>



<p>ここまで紹介した4関数を、どの場面でどれを使うか迷わず選べるフローチャートにまとめました。</p>



<p>以下の順番で質問に答えていくだけで、使うべき関数がわかります。</p>



<p><strong>Q1. やりたいことは何ですか？</strong></p>



<ul class="wp-block-list"><li><strong>条件によって表示を切り替えたい</strong> → Q2へ</li><li><strong>数式のエラーを処理したい</strong> → Q3へ</li></ul>



<p><strong>Q2. 条件はいくつありますか？</strong></p>



<ul class="wp-block-list"><li><strong>1〜2個</strong> → <strong>IF関数</strong> を使う<ul><li>AND/ORで複合条件にしてもOK</li></ul></li><li><strong>3個以上</strong> → <strong>IFS関数</strong> を使う<ul><li>ただしExcel 2016以前ではIFネストを使う</li></ul></li></ul>



<p><strong>Q3. 処理したいエラーの種類は？</strong></p>



<ul class="wp-block-list"><li><strong>#N/Aだけ処理したい</strong>（VLOOKUP/XLOOKUP等の検索エラー） → <strong>IFNA関数</strong> を使う<ul><li>数式のバグを見逃さない安全な選択</li></ul></li><li><strong>すべてのエラーを処理したい</strong>（#DIV/0!や#VALUE!も含む） → <strong>IFERROR関数</strong> を使う<ul><li>ただし数式バグも隠れるリスクに注意</li></ul></li></ul>



<p>このフローに従えば、4つの関数で迷うことはなくなるはずです。</p>



<h2 class="wp-block-heading"><span id="toc20">実務でよく使う組み合わせパターン</span></h2>



<p>最後に、IF系関数を組み合わせて使う実務パターンを3つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc21">パターン1: IFS + IFERROR（条件分岐 + エラー処理）</span></h3>



<p>計算結果を条件分岐したいけど、元の計算式がエラーになる可能性がある場合に使います。</p>



<pre class="wp-block-code"><code>=IFERROR(IFS(B2/C2&gt;=1.2, &quot;大幅増&quot;, B2/C2&gt;=1, &quot;微増&quot;, TRUE, &quot;減少&quot;), &quot;データなし&quot;)</code></pre>



<p>この式は「前年比（B2/C2）」に応じた評価を出しつつ、C2がゼロだった場合のエラーもカバーしています。</p>



<h3 class="wp-block-heading"><span id="toc22">パターン2: IF + AND/OR（複合条件の分岐）</span></h3>



<p>「AかつB」や「AまたはB」の条件判定は、IF関数にAND/OR関数を組み合わせて書きます。</p>



<pre class="wp-block-code"><code>=IF(AND(B2&gt;=&quot;2026/4/1&quot;, B2&lt;=&quot;2026/4/30&quot;), &quot;4月分&quot;, &quot;対象外&quot;)
=IF(OR(C2=&quot;東京&quot;, C2=&quot;大阪&quot;, C2=&quot;名古屋&quot;), &quot;主要拠点&quot;, &quot;その他&quot;)</code></pre>



<p>AND/ORの詳しい使い方は「<a href="https://mashukabu.com/excel-function-howto-use-and/">AND関数の使い方</a>」「<a href="https://mashukabu.com/excel-function-howto-use-or/">OR関数の使い方</a>」をご覧ください。</p>



<h3 class="wp-block-heading"><span id="toc23">パターン3: VLOOKUP + IFNA（検索 + エラー処理）</span></h3>



<p>VLOOKUPで検索値が見つからないときだけ代替値を返すパターンです。実務でもっとも使用頻度が高い組み合わせのひとつです。</p>



<pre class="wp-block-code"><code>=IFNA(VLOOKUP(A2, 商品マスタ!A:C, 3, FALSE), &quot;価格未設定&quot;)</code></pre>



<p>VLOOKUPのかわりにXLOOKUPを使う場合も同じ書き方でOKです。XLOOKUPには第4引数でエラー時の代替値を指定できますが、IFNAで統一しておけば数式のスタイルが揃って管理しやすくなります。</p>



<h2 class="wp-block-heading"><span id="toc24">まとめ</span></h2>



<p>ExcelのIF系4関数の使い分けをおさらいしましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>役割</th><th>使うべき場面</th></tr></thead><tbody><tr><td>IF</td><td>条件分岐（1〜2条件）</td><td>シンプルな二択・AND/ORとの複合条件</td></tr><tr><td>IFS</td><td>条件分岐（3条件以上）</td><td>ネストを避けたい多段階評価</td></tr><tr><td>IFERROR</td><td>エラー処理（全エラー）</td><td>ゼロ除算・計算エラーの回避</td></tr><tr><td>IFNA</td><td>エラー処理（#N/Aのみ）</td><td>VLOOKUP/XLOOKUPの検索エラー処理</td></tr></tbody></table></figure>



<p>判断に迷ったら、本記事のフローチャートに立ち返ってみてください。</p>



<ul class="wp-block-list"><li>やりたいのが<strong>条件分岐</strong>なら → 条件の数でIF or IFSを選ぶ</li><li>やりたいのが<strong>エラー処理</strong>なら → 対象エラーの種類でIFERROR or IFNAを選ぶ</li></ul>



<p>まずは自分の数式が「条件分岐」と「エラー処理」のどちらなのかを見極めるところから始めてみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのIFERROR関数の使い方｜エラー時の代替値を設定する方法</title>
		<link>https://mashukabu.com/spreadsheet-iferror-function/</link>
					<comments>https://mashukabu.com/spreadsheet-iferror-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 20 Mar 2026 13:57:06 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[IFERROR関数]]></category>
		<category><![CDATA[IFNA関数]]></category>
		<category><![CDATA[IF関数]]></category>
		<category><![CDATA[INDEX関数]]></category>
		<category><![CDATA[VLOOKUP関数]]></category>
		<category><![CDATA[エラー処理]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4699</guid>

					<description><![CDATA[スプレッドシートのIFERROR関数の使い方を基本から解説。エラー時に代替値を返す構文から、VLOOKUPやINDEX/MATCHとの組み合わせ、IFNA関数との違い、よくあるエラーの対処法まで実務シナリオで丁寧に解説します。]]></description>
										<content:encoded><![CDATA[
<p>「スプレッドシートで数式を入れたら#N/Aや#DIV/0!が表示されてしまった」。こんな経験、ありませんか？</p>



<p>エラーが並んだ表はそのまま共有しにくいですよね。見た目が悪いだけでなく、集計関数にも影響してしまいます。</p>



<p>そんなときに使えるのが、スプレッドシートのIFERROR関数です。この記事では基本の書き方から、VLOOKUPとの組み合わせ、IFNA関数との違い、よくあるエラーの対処法まで丁寧に解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-3" checked><label class="toc-title" for="toc-checkbox-3">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのIFERROR関数とは？エラー処理の基本</a></li><li><a href="#toc2" tabindex="0">IFERROR関数の書き方（構文・引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li><li><a href="#toc5" tabindex="0">最もシンプルな使用例</a></li></ol></li><li><a href="#toc6" tabindex="0">基本的な使い方3選</a><ol><li><a href="#toc7" tabindex="0">VLOOKUPのエラーを処理する（最頻出パターン）</a></li><li><a href="#toc8" tabindex="0">割り算のゼロ除算エラーを防ぐ</a></li><li><a href="#toc9" tabindex="0">INDEX/MATCHのエラーを処理する</a></li></ol></li><li><a href="#toc10" tabindex="0">実務で使える応用パターン</a><ol><li><a href="#toc11" tabindex="0">エラー時に空白にする（表の見た目を整える）</a></li><li><a href="#toc12" tabindex="0">IF関数と組み合わせる</a></li><li><a href="#toc13" tabindex="0">複数の検索を順番に試す（フォールバック検索）</a></li></ol></li><li><a href="#toc14" tabindex="0">IFERROR関数で処理できるエラーの種類</a></li><li><a href="#toc15" tabindex="0">IFERROR関数とIFNA関数の違い・使い分け</a><ol><li><a href="#toc16" tabindex="0">どちらを使うべき？判断基準</a></li></ol></li><li><a href="#toc17" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc18" tabindex="0">エラーが処理されない</a></li><li><a href="#toc19" tabindex="0">第2引数を省略したときの注意点</a></li><li><a href="#toc20" tabindex="0">すべてのエラーが消えてデバッグできない</a></li><li><a href="#toc21" tabindex="0">IFERROR関数自体は正しいのにエラーが出る</a></li></ol></li><li><a href="#toc22" tabindex="0">まとめ</a><ol><li><a href="#toc23" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのIFERROR関数とは？エラー処理の基本</span></h2>



<p>IFERROR関数（読み方: イフエラー関数）は、<strong>数式がエラーを返したときに代わりの値を表示する関数</strong>です。「IF」は「もし」、「ERROR」は「エラーなら」という意味に由来しています。</p>



<p>たとえば「VLOOKUPで検索値が見つからないとき、#N/Aの代わりに&#8221;該当なし&#8221;と表示する」という処理を考えてみましょう。IFERROR関数を使えば、エラー判定と代替値の指定を1つの数式で完結できます。</p>



<p>IFERROR関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>数式のエラーを任意の文字列や数値に置き換える</li><li>#N/A・#DIV/0!・#VALUE!など全7種のエラーを一括処理する</li><li>エラーでないときは元の数式の結果をそのまま返す</li><li>VLOOKUP・INDEX/MATCHなどの検索関数と組み合わせて使う</li></ul>



<p>「エラーが出たら別の値を返す関数」と覚えておくとわかりやすいですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>IFERROR関数はGoogleスプレッドシートの全バージョンで使えます。Excelでは2007以降に対応しているため、ファイルのやり取りでも安心です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc2">IFERROR関数の書き方（構文・引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc3">基本構文</span></h3>



<pre class="wp-block-code"><code>=IFERROR(値, エラー時の値)</code></pre>



<p>カッコの中に「エラーを確認したい数式」と「エラーのときに返す値」を指定します。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>値</td><td>必須</td><td>エラーかどうかを確認する数式や値</td></tr><tr><td>エラー時の値</td><td>任意</td><td>エラーだったときに返す値（省略時は空白）</td></tr></tbody></table></figure>



<p>第2引数の「エラー時の値」は省略できます。省略するとエラー時に空白（空文字列）が返ります。ただし実務では「該当なし」や0などを明示するのが一般的ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>文字列を返す場合はダブルクォーテーションで囲みます。数値を返す場合は囲みません。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc5">最もシンプルな使用例</span></h3>



<p>B列の値をC列の値で割り算するとします。C列が0のときに#DIV/0!エラーが出るのを防いでみましょう。</p>



<pre class="wp-block-code"><code>=IFERROR(B2/C2, 0)</code></pre>



<ul class="wp-block-list"><li><strong>B2/C2</strong>（値）: 割り算の数式</li><li><strong>0</strong>（エラー時の値）: エラーが出たら0を返す</li></ul>



<p>C2が0でなければ割り算の結果が返ります。C2が0のときは#DIV/0!の代わりに0が表示されます。</p>



<h2 class="wp-block-heading"><span id="toc6">基本的な使い方3選</span></h2>



<p>基本がわかったところで、仕事でよく使うパターンを見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc7">VLOOKUPのエラーを処理する（最頻出パターン）</span></h3>



<p>商品コードをもとに商品名を検索するとします。<a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>で該当がないと#N/Aエラーが出ます。IFERRORで「該当なし」に置き換えてみましょう。</p>



<pre class="wp-block-code"><code>=IFERROR(VLOOKUP(A2, E:F, 2, FALSE), &quot;該当なし&quot;)</code></pre>



<ul class="wp-block-list"><li><strong>VLOOKUP(A2, E:F, 2, FALSE)</strong>: A2の商品コードをE列から検索</li><li><strong>&#8220;該当なし&#8221;</strong>: 検索値が見つからないときの表示</li></ul>



<p>A2の値がE列に存在すれば商品名が返ります。存在しなければ「該当なし」と表示されます。検索系の関数でもっとも使われるパターンですよ。</p>



<h3 class="wp-block-heading"><span id="toc8">割り算のゼロ除算エラーを防ぐ</span></h3>



<p>達成率を計算するとき、目標が0だと#DIV/0!エラーが出ます。IFERRORで「-」に置き換えましょう。</p>



<pre class="wp-block-code"><code>=IFERROR(B2/C2, &quot;-&quot;)</code></pre>



<ul class="wp-block-list"><li><strong>B2/C2</strong>: 実績を目標で割った達成率</li><li><strong>&#8220;-&#8220;</strong>: 目標が0のとき「-」を表示</li></ul>



<p>売上報告書やKPI管理表でよく使うパターンです。0を返すと「達成率0%」と誤解されるため、「-」や「N/A」を返すほうが親切ですよ。</p>



<h3 class="wp-block-heading"><span id="toc9">INDEX/MATCHのエラーを処理する</span></h3>



<p><a href="https://mashukabu.com/spreadsheet-index-function/">INDEX関数</a>とMATCH関数を組み合わせた検索でも、該当なしのときに#N/Aエラーが出ます。</p>



<pre class="wp-block-code"><code>=IFERROR(INDEX(B:B, MATCH(E2, A:A, 0)), &quot;未登録&quot;)</code></pre>



<ul class="wp-block-list"><li><strong>INDEX(B:B, MATCH(E2, A:A, 0))</strong>: E2をA列から検索し、B列の値を返す</li><li><strong>&#8220;未登録&#8221;</strong>: 該当がないときの表示</li></ul>



<p>VLOOKUPよりも柔軟な検索ができるINDEX/MATCHですが、エラー処理の考え方は同じです。IFERRORで囲むだけで対応できます。</p>



<h2 class="wp-block-heading"><span id="toc10">実務で使える応用パターン</span></h2>



<h3 class="wp-block-heading"><span id="toc11">エラー時に空白にする（表の見た目を整える）</span></h3>



<p>エラーを完全に非表示にしたい場合は、第2引数に空文字列を指定します。</p>



<pre class="wp-block-code"><code>=IFERROR(B2/C2, &quot;&quot;)</code></pre>



<p>空文字列を指定すると、エラー時にセルが空白に見えます。印刷用の帳票や共有資料で、エラー表示を消したいときに便利です。</p>



<h3 class="wp-block-heading"><span id="toc12">IF関数と組み合わせる</span></h3>



<p><a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>とIFERROR関数を組み合わせると、条件分岐とエラー処理を同時に行えます。</p>



<pre class="wp-block-code"><code>=IF(A2=&quot;&quot;, &quot;&quot;, IFERROR(VLOOKUP(A2, E:F, 2, FALSE), &quot;該当なし&quot;))</code></pre>



<p>A2が空白ならそもそも検索しません。値が入っているときだけVLOOKUPを実行し、見つからなければ「該当なし」を返します。入力途中のデータを扱うときに便利なパターンですよ。</p>



<h3 class="wp-block-heading"><span id="toc13">複数の検索を順番に試す（フォールバック検索）</span></h3>



<p>IFERROR関数をネスト（入れ子）にすると、最初の検索が失敗したら次の検索を試せます。</p>



<pre class="wp-block-code"><code>=IFERROR(VLOOKUP(A2, シート1!A:B, 2, FALSE), IFERROR(VLOOKUP(A2, シート2!A:B, 2, FALSE), &quot;どちらにも該当なし&quot;))</code></pre>



<p>まずシート1から検索します。見つからなければシート2を検索します。どちらにもなければ「どちらにも該当なし」を返します。複数の参照テーブルを持つ業務で活用できるパターンです。</p>



<h2 class="wp-block-heading"><span id="toc14">IFERROR関数で処理できるエラーの種類</span></h2>



<p>IFERROR関数は、スプレッドシートで発生する<strong>全7種類のエラー</strong>を一括で処理できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>発生原因</th><th>対処例</th></tr></thead><tbody><tr><td>#N/A</td><td>検索値が見つからない</td><td><code>=IFERROR(VLOOKUP(...), "該当なし")</code></td></tr><tr><td>#DIV/0!</td><td>0で割り算した</td><td><code>=IFERROR(B2/C2, 0)</code></td></tr><tr><td>#VALUE!</td><td>引数のデータ型が不正</td><td><code>=IFERROR(A2+B2, "数値を入力")</code></td></tr><tr><td>#REF!</td><td>参照先のセルが削除された</td><td><code>=IFERROR(A2, "参照エラー")</code></td></tr><tr><td>#NAME?</td><td>関数名のスペルミス</td><td><code>=IFERROR(数式, "数式エラー")</code></td></tr><tr><td>#NUM!</td><td>数値として無効な計算結果</td><td><code>=IFERROR(SQRT(A2), "計算不可")</code></td></tr><tr><td>#NULL!</td><td>範囲の交差指定が不正</td><td><code>=IFERROR(数式, "範囲エラー")</code></td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>IFERRORは全エラーをキャッチするため、数式のバグ（#REF!や#NAME?）も隠してしまう場合があります。検索系のエラー（#N/A）だけを処理したい場合は、後述するIFNA関数を使うほうが安全です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc15">IFERROR関数とIFNA関数の違い・使い分け</span></h2>



<p>IFERROR関数と似た関数に、IFNA関数があります。大きな違いは「処理するエラーの範囲」です。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>IFERROR</th><th>IFNA</th></tr></thead><tbody><tr><td>対象エラー</td><td>全7種のエラー</td><td>#N/Aのみ</td></tr><tr><td>主な用途</td><td>汎用的なエラー処理</td><td>VLOOKUP等の「該当なし」だけ処理</td></tr><tr><td>バグ発見</td><td>エラーを隠す可能性あり</td><td>#N/A以外はエラーのまま表示される</td></tr><tr><td>構文</td><td>=IFERROR(値, エラー時の値)</td><td>=IFNA(値, N/A時の値)</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc16">どちらを使うべき？判断基準</span></h3>



<p>使い分けの基準はシンプルです。</p>



<ul class="wp-block-list"><li><strong>VLOOKUPやMATCHの「該当なし」だけ処理したい</strong> → IFNA関数がおすすめ</li><li><strong>割り算のゼロ除算など、複数種のエラーをまとめて処理したい</strong> → IFERROR関数が便利</li><li><strong>数式のバグを見逃したくない</strong> → IFNA関数が安全</li></ul>



<p>IFNA関数は#N/A以外のエラーをそのまま表示します。そのため、数式に問題があればすぐに気づけます。「なんでもIFERRORで囲む」のはやめて、用途に応じて使い分けてみてください。</p>



<h2 class="wp-block-heading"><span id="toc17">よくあるエラーと対処法</span></h2>



<p>IFERROR関数自体でエラーが出ることはほとんどありません。ただし、意図した動作にならないケースがあります。</p>



<h3 class="wp-block-heading"><span id="toc18">エラーが処理されない</span></h3>



<p>IFERRORの第1引数の外でエラーが発生している場合、処理されません。</p>



<p>NGの例: IFERRORの外で割り算している</p>



<pre class="wp-block-code"><code>=IFERROR(A2, &quot;エラー&quot;) / B2</code></pre>



<p>OKの例: エラーが出る数式全体をIFERRORで囲む</p>



<pre class="wp-block-code"><code>=IFERROR(A2/B2, &quot;エラー&quot;)</code></pre>



<p>エラーが出る可能性のある数式全体を第1引数に入れるのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc19">第2引数を省略したときの注意点</span></h3>



<p>第2引数を省略すると空白が返ります。ただし、空白セルと空文字列は厳密には異なります。</p>



<pre class="wp-block-code"><code>=IFERROR(B2/C2)</code></pre>



<p>この数式でエラーが出ると空文字列(&#8220;&#8221;)が返ります。COUNTA関数（空白でないセルを数える関数）はこの空文字列をカウントします。集計に影響する場合は注意してください。</p>



<h3 class="wp-block-heading"><span id="toc20">すべてのエラーが消えてデバッグできない</span></h3>



<p>IFERRORで全エラーを隠すと、数式のミスに気づけません。</p>



<pre class="wp-block-code"><code>=IFERROR(VLOOKP(A2, B:C, 2, FALSE), &quot;OK&quot;)</code></pre>



<p>上の例では「VLOOKUP」を「VLOOKP」とスペルミスしています。本来は#NAME?エラーで気づけるはずです。しかしIFERRORが「OK」を返してしまいます。数式を組み立てるときは、まずIFERRORなしで動作を確認してから囲むのがおすすめですよ。</p>



<h3 class="wp-block-heading"><span id="toc21">IFERROR関数自体は正しいのにエラーが出る</span></h3>



<p>IFERROR関数の構文が正しくても、次のケースではエラーになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>数式バーに文字列として表示される</td><td>セルの書式が「テキスト」</td><td>書式を「自動」に変更して再入力</td></tr><tr><td>括弧の数が合わないエラー</td><td>ネスト時の閉じ括弧の不足</td><td>開き括弧と閉じ括弧の数を確認</td></tr><tr><td>意図しない値が返る</td><td>第1引数がエラーではない</td><td>第1引数の数式を単体で確認</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc22">まとめ</span></h2>



<p>スプレッドシートのIFERROR関数について解説しました。ポイントを振り返りましょう。</p>



<ul class="wp-block-list"><li>IFERROR関数は「数式がエラーなら代替値を返す」関数</li><li>構文は <code>=IFERROR(値, エラー時の値)</code> とシンプル</li><li>VLOOKUPの#N/A、割り算の#DIV/0!など全7種のエラーに対応</li><li>IFNA関数は#N/Aだけを処理する。バグを見逃したくないならIFNAが安全</li><li>数式のデバッグ時はIFERRORを外してエラーを確認する</li></ul>



<p>IFERRORは便利ですが、なんでも囲むとバグを隠すリスクがあります。まずはIFERRORなしで数式が正しく動くことを確認してから囲むようにしてみてください。</p>



<h3 class="wp-block-heading"><span id="toc23">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-vlookup-function/">スプレッドシートのVLOOKUP関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-index-function/">スプレッドシートのINDEX関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-if-function/">スプレッドシートのIF関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-ifs-function/">スプレッドシートのIFS関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-iferror-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのIFNA関数の使い方｜#N/Aだけを処理してエラーを見逃さない方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-ifna/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-ifna/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 30 May 2022 12:02:31 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[#N/A]]></category>
		<category><![CDATA[IFERROR]]></category>
		<category><![CDATA[IFNA関数]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[XLOOKUP]]></category>
		<category><![CDATA[エラー処理]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2050</guid>

					<description><![CDATA[ExcelのIFNA関数の使い方を解説。VLOOKUP組み合わせで#N/Aエラーを非表示にする方法、IFERRORとの違い・使い分け比較表、XLOOKUPへの移行ガイドまで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p>VLOOKUPで検索したら、セルに「#N/A」がズラッと並んでしまった…。そんな経験、ありませんか？</p>



<p>見栄えが悪いだけでなく、そのまま集計に使うと合計や平均もエラーになってしまいます。かといって、<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>で全エラーをまとめて消すと、数式ミスまで隠れてしまうリスクがあるんですよね。</p>



<p>そこで活躍するのが <strong>IFNA関数</strong> です。#N/Aエラーだけをピンポイントで処理できるので、安全にエラー表示をコントロールできますよ。この記事では、IFNA関数の基本から、VLOOKUPとの組み合わせ、IFERRORとの違いまでまるっと解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">IFNA関数とは？何をする関数か</a><ol><li><a href="#toc2" tabindex="0">読み方・意味</a></li><li><a href="#toc3" tabindex="0">書式と引数</a></li></ol></li><li><a href="#toc4" tabindex="0">IFNA関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">#N/Aエラーを空白にする</a></li><li><a href="#toc6" tabindex="0">#N/Aエラーをメッセージに変える</a></li><li><a href="#toc7" tabindex="0">#N/Aエラーを0にする</a></li></ol></li><li><a href="#toc8" tabindex="0">VLOOKUP+IFNAの実践パターン</a><ol><li><a href="#toc9" tabindex="0">未登録データの検索処理</a></li><li><a href="#toc10" tabindex="0">INDEX+MATCH+IFNAで柔軟に検索する</a></li><li><a href="#toc11" tabindex="0">IFNAのネストで複数テーブルを順番に検索</a></li></ol></li><li><a href="#toc12" tabindex="0">IFERRORとIFNA｜どちらを使うべきか（比較表）</a></li><li><a href="#toc13" tabindex="0">XLOOKUPなら第4引数でIFNA不要（移行ガイド）</a></li><li><a href="#toc14" tabindex="0">IFNA関数のよくあるエラーと対処法</a></li><li><a href="#toc15" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">IFNA関数とは？何をする関数か</span></h2>



<p>IFNA関数は、数式の結果が <strong>#N/Aエラーのときだけ</strong> 別の値を返す関数です。Excel 2013で追加されました。</p>



<p>Excelのエラーは全部で7種類あります。</p>



<ul class="wp-block-list"><li><code>#N/A</code> — 検索値が見つからない</li><li><code>#VALUE!</code> — データ型が不正</li><li><code>#REF!</code> — 参照先が無効</li><li><code>#DIV/0!</code> — ゼロ除算</li><li><code>#NAME?</code> — 関数名のスペルミス</li><li><code>#NUM!</code> — 数値が範囲外</li><li><code>#NULL!</code> — 範囲指定が不正</li></ul>



<p>IFNA関数が処理するのは、この中の <strong>#N/Aだけ</strong> です。残り6つのエラーはそのまま表示されます。つまり、数式のミスに気づける安全な設計になっているんですよね。</p>



<h3 class="wp-block-heading"><span id="toc2">読み方・意味</span></h3>



<p>読み方は「<strong>イフ・エヌエー</strong>」です。「IF + N/A」の略で、「もし#N/Aだったら」という意味になります。</p>



<h3 class="wp-block-heading"><span id="toc3">書式と引数</span></h3>



<pre class="wp-block-code"><code>=IFNA(値, NAの場合の値)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>値</td><td>必須</td><td>#N/Aかどうか判定する数式やセル参照</td></tr><tr><td>NAの場合の値</td><td>省略可</td><td>#N/Aだったときに返す値。省略すると0が返る</td></tr></tbody></table></figure>



<p>第2引数を省略すると <strong>0</strong> が返ります。空白にしたい場合は <code>""</code> を明示的に指定してください。この省略時の挙動はうっかりミスしやすいポイントですよ。</p>



<h2 class="wp-block-heading"><span id="toc4">IFNA関数の基本的な使い方</span></h2>



<p>まずはシンプルな使い方から見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc5">#N/Aエラーを空白にする</span></h3>



<p>検索結果が見つからないとき、セルを空白のままにしたいケースは多いですよね。</p>



<pre class="wp-block-code"><code>=IFNA(VLOOKUP(A2,商品マスタ,2,FALSE),&quot;&quot;)</code></pre>



<p>第2引数に <code>""</code> を指定するだけです。VLOOKUPが#N/Aを返したとき、セルには何も表示されません。報告書や請求書など、見た目を整えたいときに便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc6">#N/Aエラーをメッセージに変える</span></h3>



<p>空白ではなく、「該当なし」「未登録」のようなメッセージを表示したいこともあります。</p>



<pre class="wp-block-code"><code>=IFNA(VLOOKUP(A2,商品マスタ,2,FALSE),&quot;未登録&quot;)</code></pre>



<p>こうすれば、検索値がマスタにないことがひと目でわかります。データの抜け漏れチェックにも使えるので、ぜひ試してみてください。</p>



<h3 class="wp-block-heading"><span id="toc7">#N/Aエラーを0にする</span></h3>



<p>集計用の列で、見つからない場合は0として扱いたいケースもあります。</p>



<pre class="wp-block-code"><code>=IFNA(VLOOKUP(A2,価格表,3,FALSE),0)</code></pre>



<p>第2引数に <code>0</code> を指定すれば、SUM関数やAVERAGE関数でエラーにならず集計できます。なお、第2引数を省略しても0が返りますが、「意図して0にした」ことを明示するために書いておくのがおすすめですよ。</p>



<h2 class="wp-block-heading"><span id="toc8">VLOOKUP+IFNAの実践パターン</span></h2>



<p>ここからは、実務でよく使う組み合わせパターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc9">未登録データの検索処理</span></h3>



<p>たとえば、受注リストの商品コードを商品マスタから検索する場面を考えてみましょう。</p>



<p><strong>サンプルデータ（商品マスタ）</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>商品コード</th><th>商品名</th><th>単価</th></tr></thead><tbody><tr><td>A001</td><td>ボールペン</td><td>150</td></tr><tr><td>A002</td><td>ノート</td><td>300</td></tr><tr><td>A003</td><td>消しゴム</td><td>100</td></tr></tbody></table></figure>



<p>受注リストにある商品コード「A004」を検索すると、マスタに存在しないので#N/Aになります。IFNAで処理すると次のようになります。</p>



<pre class="wp-block-code"><code>=IFNA(VLOOKUP(&quot;A004&quot;,商品マスタ,2,FALSE),&quot;未登録商品&quot;)</code></pre>



<p>この数式は「未登録商品」と返します。#N/Aがそのまま表示されるよりも、何が起きているか一目瞭然ですよね。</p>



<h3 class="wp-block-heading"><span id="toc10">INDEX+MATCH+IFNAで柔軟に検索する</span></h3>



<p><a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUP関数</a>は検索列が左端でないと使えません。そんなときは<a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数</a>（指定した行列の値を返す関数）と<a href="https://mashukabu.com/excel-function-howto-use-match/">MATCH関数</a>（検索値の位置を返す関数）の組み合わせが便利です。</p>



<pre class="wp-block-code"><code>=IFNA(INDEX(B2:B10,MATCH(E2,A2:A10,0)),&quot;該当なし&quot;)</code></pre>



<p>INDEX+MATCHでも検索値が見つからなければ#N/Aが発生します。IFNAで囲んでおけば安心ですよ。</p>



<h3 class="wp-block-heading"><span id="toc11">IFNAのネストで複数テーブルを順番に検索</span></h3>



<p>「まずテーブルAを検索して、なければテーブルBを検索する」という処理もIFNAで実現できます。</p>



<pre class="wp-block-code"><code>=IFNA(VLOOKUP(A2,テーブルA,2,FALSE),IFNA(VLOOKUP(A2,テーブルB,2,FALSE),&quot;どちらにも該当なし&quot;))</code></pre>



<p>ちょっとむずかしく見えますが、やっていることはシンプルです。外側のIFNAの第2引数に、もう一つのIFNA+VLOOKUPを入れているだけです。テーブルAで見つかればその値を返し、見つからなければテーブルBを検索します。テーブルBにもなければ「どちらにも該当なし」を返します。</p>



<p>この書き方は、部署マスタと旧部署マスタを両方検索する場面などで重宝しますよ。</p>



<h2 class="wp-block-heading"><span id="toc12">IFERRORとIFNA｜どちらを使うべきか（比較表）</span></h2>



<p>「IFERRORで十分じゃない？」と思う方も多いかもしれません。結論から言うと、<strong>検索系の関数と組み合わせるならIFNAのほうが安全</strong> です。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>IFNA</th><th><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR</a></th></tr></thead><tbody><tr><td>処理するエラー</td><td>#N/Aのみ</td><td>全7種類</td></tr><tr><td>数式ミスの検出</td><td>できる（#N/A以外はそのまま表示）</td><td>できない（すべて隠れる）</td></tr><tr><td>登場バージョン</td><td>Excel 2013〜</td><td>Excel 2007〜</td></tr><tr><td>おすすめ用途</td><td>VLOOKUP・MATCH・XLOOKUPなど検索系</td><td>QUOTIENT・除算など#DIV/0!対策</td></tr></tbody></table></figure>



<p>たとえば、VLOOKUPの第3引数（列番号）を間違えて#REF!が出たとします。IFERRORで囲んでいると、このミスは空白や0に置き換えられて気づけません。IFNAなら#REF!はそのまま表示されるので、すぐに修正できます。</p>



<p>使い分けのポイントは次のとおりです。</p>



<ul class="wp-block-list"><li><strong>検索系の関数</strong>（VLOOKUP・MATCH・INDEX+MATCHなど）→ <strong>IFNA</strong> を使う</li><li><strong>計算系の関数</strong>（除算・QUOTIENT・数値変換など）→ IFERROR を使う</li><li>全エラーをまとめて処理したい → IFERROR を使う</li></ul>



<p>迷ったらIFNAを選ぶほうが安全ですよ。エラーを必要以上に隠さない設計は、あとからのトラブル防止につながります。</p>



<p>なお、<a href="https://mashukabu.com/excel-function-howto-use-isna/">ISNA関数</a>（#N/Aかどうかを判定する関数）と<a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>を組み合わせる古い書き方もあります。</p>



<pre class="wp-block-code"><code>=IF(ISNA(VLOOKUP(A2,商品マスタ,2,FALSE)),&quot;未登録&quot;,VLOOKUP(A2,商品マスタ,2,FALSE))</code></pre>



<p>この書き方だとVLOOKUPを2回書く必要があり、数式が長くなります。IFNAなら1回で済むので、こちらを使うのがおすすめです。IF系関数の使い分けについては、<a href="https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/">IF・IFS・IFERROR・IFNAの使い分け</a>の記事も参考にしてみてください。</p>



<h2 class="wp-block-heading"><span id="toc13">XLOOKUPなら第4引数でIFNA不要（移行ガイド）</span></h2>



<p>Excel 2021やMicrosoft 365で使える<a href="https://mashukabu.com/excel-function-howto-use-xlookup/">XLOOKUP関数</a>なら、<strong>第4引数で「見つからなかった場合の値」を直接指定</strong> できます。IFNAで囲む必要がなくなるんです。</p>



<pre class="wp-block-code"><code>=XLOOKUP(A2,商品コード列,商品名列,&quot;未登録&quot;)</code></pre>



<p>VLOOKUP+IFNAで書いていた処理が、XLOOKUPなら1つの関数で完結します。数式がスッキリしますよね。</p>



<p>ただし、XLOOKUPはExcel 2019以前のバージョンでは使えません。社内でExcelのバージョンが混在している場合は、VLOOKUP+IFNAの書き方を使ったほうが安全です。</p>



<p>移行の目安をまとめておきます。</p>



<ul class="wp-block-list"><li><strong>全員がExcel 2021以降 or Microsoft 365</strong> → XLOOKUPに移行してOK</li><li><strong>Excel 2019以前のユーザーがいる</strong> → VLOOKUP+IFNAを継続</li><li><strong>Googleスプレッドシートと共有</strong> → XLOOKUPは対応済みなので移行可能</li></ul>



<h2 class="wp-block-heading"><span id="toc14">IFNA関数のよくあるエラーと対処法</span></h2>



<p>IFNA関数自体はシンプルですが、使い方を間違えるとハマるポイントがあります。</p>



<p><strong>第2引数を省略して意図しない0が表示される</strong></p>



<pre class="wp-block-code"><code>=IFNA(VLOOKUP(A2,商品マスタ,2,FALSE))</code></pre>



<p>この数式は、#N/Aのとき0を返します。空白にしたいなら <code>""</code> を明示的に指定してください。</p>



<p><strong>IFNAの中にIFNAの対象でない数式を入れてしまう</strong></p>



<p>IFNAは#N/Aしか処理しません。割り算の#DIV/0!を処理したいときは、<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>か<a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数</a>を使ってください。</p>



<p><strong>VLOOKUP側の引数ミスに気づかない</strong></p>



<p>IFNAは#N/Aだけ処理するので、VLOOKUPの引数ミスによる#REF!や#VALUE!はそのまま表示されます。これはIFNAの「安全機能」です。エラーが出たら、IFNA側ではなくVLOOKUP側の引数を確認してみてください。</p>



<h2 class="wp-block-heading"><span id="toc15">まとめ</span></h2>



<p>IFNA関数は、#N/Aエラーだけを安全に処理できる関数です。ポイントをおさらいしておきましょう。</p>



<ul class="wp-block-list"><li><strong>書式</strong>: <code>=IFNA(値, NAの場合の値)</code> — 引数は2つだけ</li><li><strong>処理対象</strong>: #N/Aエラーのみ。他の6種類のエラーはスルーする</li><li><strong>VLOOKUPとセット</strong>: 検索系の関数と組み合わせるのが定番</li><li><strong>IFERRORとの違い</strong>: IFERRORは全エラー処理、IFNAは#N/Aだけ処理</li><li><strong>XLOOKUPなら不要</strong>: 第4引数で代替できる（Excel 2021以降）</li><li><strong>第2引数の省略に注意</strong>: 省略すると0が返る。空白にしたいなら <code>""</code> を指定</li></ul>



<p>VLOOKUPやMATCHを使う場面では、IFERRORよりIFNAを選ぶクセをつけておくと、数式ミスの見落としを防げますよ。ぜひ普段の業務で活用してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-ifna/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
