<?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>エラー処理 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%e3%82%a8%e3%83%a9%e3%83%bc%e5%87%a6%e7%90%86/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 07:37:06 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>エラー処理 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのNA関数の使い方｜意図的に#N/Aエラーを返す4つの活用法</title>
		<link>https://mashukabu.com/excel-function-howto-use-na/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-na/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 12:42:11 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[IFNA]]></category>
		<category><![CDATA[ISNA]]></category>
		<category><![CDATA[NA関数]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[エラー処理]]></category>
		<category><![CDATA[データ検証]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6540</guid>

					<description><![CDATA[ExcelのNA関数は、意図的に#N/Aエラーを返すための関数です。この記事ではNA関数の基本構文から、VLOOKUPの該当なし処理、グラフのプレースホルダー、データ未入力のフラグ表示まで、4つの実務シナリオで使い方を解説します。IFNA・ISNA・IFERRORとの違いも比較表で整理します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelで「#N/A」というエラーを見ると、何か間違えてしまったかな…と焦ってしまいますよね。</p>



<p class="wp-block-paragraph">でも実は、Excelには <strong>#N/Aエラーを意図的に発生させるための関数</strong> が用意されています。それが <strong>NA関数</strong> です。「エラーを出すための関数って、どんな場面で使うの？」と疑問に思いますよね。</p>



<p class="wp-block-paragraph">この記事では、ExcelのNA関数の基本から、グラフのプレースホルダー、VLOOKUPとの連携、データ未入力の可視化まで、4つの実務シーンで使い方を解説します。IFNA・ISNA・IFERRORとの違いも比較表でまとめるので、エラー処理関数の使い分けにも迷わなくなりますよ。</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">ExcelのNA関数とは？意図的に#N/Aエラーを返す関数</a><ol><li><a href="#toc2" tabindex="0">NA関数の基本概念</a></li><li><a href="#toc3" tabindex="0">なぜエラーを意図的に出す関数があるのか</a></li></ol></li><li><a href="#toc4" tabindex="0">ExcelのNA関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">構文</a></li><li><a href="#toc6" tabindex="0">=NA() を入力して#N/Aを返す</a></li><li><a href="#toc7" tabindex="0">対応バージョン</a></li></ol></li><li><a href="#toc8" tabindex="0">ExcelのNA関数を実務で使う4つのシーン</a><ol><li><a href="#toc9" tabindex="0">シーン1｜未入力データを「未入力」と明示する</a></li><li><a href="#toc10" tabindex="0">シーン2｜グラフでデータ抜けに線をつなぐ（プレースホルダー用途）</a></li><li><a href="#toc11" tabindex="0">シーン3｜VLOOKUP・MATCHの結果を分岐させる前処理</a></li><li><a href="#toc12" tabindex="0">シーン4｜計算前提が満たされていない場合の警告表示</a></li></ol></li><li><a href="#toc13" tabindex="0">NA関数とIFNA・ISNA・IFERRORの違い（4関数比較表）</a><ol><li><a href="#toc14" tabindex="0">役割で整理する4関数の立ち位置</a></li><li><a href="#toc15" tabindex="0">比較表</a></li></ol></li><li><a href="#toc16" tabindex="0">NA関数とIFNA・ISNAを組み合わせた実務パターン</a><ol><li><a href="#toc17" tabindex="0">パターン1｜NA() + IFNA で代替値を表示</a></li><li><a href="#toc18" tabindex="0">パターン2｜NA() + ISNA で条件分岐</a></li><li><a href="#toc19" tabindex="0">パターン3｜VLOOKUPの#N/Aを任意のセルに伝播させる</a></li></ol></li><li><a href="#toc20" tabindex="0">ExcelのNA関数でよくあるエラーと対処法</a><ol><li><a href="#toc21" tabindex="0">構文ミス（NA と入力すると#NAME?エラー）</a></li><li><a href="#toc22" tabindex="0">#N/A以外のエラーを返したい場合</a></li><li><a href="#toc23" tabindex="0">グラフで線がつながらない場合のチェック</a></li></ol></li><li><a href="#toc24" tabindex="0">まとめ｜NA関数で「エラーを味方にする」数式設計</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのNA関数とは？意図的に#N/Aエラーを返す関数</span></h2>



<p class="wp-block-paragraph">NA関数は、セルに <strong>#N/Aエラーを意図的に発生させる</strong> 関数です。<code>#N/A</code> は「Not Available（情報がない・該当なし）」を意味するエラー値で、Excelの代表的なエラー7種のひとつです。</p>



<p class="wp-block-paragraph">「エラーを出すための関数なんて、何の役に立つの？」と思いますよね。実はこれ、データ分析やグラフ作成の現場ではとても重宝される関数なんです。</p>



<h3 class="wp-block-heading"><span id="toc2">NA関数の基本概念</span></h3>



<p class="wp-block-paragraph">NA関数は引数を取らず、<code>=NA()</code> と書くだけで <code>#N/A</code> を返します。読み方は「<strong>エヌエー</strong>」または「<strong>ナ</strong>」です。</p>



<pre class="wp-block-code"><code>=NA()</code></pre>



<p class="wp-block-paragraph">セルに上の数式を入れると、結果は <code>#N/A</code> になります。一見「ただエラーを表示するだけ」に見えますが、ここがミソです。</p>



<h3 class="wp-block-heading"><span id="toc3">なぜエラーを意図的に出す関数があるのか</span></h3>



<p class="wp-block-paragraph">NA関数は、もともと他の表計算ソフトとの互換性のために用意された関数です。ただ、現代のExcel運用では「<strong>エラーを意図的に発生させる</strong>」という独自の役割が確立しています。</p>



<p class="wp-block-paragraph">主な使いどころは次の3つです。</p>



<ul class="wp-block-list"><li>グラフのプロットを意図的にスキップしたい</li><li>未入力データを「未入力」と明示的に示したい</li><li>VLOOKUPやIFNAなどと組み合わせて条件分岐を作りたい</li></ul>



<p class="wp-block-paragraph">つまりNA関数は「<strong>エラーを味方につける</strong>」ための関数なんですよね。詳しい使い方は後ほど4つのシーンで解説します。</p>



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



<p class="wp-block-paragraph">それでは具体的な書き方を見ていきましょう。NA関数は引数なしで使える、Excel関数の中でもかなりシンプルな部類です。</p>



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



<p class="wp-block-paragraph">NA関数の構文はこれだけです。</p>



<pre class="wp-block-code"><code>=NA()</code></pre>



<p class="wp-block-paragraph">引数を取らないので、カッコの中は空のままにします。引数を渡すとエラーになるので注意してください。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>内容</th></tr></thead><tbody><tr><td>構文</td><td>=NA()</td></tr><tr><td>引数</td><td>なし</td></tr><tr><td>戻り値</td><td>#N/A</td></tr><tr><td>エラー値の意味</td><td>Not Available（情報なし・該当なし）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc6">=NA() を入力して#N/Aを返す</span></h3>



<p class="wp-block-paragraph">実際にセルに <code>=NA()</code> と入力してみてください。結果は <code>#N/A</code> と表示されます。</p>



<pre class="wp-block-code"><code>A1: =NA()    → #N/A
A2: =NA()*2  → #N/A
A3: =A1+1    → #N/A</code></pre>



<p class="wp-block-paragraph">ここでポイントなのが、<strong>#N/A を含むセルを参照した計算結果も #N/A になる</strong> ことです。エラーが連鎖するので、後続の集計関数（SUM・AVERAGEなど）もエラーになります。これは欠点ではなく、後で紹介するように「未確定データを集計から除外する」用途で活躍する性質です。</p>



<h3 class="wp-block-heading"><span id="toc7">対応バージョン</span></h3>



<p class="wp-block-paragraph">NA関数は古くから提供されており、Excel 2007以降のすべてのバージョンで使えます。Microsoft 365、Excel for Mac、Excel Online でも同じように動きます。互換性を気にせず使える、安心の標準関数ですよ。</p>



<h2 class="wp-block-heading"><span id="toc8">ExcelのNA関数を実務で使う4つのシーン</span></h2>



<p class="wp-block-paragraph">ここからが本題です。NA関数が「実は便利」と気づける4つの実務シーンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc9">シーン1｜未入力データを「未入力」と明示する</span></h3>



<p class="wp-block-paragraph">入力テンプレートで、まだ入力されていないセルがあったとします。空白のまま <code>*1.1</code> のような計算を続けると、結果が <code>0</code> になって紛らわしいですよね。</p>



<p class="wp-block-paragraph">そんなときは、未入力なら <code>#N/A</code> を返すように IF と組み合わせます。</p>



<pre class="wp-block-code"><code>=IF(A2=&quot;&quot;, NA(), A2*1.1)</code></pre>



<p class="wp-block-paragraph">A2が空白なら <code>#N/A</code>、入力済みなら <code>A2*1.1</code> が表示されます。<code>#N/A</code> が並んでいれば、未入力箇所が一目で分かりますよ。</p>



<p class="wp-block-paragraph">「0と未入力を区別したい」シーンでよく使うパターンです。集計セルもエラーになるので、未入力のまま誤って集計してしまうミスも防げます。</p>



<h3 class="wp-block-heading"><span id="toc10">シーン2｜グラフでデータ抜けに線をつなぐ（プレースホルダー用途）</span></h3>



<p class="wp-block-paragraph">折れ線グラフを作るとき、データが歯抜けだと困った経験はありませんか？空白セルや0が入ると、グラフの見た目が崩れます。</p>



<p class="wp-block-paragraph">NA関数を使うと、<strong>データ抜けの位置で線がつながる</strong> ようにできます。これは折れ線グラフ・面グラフのデータソースに <code>#N/A</code> が含まれると、Excelがそのセルをスキップして前後の点を直接結ぶためです。</p>



<figure class="wp-block-table"><table><thead><tr><th>データの値</th><th>グラフでの挙動</th></tr></thead><tbody><tr><td>空白セル</td><td>プロットされず、線が途切れる</td></tr><tr><td>0</td><td>0として線が落ちる（凹んで見える）</td></tr><tr><td>=NA()</td><td>スキップして前後の点を直接結ぶ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">たとえば月次売上で、まだ確定していない月のセルに <code>=NA()</code> を入れておくと、その月をまたいで前後の確定月が滑らかにつながります。</p>



<pre class="wp-block-code"><code>1月: 100
2月: 120
3月: =NA()  ← 未確定月
4月: 150</code></pre>



<p class="wp-block-paragraph">このセル設定だと、グラフは1月→2月→4月と線がつながり、3月で凹みません。プレースホルダーとして使う、定番テクニックですよ。</p>



<h3 class="wp-block-heading"><span id="toc11">シーン3｜VLOOKUP・MATCHの結果を分岐させる前処理</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUP関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-match/">MATCH関数</a>は、検索値が見つからないと自動で <code>#N/A</code> を返します。NA関数は、これと同じ「該当なし」のシグナルを意図的に発生させたいときに使います。</p>



<p class="wp-block-paragraph">たとえば、IF文で「特定の条件のときだけ検索を実行し、条件外なら未該当扱いにしたい」場合です。</p>



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



<p class="wp-block-paragraph">B2が「対象」のときだけVLOOKUPを実行し、それ以外は <code>#N/A</code> を返します。後続のISNA関数やIFNA関数で「該当なしのセル」をまとめて検出・処理できるので、条件分岐の前処理として便利です。</p>



<p class="wp-block-paragraph">VLOOKUPが出す <code>#N/A</code> も、NA関数が出す <code>#N/A</code> も、ISNAやIFNAは同じ「#N/Aエラー」として扱います。ここが大事なポイントですよ。</p>



<h3 class="wp-block-heading"><span id="toc12">シーン4｜計算前提が満たされていない場合の警告表示</span></h3>



<p class="wp-block-paragraph">複雑な計算式で、特定の前提条件が満たされていないと結果が信頼できない場面があります。そんなときは、計算結果の代わりに <code>#N/A</code> を返して「計算不能」を明示します。</p>



<pre class="wp-block-code"><code>=IF(分母=0, NA(), 分子/分母)</code></pre>



<p class="wp-block-paragraph">分母がゼロの場合、<code>#DIV/0!</code> が出る代わりに <code>#N/A</code> を返します。<code>#N/A</code> を返しておけば、ISNA関数で「計算前提が崩れているセル」だけを後から一括処理できますよね。</p>



<p class="wp-block-paragraph"><code>#DIV/0!</code> のような原因特定型エラーと違い、<code>#N/A</code> は「データが揃っていない」という意味合いを持つので、業務ロジックの分岐として使いやすい性質があります。</p>



<h2 class="wp-block-heading"><span id="toc13">NA関数とIFNA・ISNA・IFERRORの違い（4関数比較表）</span></h2>



<p class="wp-block-paragraph">エラー処理に関する関数は複数あって混乱しがちですよね。役割で整理すると、それぞれの立ち位置がはっきりします。</p>



<h3 class="wp-block-heading"><span id="toc14">役割で整理する4関数の立ち位置</span></h3>



<p class="wp-block-paragraph">エラー処理関数は、大きく4つの役割に分かれます。</p>



<ul class="wp-block-list"><li><strong>エラーを発生させる</strong>: NA関数</li><li><strong>エラーを判定する</strong>: <a href="https://mashukabu.com/excel-function-howto-use-isna/">ISNA関数</a></li><li><strong>エラーを置換する（#N/Aだけ）</strong>: <a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数</a></li><li><strong>エラーを置換する（全エラー）</strong>: <a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a></li></ul>



<p class="wp-block-paragraph">NA関数は「エラーを作る側」、残り3つは「エラーを処理する側」と覚えるとシンプルです。</p>



<h3 class="wp-block-heading"><span id="toc15">比較表</span></h3>



<p class="wp-block-paragraph">4関数の特性を一覧で整理します。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>役割</th><th>構文</th><th>主な使い場面</th></tr></thead><tbody><tr><td>NA</td><td>#N/Aを発生させる</td><td>=NA()</td><td>データ未入力フラグ、グラフのプレースホルダー、計算前提エラーの明示</td></tr><tr><td>ISNA</td><td>#N/Aかどうか判定</td><td>=ISNA(値)</td><td>TRUE/FALSEで条件分岐、未入力セルのカウント</td></tr><tr><td>IFNA</td><td>#N/Aを別の値に置換</td><td>=IFNA(値, NAの場合の値)</td><td>VLOOKUPの#N/Aを空白や代替テキストに置換</td></tr><tr><td>IFERROR</td><td>全エラーを別の値に置換</td><td>=IFERROR(値, エラーの場合の値)</td><td>あらゆるエラーを一括で非表示にしたい場合</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">IFNAとIFERRORは似ていますが、<strong>IFNAは#N/Aだけ、IFERRORは7種類すべてのエラー</strong> が対象です。「数式ミスは見逃したくないけど、#N/Aだけは隠したい」場合はIFNAが安全ですよ。詳しくは<a href="https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/">IF・IFS・IFERROR・IFNAの使い分け</a>も合わせてどうぞ。</p>



<h2 class="wp-block-heading"><span id="toc16">NA関数とIFNA・ISNAを組み合わせた実務パターン</span></h2>



<p class="wp-block-paragraph">NA関数の真価は、IFNAやISNAと組み合わせたときに発揮されます。3つの実務パターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc17">パターン1｜NA() + IFNA で代替値を表示</span></h3>



<p class="wp-block-paragraph">NA関数で発生させた <code>#N/A</code> を、IFNA関数で読み手に分かる文言に置換するパターンです。</p>



<pre class="wp-block-code"><code>=IFNA(IF(A2=&quot;&quot;, NA(), A2*1.1), &quot;未入力です&quot;)</code></pre>



<p class="wp-block-paragraph">A2が空白なら、内側のNA関数が <code>#N/A</code> を返し、それをIFNA関数が「未入力です」というメッセージに置き換えます。エラーのままだと冷たい印象ですが、メッセージにすれば操作者にやさしい表示になりますよね。</p>



<h3 class="wp-block-heading"><span id="toc18">パターン2｜NA() + ISNA で条件分岐</span></h3>



<p class="wp-block-paragraph">ISNA関数は「セルが #N/A かどうか」を TRUE/FALSE で返します。NA関数で発生させた <code>#N/A</code> を別セルで検知して、自動で次のアクションを起こせます。</p>



<pre class="wp-block-code"><code>A列: =IF(B2=&quot;&quot;, NA(), B2*1.1)
C列: =IF(ISNA(A2), &quot;要確認&quot;, &quot;OK&quot;)</code></pre>



<p class="wp-block-paragraph">A列が <code>#N/A</code> のとき、C列に「要確認」と表示されます。データ入力チェックリストとしても活用できる、便利な組み合わせです。</p>



<h3 class="wp-block-heading"><span id="toc19">パターン3｜VLOOKUPの#N/Aを任意のセルに伝播させる</span></h3>



<p class="wp-block-paragraph">VLOOKUPで「該当なし」だった場合に、別の関連セルにも <code>#N/A</code> を反映させたいケースがあります。これも NA関数とIFNAの合わせ技で解決できます。</p>



<pre class="wp-block-code"><code>B列: =VLOOKUP(A2, マスタ, 2, FALSE)
C列: =IF(ISNA(B2), NA(), B2*1.1)</code></pre>



<p class="wp-block-paragraph">B列のVLOOKUPで該当なしになると、C列にもNA関数で <code>#N/A</code> が伝播します。後続の合計や平均が誤った値で計算されるのを防げますよ。</p>



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



<p class="wp-block-paragraph">NA関数はシンプルですが、ちょっとした書き間違いでエラーが出ることがあります。よくある3つのケースを押さえておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc21">構文ミス（NA と入力すると#NAME?エラー）</span></h3>



<p class="wp-block-paragraph">最も多いミスが、カッコを忘れて <code>=NA</code> だけ入力してしまうケースです。これだとExcelが関数として認識せず、<code>#NAME?</code> エラーが出ます。</p>



<pre class="wp-block-code"><code>=NA   → #NAME?エラー
=NA() → #N/A（正しい）</code></pre>



<p class="wp-block-paragraph">NA関数は引数を取らない関数ですが、カッコ自体は省略できません。「<strong>カッコまで含めて関数名</strong>」と覚えておくと忘れにくいですよ。</p>



<h3 class="wp-block-heading"><span id="toc22">#N/A以外のエラーを返したい場合</span></h3>



<p class="wp-block-paragraph">NA関数が返せるのは <code>#N/A</code> だけです。<code>#VALUE!</code> や <code>#DIV/0!</code> を意図的に返したい場合、それぞれ専用の関数や数式で発生させます。</p>



<figure class="wp-block-table"><table><thead><tr><th>出したいエラー</th><th>発生方法</th></tr></thead><tbody><tr><td>#N/A</td><td>=NA()</td></tr><tr><td>#DIV/0!</td><td>=1/0</td></tr><tr><td>#VALUE!</td><td>文字列を数値計算（例: =&#8221;a&#8221;+1）</td></tr><tr><td>#REF!</td><td>削除済みセルの参照</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ただし、業務で意図的にエラーを発生させる用途なら <code>#N/A</code> がもっとも汎用性が高いです。NA関数で十分なケースが大半ですよ。</p>



<h3 class="wp-block-heading"><span id="toc23">グラフで線がつながらない場合のチェック</span></h3>



<p class="wp-block-paragraph">NA関数で <code>#N/A</code> を入れたのに、折れ線グラフが途切れたままになる場合は、次の3点をチェックしてください。</p>



<ul class="wp-block-list"><li>グラフのデータソースが <code>#N/A</code> を含むセルを正しく参照しているか</li><li>「空白セル」のオプションが「データ要素を線で結ぶ」になっているか</li><li>折れ線グラフ・面グラフ以外（棒グラフなど）を使っていないか</li></ul>



<p class="wp-block-paragraph">特に2つ目はよく見落とすポイントです。グラフを右クリック→「データの選択」→「非表示および空白のセル」から設定できますよ。</p>



<h2 class="wp-block-heading"><span id="toc24">まとめ｜NA関数で「エラーを味方にする」数式設計</span></h2>



<p class="wp-block-paragraph">ExcelのNA関数は、<code>=NA()</code> と書くだけで <code>#N/A</code> エラーを発生させるシンプルな関数です。「エラーを出す関数なんて何に使うの？」と思いがちですが、4つの実務シーンで活躍する隠れた便利関数なんですよね。</p>



<p class="wp-block-paragraph">今回紹介した4つの活用シーンを振り返りましょう。</p>



<ul class="wp-block-list"><li><strong>シーン1</strong>: 未入力データを <code>#N/A</code> で明示してミスを防ぐ</li><li><strong>シーン2</strong>: グラフで未確定データの位置をスキップして線をつなぐ</li><li><strong>シーン3</strong>: VLOOKUP・MATCHと組み合わせて「該当なし」を意図的に発生</li><li><strong>シーン4</strong>: 計算前提が崩れているセルを後で一括検出できるようマーキング</li></ul>



<p class="wp-block-paragraph">そして、IFNA・ISNA・IFERRORと組み合わせれば、エラー処理の幅が一気に広がります。「エラーを発生させる→検知する→置換する」の流れを設計できると、堅牢な数式が書けるようになりますよ。</p>



<p class="wp-block-paragraph">エラー処理関連の関数についてもっと知りたい方は、関連記事もぜひチェックしてみてください。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-ifna/">ExcelのIFNA関数の使い方｜#N/Aだけを処理</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-isna/">ExcelのISNA関数の使い方｜#N/Aエラーだけをピンポイント判定</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-iferror/">ExcelのIFERROR関数の使い方｜エラー値を別の値に置き換える</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-vlookup/">ExcelのVLOOKUP関数の使い方｜表から検索して値を取り出す</a></li><li><a href="https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/">Excel IF・IFS・IFERROR・IFNAの使い分け完全ガイド</a></li></ul>



<p class="wp-block-paragraph">NA関数を使いこなして、「<strong>エラーを味方にする</strong>」数式設計をぜひ試してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-na/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<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 class="wp-block-paragraph">スプレッドシートでVLOOKUPやMATCHを使ったら「#N/A」が表示された。こんな経験、ありませんか？</p>



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



<p class="wp-block-paragraph">この記事では基本の書き方から実務パターンまで解説します。<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-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">スプレッドシートの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 class="wp-block-paragraph">IFNA関数（読み方: イフエヌエー関数）は、<strong>数式の結果が#N/Aエラーのときだけ代わりの値を返す関数</strong>です。</p>



<p class="wp-block-paragraph">「IF」は「もし」、「N/A」は「Not Available（該当なし）」の略です。</p>



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



<p class="wp-block-paragraph">それ以外のエラーはそのまま残せますよ。</p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph">IFNA関数の構文はとてもシンプルです。</p>



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



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



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



<p class="wp-block-paragraph">それぞれの引数の意味を表で整理しておきましょう。</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 class="wp-block-paragraph">第2引数を省略するとどうなるでしょうか。Googleスプレッドシートでは空文字列（&#8221;&#8221;）が返ります。</p>



<p class="wp-block-paragraph">実務では表示したい値を明示するのがおすすめですよ。</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 class="wp-block-paragraph">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 class="wp-block-paragraph">検索値が見つかれば結果がそのまま返ります。見つからなければ「該当なし」と表示されます。</p>



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">数値を返すパターンも実務でよく使います。</p>



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph"><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 class="wp-block-paragraph">「検索列より左側の値を取得する」パターンです。見つからないときだけ「該当なし」を返します。</p>



<p class="wp-block-paragraph">VLOOKUPでは対応できない検索が必要な場面で使ってみてください。</p>



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



<p class="wp-block-paragraph">第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 class="wp-block-paragraph">まずシート1で検索します。#N/Aならシート2を検索します。どちらにもなければ「どちらにもなし」を表示する仕組みです。</p>



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



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



<p class="wp-block-paragraph"><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 class="wp-block-paragraph">A2が空白ならそもそも検索しません。値が入っているときだけVLOOKUPを実行します。</p>



<p class="wp-block-paragraph">入力途中のデータを扱うときに便利なパターンですよ。</p>



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">具体的に、同じ数式にミスがあった場合の動作を比較してみましょう。</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 class="wp-block-paragraph">IFERRORだと#REF!や#NAME?も代替値に置き換わります。数式のスペルミスに気づけないリスクがありますよね。</p>



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



<p class="wp-block-paragraph">使い分けの基準はシンプルです。</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 class="wp-block-paragraph">迷ったらIFNA関数を選んでおくのが安全です。想定外のエラーはそのまま残せるので、デバッグしやすくなりますよ。</p>



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">スプレッドシートの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 class="wp-block-paragraph">まずは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 class="wp-block-paragraph">「IF関数は使えるけど、IFSとかIFERRORとか似た名前の関数がいくつもあって、どれを使えばいいかわからない」と感じたこと、ありませんか？</p>



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



<p class="wp-block-paragraph">この記事では、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-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">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 class="wp-block-paragraph">まず結論です。4つの関数は大きく2グループに分かれます。</p>



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



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



<p class="wp-block-paragraph">以下の比較表で、それぞれの特徴を一目で確認できます。</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 class="wp-block-paragraph">この表だけで判断できることも多いですが、ここから各関数の使いどころをもう少し掘り下げていきましょう。</p>



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



<p class="wp-block-paragraph"><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 class="wp-block-paragraph">たとえば、売上が目標を超えたら「達成」と表示する場合はこう書きます。</p>



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



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



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



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



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



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



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



<p class="wp-block-paragraph"><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 class="wp-block-paragraph">IFERRORは以下の<strong>7種類すべてのエラー</strong>を一括で処理します。</p>



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



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



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



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



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



<p class="wp-block-paragraph"><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 class="wp-block-paragraph">IFERRORは便利ですが、<strong>すべてのエラーを消してしまう</strong>点に注意が必要です。</p>



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



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



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



<p class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph">VLOOKUPで「検索値が見つからない」場合だけ処理したいなら、IFNAが最適です。</p>



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



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



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



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



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



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



<p class="wp-block-paragraph"><strong>Q1. やりたいことは何ですか？</strong></p>



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



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph">このフローに従えば、4つの関数で迷うことはなくなるはずです。</p>



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



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



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



<p class="wp-block-paragraph">計算結果を条件分岐したいけど、元の計算式がエラーになる可能性がある場合に使います。</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 class="wp-block-paragraph">この式は「前年比（B2/C2）」に応じた評価を出しつつ、C2がゼロだった場合のエラーもカバーしています。</p>



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



<p class="wp-block-paragraph">「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 class="wp-block-paragraph">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 class="wp-block-paragraph">VLOOKUPで検索値が見つからないときだけ代替値を返すパターンです。実務でもっとも使用頻度が高い組み合わせのひとつです。</p>



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



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



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">判断に迷ったら、本記事のフローチャートに立ち返ってみてください。</p>



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



<p class="wp-block-paragraph">まずは自分の数式が「条件分岐」と「エラー処理」のどちらなのかを見極めるところから始めてみてくださいね。</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 class="wp-block-paragraph">「スプレッドシートで数式を入れたら#N/Aや#DIV/0!が表示されてしまった」。こんな経験、ありませんか？</p>



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



<p class="wp-block-paragraph">そんなときに使えるのが、スプレッドシートの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-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">スプレッドシートの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 class="wp-block-paragraph">IFERROR関数（読み方: イフエラー関数）は、<strong>数式がエラーを返したときに代わりの値を表示する関数</strong>です。「IF」は「もし」、「ERROR」は「エラーなら」という意味に由来しています。</p>



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">「エラーが出たら別の値を返す関数」と覚えておくとわかりやすいですよ。</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 class="wp-block-paragraph">カッコの中に「エラーを確認したい数式」と「エラーのときに返す値」を指定します。</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 class="wp-block-paragraph">第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 class="wp-block-paragraph">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 class="wp-block-paragraph">C2が0でなければ割り算の結果が返ります。C2が0のときは#DIV/0!の代わりに0が表示されます。</p>



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



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



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



<p class="wp-block-paragraph">商品コードをもとに商品名を検索するとします。<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 class="wp-block-paragraph">A2の値がE列に存在すれば商品名が返ります。存在しなければ「該当なし」と表示されます。検索系の関数でもっとも使われるパターンですよ。</p>



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



<p class="wp-block-paragraph">達成率を計算するとき、目標が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 class="wp-block-paragraph">売上報告書やKPI管理表でよく使うパターンです。0を返すと「達成率0%」と誤解されるため、「-」や「N/A」を返すほうが親切ですよ。</p>



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



<p class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph">エラーを完全に非表示にしたい場合は、第2引数に空文字列を指定します。</p>



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



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



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



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



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



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



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">使い分けの基準はシンプルです。</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 class="wp-block-paragraph">IFNA関数は#N/A以外のエラーをそのまま表示します。そのため、数式に問題があればすぐに気づけます。「なんでもIFERRORで囲む」のはやめて、用途に応じて使い分けてみてください。</p>



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



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



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



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



<p class="wp-block-paragraph">NGの例: IFERRORの外で割り算している</p>



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



<p class="wp-block-paragraph">OKの例: エラーが出る数式全体をIFERRORで囲む</p>



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">スプレッドシートの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 class="wp-block-paragraph">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のERROR.TYPE関数の使い方｜エラーの種類を番号で判別する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-error-type/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-error-type/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 29 Jun 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[ERROR.TYPE関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[IFERROR]]></category>
		<category><![CDATA[ISERROR]]></category>
		<category><![CDATA[SWITCH関数]]></category>
		<category><![CDATA[エラー処理]]></category>
		<category><![CDATA[エラー判定]]></category>
		<category><![CDATA[情報関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2261</guid>

					<description><![CDATA[ExcelのERROR.TYPE関数の使い方を解説。エラーの種類を番号で判別する基本から、IF・SWITCHとの組み合わせ、ISERROR・IFERROR・TYPE関数との違いまで、実務に役立つ活用パターンを紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">数式がエラーになったとき、「とりあえずIFERRORで非表示にする」で済ませていませんか？</p>



<p class="wp-block-paragraph">「#VALUE!」なのか「#N/A」なのかでは、原因も対処法もまったく違います。エラーの種類がわからないまま一括で隠してしまうと、本当に修正が必要な問題を見逃してしまうかもしれません。</p>



<p class="wp-block-paragraph">そんなときに使えるのがERROR.TYPE関数です。エラーの種類を番号で返してくれるので、「どのエラーか」に応じて処理を分けられます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>この記事は次のような人におすすめ</p><p>&#8211; エラーの種類を自動で判別して処理を分岐したい<br>&#8211; 数式のトラブル原因を素早く特定したい<br>&#8211; ISERROR関数やIFERROR関数との違いを知りたい</p></blockquote>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-5" checked><label class="toc-title" for="toc-checkbox-5">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ERROR.TYPE関数とは？エラーの種類を番号で返す情報関数</a></li><li><a href="#toc2" tabindex="0">ERROR.TYPE関数の書き方（構文と引数）</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">ERROR.TYPE関数の基本的な使い方</a><ol><li><a href="#toc7" tabindex="0">エラー種類ごとの判定結果</a></li><li><a href="#toc8" tabindex="0">セル参照と数式の直接指定</a></li></ol></li><li><a href="#toc9" tabindex="0">ERROR.TYPE関数の実務活用パターン</a><ol><li><a href="#toc10" tabindex="0">パターン1: IF関数でエラー種類ごとにメッセージを出し分ける</a></li><li><a href="#toc11" tabindex="0">パターン2: SWITCH関数で複数のエラーを整理する（Microsoft 365）</a></li><li><a href="#toc12" tabindex="0">パターン3: エラー種類をCOUNTIFで集計してトラブル箇所を特定する</a></li><li><a href="#toc13" tabindex="0">パターン4: エラーの種類に応じて代替値を変える</a></li></ol></li><li><a href="#toc14" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc15" tabindex="0">似た関数との違い・使い分け</a><ol><li><a href="#toc16" tabindex="0">ERROR.TYPE vs ISERROR：種類の判別 vs 有無の判定</a></li><li><a href="#toc17" tabindex="0">ERROR.TYPE vs IFERROR：判別 vs 一括処理</a></li><li><a href="#toc18" tabindex="0">ERROR.TYPE vs TYPE関数：エラーの種類 vs データの種類</a></li><li><a href="#toc19" tabindex="0">エラー判定関数の使い分けフロー</a></li><li><a href="#toc20" tabindex="0">エラー判定関数の対応範囲</a></li></ol></li><li><a href="#toc21" tabindex="0">まとめ</a><ol><li><a href="#toc22" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ERROR.TYPE関数とは？エラーの種類を番号で返す情報関数</span></h2>



<p class="wp-block-paragraph">ERROR.TYPE（えらー たいぷ）関数は、エラー値の<strong>種類を番号（数値）で返す</strong>情報関数です。&#8221;ERROR&#8221;は「誤り」、&#8221;TYPE&#8221;は「種類」を意味します。</p>



<p class="wp-block-paragraph">たとえば #N/A なら 7、#VALUE! なら 3 のように、エラーごとに決まった番号を返します。エラーでない正常な値を渡すと #N/A を返すのが特徴です。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数</a>は「エラーかどうか」をTRUE/FALSEで判定します。一方、ERROR.TYPE関数は「<strong>どの種類のエラーか</strong>」まで特定できるのがポイントです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>ERROR.TYPE関数は Excel 2003 以降のすべてのバージョンで使用できます。Microsoft 365 でも同じ書き方で使えますよ。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=ERROR.TYPE(エラー値)</code></pre>



<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></tbody></table></figure>



<p class="wp-block-paragraph">引数は1つだけです。省略はできません。セル参照・直接入力した値・数式の結果のいずれも指定できます。</p>



<h3 class="wp-block-heading"><span id="toc5">戻り値一覧（エラー番号早見表）</span></h3>



<p class="wp-block-paragraph">ERROR.TYPE関数が返す番号とエラーの対応表です。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー値</th><th>戻り値</th><th>エラーの意味</th><th>よくある原因</th></tr></thead><tbody><tr><td>#NULL!</td><td>1</td><td>セル範囲の共通部分がない</td><td>範囲演算子（スペース）の誤り</td></tr><tr><td>#DIV/0!</td><td>2</td><td>ゼロで除算した</td><td>割り算の分母が0または空白セル</td></tr><tr><td>#VALUE!</td><td>3</td><td>データ型が不正</td><td>数値を期待する場所に文字列</td></tr><tr><td>#REF!</td><td>4</td><td>参照先が無効</td><td>セルや行・列の削除</td></tr><tr><td>#NAME?</td><td>5</td><td>関数名やセル名が不正</td><td>関数名のスペルミス</td></tr><tr><td>#NUM!</td><td>6</td><td>数値が範囲外</td><td>SQRT関数に負の数を指定</td></tr><tr><td>#N/A</td><td>7</td><td>値が見つからない</td><td>VLOOKUPの検索値が存在しない</td></tr><tr><td>#GETTING_DATA</td><td>8</td><td>データ取得中（外部接続）</td><td>外部データソースの応答待ち</td></tr><tr><td>エラーでない値</td><td>#N/A</td><td>正常な値にはエラー番号がない</td><td>―</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">番号は1から始まり、エラーの種類ごとに固定されています。この番号を暗記する必要はありません。必要なときにこの早見表を参照してください。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>#SPILL!や#CALC!など、Microsoft 365で追加されたエラーはERROR.TYPE関数で判定できません（#N/Aを返します）。これらのエラーには<a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数</a>で対応してください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc6">ERROR.TYPE関数の基本的な使い方</span></h2>



<p class="wp-block-paragraph">まずはシンプルな例で動きを確認してみましょう。</p>



<h3 class="wp-block-heading"><span id="toc7">エラー種類ごとの判定結果</span></h3>



<p class="wp-block-paragraph">さまざまなエラーをERROR.TYPE関数で判定すると、次のような結果になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列の値</th><th>数式</th><th>結果</th><th>理由</th></tr></thead><tbody><tr><td>=10/0 (#DIV/0!)</td><td>=ERROR.TYPE(A2)</td><td>2</td><td>ゼロ除算エラー</td></tr><tr><td>=VLOOKUP(&#8220;Z&#8221;,D:E,2,0) (#N/A)</td><td>=ERROR.TYPE(A3)</td><td>7</td><td>検索値が見つからない</td></tr><tr><td>=&#8221;あ&#8221;+1 (#VALUE!)</td><td>=ERROR.TYPE(A4)</td><td>3</td><td>データ型が不正</td></tr><tr><td>=SQRT(-1) (#NUM!)</td><td>=ERROR.TYPE(A5)</td><td>6</td><td>数値が範囲外</td></tr><tr><td>100</td><td>=ERROR.TYPE(A6)</td><td>#N/A</td><td>正常な数値なので判定不可</td></tr><tr><td>東京</td><td>=ERROR.TYPE(A7)</td><td>#N/A</td><td>正常な文字列なので判定不可</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">正常な値を渡すと #N/A を返す点に注意してください。「エラーかどうか」だけを判定したい場合は <a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数</a> のほうが適しています。</p>



<h3 class="wp-block-heading"><span id="toc8">セル参照と数式の直接指定</span></h3>



<p class="wp-block-paragraph">ERROR.TYPE関数にはセル参照と数式のどちらも渡せます。</p>



<p class="wp-block-paragraph"><strong>セル参照で判定する場合:</strong></p>



<pre class="wp-block-code"><code>=ERROR.TYPE(A1)</code></pre>



<p class="wp-block-paragraph">A1にエラー値が表示されていれば対応する番号を返します。正常な値が入っていれば #N/A です。</p>



<p class="wp-block-paragraph"><strong>数式を直接指定する場合:</strong></p>



<pre class="wp-block-code"><code>=ERROR.TYPE(VLOOKUP(&quot;Z&quot;,A:B,2,0))</code></pre>



<p class="wp-block-paragraph">VLOOKUPの結果が #N/A なら 7 を返します。数式の結果をいちいち別のセルに出す必要がないので便利です。</p>



<h2 class="wp-block-heading"><span id="toc9">ERROR.TYPE関数の実務活用パターン</span></h2>



<h3 class="wp-block-heading"><span id="toc10">パターン1: IF関数でエラー種類ごとにメッセージを出し分ける</span></h3>



<p class="wp-block-paragraph">IF関数と組み合わせると、エラーの種類に応じて異なるメッセージを表示できます。</p>



<pre class="wp-block-code"><code>=IF(ISERROR(A2),IF(ERROR.TYPE(A2)=7,&quot;該当データなし&quot;,IF(ERROR.TYPE(A2)=3,&quot;入力値が不正&quot;,&quot;その他のエラー&quot;)),&quot;OK&quot;)</code></pre>



<p class="wp-block-paragraph">この数式は、まず<a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数</a>でエラーかどうかを判定します。エラーの場合、#N/A（番号7）なら「該当データなし」を返します。#VALUE!（番号3）なら「入力値が不正」です。それ以外のエラーには「その他のエラー」、正常値には「OK」を表示します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>ISERRORを先に入れないと、正常な値のセルにも「その他のエラー」が表示されてしまいます。ERROR.TYPE関数は正常な値にも #N/A を返すため、必ずISERRORと組み合わせてください。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc11">パターン2: SWITCH関数で複数のエラーを整理する（Microsoft 365）</span></h3>



<p class="wp-block-paragraph">Microsoft 365をお使いなら、SWITCH関数と組み合わせるとIFのネストを避けてスッキリ書けます。</p>



<pre class="wp-block-code"><code>=IF(ISERROR(A2),SWITCH(ERROR.TYPE(A2),2,&quot;0で割っています&quot;,3,&quot;入力値の型が違います&quot;,7,&quot;該当データがありません&quot;,&quot;その他のエラーです&quot;),&quot;正常&quot;)</code></pre>



<p class="wp-block-paragraph">IFで何段もネストする必要がないので、可読性が格段に上がりますよ。エラー番号ごとに対応するメッセージをSWITCH関数で振り分けています。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>SWITCH関数はMicrosoft 365とExcel 2019以降で使えます。Excel 2016以前をお使いの場合はパターン1のIF関数ネストを使ってください。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc12">パターン3: エラー種類をCOUNTIFで集計してトラブル箇所を特定する</span></h3>



<p class="wp-block-paragraph">大量のデータを処理しているとき、どのエラーが多いかをCOUNTIF関数で集計できます。</p>



<p class="wp-block-paragraph">まず作業列にERROR.TYPE関数の結果を出しておきます。</p>



<pre class="wp-block-code"><code>=IFERROR(ERROR.TYPE(A2),&quot;&quot;)</code></pre>



<p class="wp-block-paragraph">正常な値は空文字にしておくのがポイントです。<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>でERROR.TYPE自体が返す #N/A を空文字に変換しています。</p>



<p class="wp-block-paragraph">次に、この作業列をCOUNTIFで集計します。</p>



<pre class="wp-block-code"><code>=COUNTIF(B:B,7)</code></pre>



<p class="wp-block-paragraph">これで #N/A エラー（番号7）の件数がわかります。エラーが集中している種類を把握できると、修正の優先順位が立てやすくなります。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン4: エラーの種類に応じて代替値を変える</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>はすべてのエラーを同じ代替値に置き換えます。ERROR.TYPE関数を使えば、エラーの種類ごとに異なる代替値を返せます。</p>



<pre class="wp-block-code"><code>=IF(ISERROR(A2),IF(ERROR.TYPE(A2)=7,0,IF(ERROR.TYPE(A2)=2,&quot;&quot;,A2)),A2)</code></pre>



<p class="wp-block-paragraph">この数式では、#N/A（検索値なし）なら 0 を返し、#DIV/0!（ゼロ除算）なら空文字にしています。それ以外のエラーはそのまま表示して、見逃しを防ぎます。</p>



<p class="wp-block-paragraph">「VLOOKUPの #N/A は 0 に変えたいけど、#REF! や #VALUE! はそのまま見えていてほしい」。そんな場面で役立つパターンです。</p>



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



<p class="wp-block-paragraph">ERROR.TYPE関数そのものでエラーが出るケースをまとめました。</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>仕様どおりの動作です。<a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数</a>で先にエラーかどうかを判定しましょう</td></tr><tr><td>#N/A が返る</td><td>引数を省略した</td><td>引数は必須です。判定したいセルまたは数式を指定してください</td></tr><tr><td>#N/A が返る</td><td>#SPILL! や #CALC! を渡した</td><td>Microsoft 365 で追加されたエラーはERROR.TYPEで判定できません。ISERRORで対応してください</td></tr><tr><td>意図しない番号が返る</td><td>参照先が想定と違うエラーになっている</td><td>参照先セルの数式を確認してください。戻り値一覧と照合すると原因がわかります</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>ERROR.TYPE関数が #N/A を返したとき、「エラーがない正常な状態」と「引数の省略」の区別がつかない場合があります。<a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数</a>で先にチェックすれば確実に区別できますよ。</p></blockquote>



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



<p class="wp-block-paragraph">ERROR.TYPE関数と似た働きをする関数を比較してみましょう。</p>



<h3 class="wp-block-heading"><span id="toc16">ERROR.TYPE vs ISERROR：種類の判別 vs 有無の判定</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>ERROR.TYPE</th><th>ISERROR</th></tr></thead><tbody><tr><td>戻り値</td><td>エラー番号（1〜8）</td><td>TRUE / FALSE</td></tr><tr><td>正常値の場合</td><td>#N/A</td><td>FALSE</td></tr><tr><td>用途</td><td>エラーの<strong>種類を特定</strong>したい</td><td>エラーの<strong>有無だけ</strong>を確認したい</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数</a>は「エラーかどうか」を判定するだけです。ERROR.TYPE関数は「どのエラーか」まで踏み込めます。エラーの種類ごとに処理を変えたいときはERROR.TYPE関数を選んでください。</p>



<h3 class="wp-block-heading"><span id="toc17">ERROR.TYPE vs IFERROR：判別 vs 一括処理</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>ERROR.TYPE</th><th>IFERROR</th></tr></thead><tbody><tr><td>戻り値</td><td>エラー番号（1〜8）</td><td>エラー時は代替値、正常時は元の値</td></tr><tr><td>エラー種類の区別</td><td>できる</td><td>できない（全エラー同じ扱い）</td></tr><tr><td>用途</td><td>エラーの<strong>種類に応じて</strong>分岐したい</td><td>エラーを<strong>まとめて</strong>代替値に置き換えたい</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>は「エラーなら全部これに置き換える」という一括処理です。ERROR.TYPE関数は「#N/Aのときはこう、#VALUE!のときはこう」と細かく分岐できます。</p>



<h3 class="wp-block-heading"><span id="toc18">ERROR.TYPE vs TYPE関数：エラーの種類 vs データの種類</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>ERROR.TYPE</th><th>TYPE</th></tr></thead><tbody><tr><td>対象</td><td>エラー値のみ</td><td>すべてのデータ型</td></tr><tr><td>戻り値</td><td>エラー番号（1〜8）</td><td>データ型コード（1=数値, 2=文字列, 4=論理値, 16=エラー, 64=配列）</td></tr><tr><td>エラー値を渡した場合</td><td>エラーの種類を特定</td><td>一律 16（エラー型）</td></tr><tr><td>正常値を渡した場合</td><td>#N/A</td><td>データ型に応じた番号</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-type/">TYPE関数</a>は「そのセルに何が入っているか（数値・文字列・エラーなど）」を判別します。ERROR.TYPE関数は「どの種類のエラーか」を判別します。目的が違うので、混同しないようにしましょう。</p>



<h3 class="wp-block-heading"><span id="toc19">エラー判定関数の使い分けフロー</span></h3>



<p class="wp-block-paragraph">どの関数を使うか迷ったときは、次の順番で判断してみてください。</p>



<ol class="wp-block-list"><li>エラーを代替値に置き換えるだけでよい → <a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a></li><li>エラーかどうかをTRUE/FALSEで判定したい → <a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数</a></li><li>#N/Aだけを判定したい → <a href="https://mashukabu.com/excel-function-howto-use-isna/">ISNA関数</a></li><li>#N/A以外のエラーだけを判定したい → <a href="https://mashukabu.com/excel-function-howto-use-iserr/">ISERR関数</a></li><li>#N/Aだけを代替値に置き換えたい → <a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数</a></li><li>エラーの種類ごとに処理を変えたい → <strong>ERROR.TYPE関数</strong></li></ol>



<h3 class="wp-block-heading"><span id="toc20">エラー判定関数の対応範囲</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>エラー値</th><th>ERROR.TYPE</th><th>ISERROR</th><th>ISERR</th><th>ISNA</th><th>IFERROR</th><th>IFNA</th></tr></thead><tbody><tr><td>#NULL!</td><td>1</td><td>TRUE</td><td>TRUE</td><td>FALSE</td><td>代替値</td><td>―</td></tr><tr><td>#DIV/0!</td><td>2</td><td>TRUE</td><td>TRUE</td><td>FALSE</td><td>代替値</td><td>―</td></tr><tr><td>#VALUE!</td><td>3</td><td>TRUE</td><td>TRUE</td><td>FALSE</td><td>代替値</td><td>―</td></tr><tr><td>#REF!</td><td>4</td><td>TRUE</td><td>TRUE</td><td>FALSE</td><td>代替値</td><td>―</td></tr><tr><td>#NAME?</td><td>5</td><td>TRUE</td><td>TRUE</td><td>FALSE</td><td>代替値</td><td>―</td></tr><tr><td>#NUM!</td><td>6</td><td>TRUE</td><td>TRUE</td><td>FALSE</td><td>代替値</td><td>―</td></tr><tr><td>#N/A</td><td>7</td><td>TRUE</td><td>FALSE</td><td>TRUE</td><td>代替値</td><td>代替値</td></tr><tr><td>正常値</td><td>#N/A</td><td>FALSE</td><td>FALSE</td><td>FALSE</td><td>元の値</td><td>元の値</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">ERROR.TYPE関数は、エラーの種類を番号で判別できる関数です。</p>



<ul class="wp-block-list"><li>7種類のエラーに対して1〜8の番号を返す</li><li>正常な値には #N/A を返す</li><li>ISERRORと組み合わせると安全に判別できる</li><li>IF関数やSWITCH関数との組み合わせでメッセージの出し分けが可能</li><li>#SPILL!など365固有のエラーには対応していない</li></ul>



<p class="wp-block-paragraph">エラーの種類ごとに処理を変えたいときは、ERROR.TYPE関数の出番です。「とりあえずエラーを非表示にしたい」だけなら<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 class="wp-block-paragraph">エラー処理全般の使い分けを知りたい方は、<a href="https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/">IF・IFS・IFERROR・IFNAの使い分け</a>も参考にしてみてください。</p>



<h3 class="wp-block-heading"><span id="toc22">関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数の使い方</a> &#8212; すべてのエラーをまとめて判定</li><li><a href="https://mashukabu.com/excel-function-howto-use-iserr/">ISERR関数の使い方</a> &#8212; #N/A以外のエラーを判定</li><li><a href="https://mashukabu.com/excel-function-howto-use-isna/">ISNA関数の使い方</a> &#8212; #N/Aだけを判定</li><li><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数の使い方</a> &#8212; エラーを代替値に置き換え</li><li><a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数の使い方</a> &#8212; #N/Aだけを代替値に置き換え</li><li><a href="https://mashukabu.com/excel-error-value-list/">Excelのエラー値一覧</a> &#8212; 7種類のエラーの原因と対処法</li><li><a href="https://mashukabu.com/excel-function-howto-use-type/">TYPE関数の使い方</a> &#8212; セルのデータ型を番号で判別</li><li><a href="https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/">IF・IFS・IFERROR・IFNAの使い分け</a> &#8212; エラー処理関数の選び方フロー</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-error-type/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 class="wp-block-paragraph">VLOOKUPで検索したら、セルに「#N/A」がズラッと並んでしまった…。そんな経験、ありませんか？</p>



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



<p class="wp-block-paragraph">そこで活躍するのが <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-6" checked><label class="toc-title" for="toc-checkbox-6">目次</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 class="wp-block-paragraph">IFNA関数は、数式の結果が <strong>#N/Aエラーのときだけ</strong> 別の値を返す関数です。Excel 2013で追加されました。</p>



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



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



<p class="wp-block-paragraph">読み方は「<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 class="wp-block-paragraph">第2引数を省略すると <strong>0</strong> が返ります。空白にしたい場合は <code>""</code> を明示的に指定してください。この省略時の挙動はうっかりミスしやすいポイントですよ。</p>



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



<p class="wp-block-paragraph">まずはシンプルな使い方から見ていきましょう。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph"><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 class="wp-block-paragraph">受注リストにある商品コード「A004」を検索すると、マスタに存在しないので#N/Aになります。IFNAで処理すると次のようになります。</p>



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



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



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



<p class="wp-block-paragraph"><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 class="wp-block-paragraph">INDEX+MATCHでも検索値が見つからなければ#N/Aが発生します。IFNAで囲んでおけば安心ですよ。</p>



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



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



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



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



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



<p class="wp-block-paragraph">使い分けのポイントは次のとおりです。</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 class="wp-block-paragraph">迷ったらIFNAを選ぶほうが安全ですよ。エラーを必要以上に隠さない設計は、あとからのトラブル防止につながります。</p>



<p class="wp-block-paragraph">なお、<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 class="wp-block-paragraph">この書き方だと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 class="wp-block-paragraph">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 class="wp-block-paragraph">VLOOKUP+IFNAで書いていた処理が、XLOOKUPなら1つの関数で完結します。数式がスッキリしますよね。</p>



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



<p class="wp-block-paragraph">移行の目安をまとめておきます。</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 class="wp-block-paragraph">IFNA関数自体はシンプルですが、使い方を間違えるとハマるポイントがあります。</p>



<p class="wp-block-paragraph"><strong>第2引数を省略して意図しない0が表示される</strong></p>



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



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



<p class="wp-block-paragraph"><strong>IFNAの中にIFNAの対象でない数式を入れてしまう</strong></p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph"><strong>VLOOKUP側の引数ミスに気づかない</strong></p>



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



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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>
		<item>
		<title>ExcelのIFERROR関数の使い方｜エラー処理の基本と実務活用</title>
		<link>https://mashukabu.com/excel-function-howto-use-iferror/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-iferror/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 28 Mar 2022 14:32:07 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[IFERROR関数]]></category>
		<category><![CDATA[IFNA]]></category>
		<category><![CDATA[INDEX MATCH]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[XLOOKUP]]></category>
		<category><![CDATA[エラー処理]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1476</guid>

					<description><![CDATA[ExcelのIFERROR関数の使い方を基本構文から実務パターンまで解説。VLOOKUP・XLOOKUP・INDEX MATCHとの組み合わせ方、IFNA・ISERRORとの違いと使い分け、エラーを隠しすぎない安全な設計のコツも実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">VLOOKUPで検索したら「#N/A」、割り算したら「#DIV/0!」&#8230;&#8230;。Excelを使っていると、こうしたエラー表示に悩まされますよね。せっかく作った資料にエラーが並んでいると見栄えも悪く、そのセルを参照する他の数式まで連鎖的にエラーになってしまいます。</p>



<p class="wp-block-paragraph">そんなときに頼りになるのがIFERROR関数です。この記事では、IFERROR関数の基本的な使い方からVLOOKUP・XLOOKUPとの組み合わせ、IFNA関数やISERROR関数との使い分けまで、実例付きで解説していきます。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-7" checked><label class="toc-title" for="toc-checkbox-7">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">IFERROR関数とは？</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">IFERROR関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li><li><a href="#toc7" tabindex="0">IFERROR関数が検出できるエラー一覧</a></li></ol></li><li><a href="#toc8" tabindex="0">IFERROR関数の使い方と実務活用パターン</a><ol><li><a href="#toc9" tabindex="0">基本: エラーを空白・メッセージ・数値に置き換える</a></li><li><a href="#toc10" tabindex="0">パターン1: VLOOKUP+IFERRORで未登録データを処理する</a></li><li><a href="#toc11" tabindex="0">パターン2: XLOOKUP+IFERRORの使い分け</a></li><li><a href="#toc12" tabindex="0">パターン3: 割り算の#DIV/0!エラーを回避する</a></li><li><a href="#toc13" tabindex="0">パターン4: INDEX+MATCH+IFERRORで柔軟な検索をする</a></li><li><a href="#toc14" tabindex="0">パターン5: IFERRORのネストで複数テーブルを横断検索する</a></li><li><a href="#toc15" tabindex="0">パターン6: IF関数と組み合わせてエラーと空白を同時に処理する</a></li></ol></li><li><a href="#toc16" tabindex="0">エラー処理関数の比較（IFERROR・IFNA・ISERROR）</a><ol><li><a href="#toc17" tabindex="0">一覧比較表</a></li><li><a href="#toc18" tabindex="0">IFERRORとIFNAの違い</a></li><li><a href="#toc19" tabindex="0">IFERRORとIF+ISERRORの比較</a></li><li><a href="#toc20" tabindex="0">使い分けの判断基準</a></li></ol></li><li><a href="#toc21" tabindex="0">IFERROR関数のよくあるエラーと対処法</a><ol><li><a href="#toc22" tabindex="0">エラーを隠しすぎる問題への対策</a></li></ol></li><li><a href="#toc23" tabindex="0">まとめ</a><ol><li><a href="#toc24" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">IFERROR関数とは？</span></h2>



<p class="wp-block-paragraph">IFERROR関数は、数式がエラーになったときに代わりの値を返してくれるExcelの関数です。エラー処理をたった1つの関数で完結できるので、実務で非常によく使われます。</p>



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



<p class="wp-block-paragraph">IFERROR（いふえらー）は「IF（もし）」+「ERROR（エラー）」を組み合わせた名前です。「もしエラーだったら、こっちの値を表示してね」という処理を1つの関数で実現します。</p>



<h3 class="wp-block-heading"><span id="toc3">何ができるか</span></h3>



<p class="wp-block-paragraph">IFERROR関数を使うと、次のようなことができます。</p>



<ul class="wp-block-list"><li>エラーの代わりに空白（&#8221;&#8221;）を表示して、セルをきれいに見せる</li><li>「該当なし」「データなし」などの任意メッセージを表示する</li><li>エラー時に別の計算式を実行する（代替処理）</li><li>他の数式への連鎖エラーを防止する</li></ul>



<p class="wp-block-paragraph">Excel 2007で導入された関数です。Microsoft 365やExcel 2024/2021でも使えます。Googleスプレッドシートでも同じ書き方で利用できますよ。</p>



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



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



<p class="wp-block-paragraph">IFERROR関数の構文はとてもシンプルです。</p>



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



<p class="wp-block-paragraph">引数はたったの2つだけ。覚えやすいですよね。</p>



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



<p class="wp-block-paragraph">それぞれの引数の意味を表で整理しておきましょう。</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>エラーだった場合に表示する値を指定します。文字列・数値・数式のいずれもOKです</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>第2引数に何も指定しない場合</strong></p><p>第2引数を省略すると、エラー時に「0」が返されます。意図しない結果になることがあるので、空白にしたい場合は <code>""</code> を明示的に指定しましょう。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc7">IFERROR関数が検出できるエラー一覧</span></h3>



<p class="wp-block-paragraph">IFERROR関数はExcelの全7種類のエラーをまとめてキャッチします。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー値</th><th>発生する主な原因</th></tr></thead><tbody><tr><td>#N/A</td><td><a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUP関数</a>等で検索値が見つからない</td></tr><tr><td>#VALUE!</td><td>引数のデータ型が正しくない</td></tr><tr><td>#REF!</td><td>参照先のセルが削除された</td></tr><tr><td>#DIV/0!</td><td>0で割り算をした</td></tr><tr><td>#NUM!</td><td>数値が大きすぎる・小さすぎる</td></tr><tr><td>#NAME?</td><td>関数名のスペルミス</td></tr><tr><td>#NULL!</td><td>セル範囲の指定が正しくない</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">すべてのエラーをまとめて処理してくれるので、「とりあえずエラーを非表示にしたい」場面では便利です。ただし、本来気づくべきエラーまで隠れるリスクがある点は後述します。各エラーの詳しい原因は<a href="https://mashukabu.com/excel-error-value-list/">Excelエラーの種類と原因</a>も参考にしてみてください。</p>



<h2 class="wp-block-heading"><span id="toc8">IFERROR関数の使い方と実務活用パターン</span></h2>



<p class="wp-block-paragraph">ここからは基本の使い方から実務パターンまで、まとめて見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc9">基本: エラーを空白・メッセージ・数値に置き換える</span></h3>



<p class="wp-block-paragraph">第2引数に指定する値を変えるだけで、3つの基本パターンを使い分けられます。</p>



<pre class="wp-block-code"><code>=IFERROR(A1/B1, &quot;&quot;)        … エラーを空白にする
=IFERROR(A1/B1, &quot;計算不可&quot;) … メッセージを表示する
=IFERROR(A1/B1, 0)         … 数値を返す</code></pre>



<p class="wp-block-paragraph">空白は印刷用の資料やプレゼンで、メッセージは原因を伝えたいときに、数値は<a href="https://mashukabu.com/excel-function-howto-use-sum/">SUM関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-average/">AVERAGE関数</a>での集計でエラーを防ぎたいときに使いましょう。</p>



<h3 class="wp-block-heading"><span id="toc10">パターン1: VLOOKUP+IFERRORで未登録データを処理する</span></h3>



<p class="wp-block-paragraph">IFERROR関数の最も定番の使い方が、<a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUP関数</a>との組み合わせです。</p>



<p class="wp-block-paragraph">VLOOKUPは検索値が見つからないと「#N/A」エラーを返します。商品コードで商品マスタを検索するケースを考えてみましょう。</p>



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



<p class="wp-block-paragraph">商品コードが見つからなければ「未登録」と表示します。大量のデータを突合するときに、この書き方は必須テクニックですよ。</p>



<p class="wp-block-paragraph">実務では、複数列を同時に検索するケースも多いですよね。商品名と単価を同時に引く場合は、それぞれのセルにIFERROR+VLOOKUPを設定します。</p>



<pre class="wp-block-code"><code>B2（商品名）: =IFERROR(VLOOKUP(A2, 商品マスタ!A:C, 2, FALSE), &quot;未登録&quot;)
C2（単 価）: =IFERROR(VLOOKUP(A2, 商品マスタ!A:C, 3, FALSE), 0)</code></pre>



<p class="wp-block-paragraph">商品名は「未登録」、単価は0を返すことで、集計に影響しない設計にできます。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン2: XLOOKUP+IFERRORの使い分け</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-xlookup/">XLOOKUP関数</a>が使える環境（Excel 2021/2024/Microsoft 365）なら、検索エラーの処理方法が2つあります。</p>



<p class="wp-block-paragraph"><strong>方法A: XLOOKUPの第4引数を使う（IFERROR不要）</strong></p>



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



<p class="wp-block-paragraph">XLOOKUPには「見つからない場合の値」を指定する第4引数があるので、検索エラーの処理にIFERRORは不要です。</p>



<p class="wp-block-paragraph"><strong>方法B: IFERRORで囲む（全エラー対策）</strong></p>



<pre class="wp-block-code"><code>=IFERROR(XLOOKUP(A2, 商品マスタ!A:A, 商品マスタ!C:C), &quot;エラー&quot;)</code></pre>



<p class="wp-block-paragraph">XLOOKUPの第4引数で処理できるのは「検索値が見つからない」エラーだけです。数式自体の参照エラー（#REF!など）も含めて対策したい場合は、IFERRORで囲む方が安全ですよ。</p>



<p class="wp-block-paragraph">両方を比較するとこうなります。</p>



<figure class="wp-block-table"><table><thead><tr><th>方法</th><th>数式</th><th>対応エラー</th></tr></thead><tbody><tr><td>XLOOKUP第4引数</td><td><code>=XLOOKUP(A2, ..., "未登録")</code></td><td>#N/Aのみ</td></tr><tr><td>IFERROR+XLOOKUP</td><td><code>=IFERROR(XLOOKUP(A2, ...), "エラー")</code></td><td>全7種類</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">通常はXLOOKUPの第4引数で十分です。ただし、職場のExcelバージョンが混在している場合はIFERROR+VLOOKUPの方が互換性が高く安全ですね。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン3: 割り算の#DIV/0!エラーを回避する</span></h3>



<p class="wp-block-paragraph">売上分析や在庫管理でよくある「0で割ってしまう」問題です。前年比や構成比を計算するとき、分母が0やブランクだとエラーになりますよね。</p>



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



<p class="wp-block-paragraph">データが未入力の行もきれいに処理できます。月次レポートや予実管理表で重宝するパターンです。</p>



<p class="wp-block-paragraph">達成率の計算にも使えます。</p>



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



<p class="wp-block-paragraph">目標値が未設定の行でもエラーにならず、集計に影響しません。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン4: INDEX+MATCH+IFERRORで柔軟な検索をする</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数</a>と<a href="https://mashukabu.com/excel-function-howto-use-match/">MATCH関数</a>を組み合わせた検索でも、IFERRORは活躍します。</p>



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



<p class="wp-block-paragraph">VLOOKUPでは難しい「検索列より左側の値を取得する」パターンです。MATCH関数が検索値を見つけられないときに「該当なし」を返します。</p>



<p class="wp-block-paragraph">Excel 2021以降なら、MATCH関数の代わりに<a href="https://mashukabu.com/excel-function-howto-use-xmatch/">XMATCH関数</a>を使えばよりシンプルに書けます。</p>



<pre class="wp-block-code"><code>MATCH版 : =IFERROR(INDEX(C:C, MATCH(A2, B:B, 0)), &quot;該当なし&quot;)
XMATCH版: =IFERROR(INDEX(C:C, XMATCH(A2, B:B)), &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">XMATCHはデフォルトで完全一致検索なので、第3引数の <code>0</code> を省略できますね。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン5: IFERRORのネストで複数テーブルを横断検索する</span></h3>



<p class="wp-block-paragraph">IFERROR関数の第2引数に別の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 class="wp-block-paragraph">まずシート1で検索し、見つからなければシート2を検索します。どちらにもなければ「どちらにもなし」と表示する仕組みです。複数のマスタテーブルを横断検索したいときに便利なテクニックですよ。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン6: IF関数と組み合わせてエラーと空白を同時に処理する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>とIFERROR関数を組み合わせると、「空白セルはスキップ、エラーは代替値」という処理を1つの数式で実現できます。</p>



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



<p class="wp-block-paragraph">商品コード（A2）が空白ならセルも空白にし、入力されていればVLOOKUPを実行します。入力済みなのに見つからなければ「未登録」を表示。受注一覧や在庫管理表で、未入力行とデータ不一致を区別したいときに便利です。</p>



<h2 class="wp-block-heading"><span id="toc16">エラー処理関数の比較（IFERROR・IFNA・ISERROR）</span></h2>



<p class="wp-block-paragraph">IFERROR関数と似た機能を持つ関数を比較してみましょう。実務でどれを使うか迷ったときの判断基準にしてください。</p>



<h3 class="wp-block-heading"><span id="toc17">一覧比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>対象エラー</th><th>戻り値</th><th>導入バージョン</th><th>主な用途</th></tr></thead><tbody><tr><td>IFERROR</td><td>全7種類</td><td>エラー時: 指定値 / 正常時: 元の値</td><td>Excel 2007</td><td>全エラーをまとめて処理</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA</a></td><td>#N/Aのみ</td><td>エラー時: 指定値 / 正常時: 元の値</td><td>Excel 2013</td><td>検索エラーだけを安全に処理</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR</a></td><td>全7種類</td><td>TRUE / FALSE</td><td>Excel 2003以前</td><td>エラーの有無を判定（処理にはIF関数が必要）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-iserr/">ISERR</a></td><td>#N/A以外の6種類</td><td>TRUE / FALSE</td><td>Excel 2003以前</td><td>#N/Aを除外したエラー判定</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-isna/">ISNA</a></td><td>#N/Aのみ</td><td>TRUE / FALSE</td><td>Excel 2003以前</td><td>#N/Aだけを判定</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-error-type/">ERROR.TYPE</a></td><td>全7種類</td><td>エラー番号（1-7）</td><td>Excel 2003以前</td><td>エラーの種類を番号で特定</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">IFERRORとIFNAの違い</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数</a>は#N/Aエラーだけを対象にする関数です。構文はIFERRORとまったく同じです。</p>



<pre class="wp-block-code"><code>IFERROR版: =IFERROR(VLOOKUP(A2, B:C, 2, FALSE), &quot;未登録&quot;)
IFNA版  : =IFNA(VLOOKUP(A2, B:C, 2, FALSE), &quot;未登録&quot;)</code></pre>



<p class="wp-block-paragraph">この2つは、VLOOKUPで値が見つからないときの動作は同じです。違いは「#N/A以外のエラーが起きたとき」に現れます。</p>



<figure class="wp-block-table"><table><thead><tr><th>状況</th><th>IFERROR</th><th>IFNA</th></tr></thead><tbody><tr><td>検索値が見つからない（#N/A）</td><td>「未登録」を表示</td><td>「未登録」を表示</td></tr><tr><td>参照範囲が壊れた（#REF!）</td><td>「未登録」を表示（バグが隠れる）</td><td>#REF!をそのまま表示（バグに気づける）</td></tr><tr><td>数式の型エラー（#VALUE!）</td><td>「未登録」を表示（バグが隠れる）</td><td>#VALUE!をそのまま表示（バグに気づける）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">VLOOKUPやXLOOKUPの「見つからない」だけを処理するなら、IFNA関数の方が安全です。#REF!や#VALUE!といった数式バグはそのまま表示されるので、問題にすぐ気づけますよ。</p>



<h3 class="wp-block-heading"><span id="toc19">IFERRORとIF+ISERRORの比較</span></h3>



<p class="wp-block-paragraph">Excel 2007より前のバージョンでは、エラー処理に<a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>と<a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数</a>を組み合わせていました。</p>



<pre class="wp-block-code"><code>IFERROR版    : =IFERROR(VLOOKUP(A2, B:C, 2, FALSE), &quot;未登録&quot;)
IF+ISERROR版 : =IF(ISERROR(VLOOKUP(A2, B:C, 2, FALSE)), &quot;未登録&quot;, VLOOKUP(A2, B:C, 2, FALSE))</code></pre>



<p class="wp-block-paragraph">IF+ISERRORだとVLOOKUPを2回書く必要があり、読みづらくなります。計算負荷も2倍になるので、Excel 2007以降ならIFERROR関数を使いましょう。</p>



<h3 class="wp-block-heading"><span id="toc20">使い分けの判断基準</span></h3>



<p class="wp-block-paragraph">迷ったときは、次の基準で選んでみてください。</p>



<ul class="wp-block-list"><li><strong>すべてのエラーをまとめて非表示にしたい</strong> → IFERROR関数</li><li><strong>#N/Aだけを処理し、他のエラーは残したい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数</a></li><li><strong>エラーの種類を判定して処理を分けたい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a> + <a href="https://mashukabu.com/excel-function-howto-use-error-type/">ERROR.TYPE関数</a></li><li><strong>エラーの有無だけをTRUE/FALSEで判定したい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数</a></li></ul>



<p class="wp-block-paragraph">これらの関数の使い分けは<a href="https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/">IF・IFS・IFERROR・IFNAの使い分け</a>でも整理しています。</p>



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



<p class="wp-block-paragraph">IFERROR関数自体はシンプルですが、使い方を間違えるとハマるポイントがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>本来気づくべきエラーまで隠れる</td><td>IFERROR関数が全エラーをキャッチするため</td><td><a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数</a>で#N/Aだけを対象にする</td></tr><tr><td>エラー時に意図しない「0」が表示される</td><td>第2引数を省略している</td><td>空白にしたい場合は <code>""</code> を明示的に指定する</td></tr><tr><td>#NAME?エラーが出る</td><td>第2引数の文字列にダブルクォーテーションがない</td><td>文字列は必ず <code>"文字列"</code> で囲む</td></tr><tr><td>数式の結果が正しくない</td><td>IFERRORの中の数式自体に誤りがある</td><td>IFERRORを外して元の数式だけで動作確認する</td></tr><tr><td>空白セルなのに0と表示される</td><td>エラーではなく空白セルの参照が原因</td><td>IFERROR関数はエラーのみ対象。空白の処理は<a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>で分岐する</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>デバッグのコツ</strong></p><p>IFERRORを使っている数式のトラブルシューティングでは、まずIFERRORを外して中の数式だけをテストしましょう。エラーの原因が見えるようになりますよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc22">エラーを隠しすぎる問題への対策</span></h3>



<p class="wp-block-paragraph">IFERROR関数の最大の注意点は、すべてのエラーを非表示にしてしまうことです。本来気づくべき参照ミスや数式の誤りまで隠れてしまうリスクがあります。</p>



<p class="wp-block-paragraph">たとえば、VLOOKUPの範囲指定を間違えて#REF!が出ていても、IFERRORが「未登録」と表示してしまいます。数式のバグに気づけないまま、間違ったデータで資料を作ってしまう可能性があるんです。</p>



<p class="wp-block-paragraph">対策としては、以下の使い分けがおすすめです。</p>



<ul class="wp-block-list"><li><strong>作成中のシート</strong>: IFERRORを外しておき、エラーを確認しながら作業する</li><li><strong>完成版の資料</strong>: IFERRORで見た目を整える</li><li><strong>検索系のエラーだけ処理したい</strong>: <a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数</a>を使う</li></ul>



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



<p class="wp-block-paragraph">IFERROR関数は、Excelのエラー処理をシンプルにしてくれる便利な関数です。</p>



<p class="wp-block-paragraph">この記事のポイントをおさらいしておきましょう。</p>



<ul class="wp-block-list"><li>IFERROR関数の構文は <code>=IFERROR(値, エラーの場合の値)</code> の2つの引数だけ</li><li>エラーを空白にしたり、メッセージや数値を表示したりできる</li><li>VLOOKUP+IFERRORの組み合わせが実務で最も頻出</li><li>XLOOKUPなら第4引数でIFERRORが不要になるケースも</li><li>INDEX+MATCH+IFERRORで検索列の左側も取得できる</li><li>IF関数と組み合わせれば空白セルとエラーを同時に処理できる</li><li>すべてのエラーをキャッチするため、エラーの隠しすぎに注意</li><li>#N/Aだけを処理したい場合は<a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数</a>の方が安全</li></ul>



<p class="wp-block-paragraph">まずはVLOOKUP+IFERRORの組み合わせから試してみてください。エラーだらけだった集計表が、一気にスッキリしますよ。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUP関数の使い方</a> &#8212; 検索の基本</li><li><a href="https://mashukabu.com/excel-function-howto-use-xlookup/">XLOOKUP関数の使い方</a> &#8212; 次世代の検索関数</li><li><a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数の使い方</a> &#8212; 柔軟なセル参照</li><li><a href="https://mashukabu.com/excel-function-howto-use-match/">MATCH関数の使い方</a> &#8212; 位置を検索する</li><li><a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数の使い方</a> &#8212; 条件分岐の基本</li><li><a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数の使い方</a> &#8212; #N/A専用のエラー処理</li><li><a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数の使い方</a> &#8212; エラー判定</li><li><a href="https://mashukabu.com/excel-function-howto-use-error-type/">ERROR.TYPE関数の使い方</a> &#8212; エラー種類の特定</li><li><a href="https://mashukabu.com/excel-error-value-list/">Excelエラーの種類と原因</a> &#8212; エラー値の一覧</li><li><a href="https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/">IF・IFS・IFERROR・IFNAの使い分け</a> &#8212; 条件分岐関数の比較</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-iferror/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
