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

<channel>
	<title>IFNA &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/ifna/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Sat, 23 May 2026 21:05:03 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>IFNA &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>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>スプレッドシートのIF・IFS・IFERROR・IFNAの使い分け完全ガイド｜条件分岐フローチャート付き</title>
		<link>https://mashukabu.com/sheets-if-ifs-iferror-ifna/</link>
					<comments>https://mashukabu.com/sheets-if-ifs-iferror-ifna/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 30 Apr 2026 21:31:34 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[IFERROR]]></category>
		<category><![CDATA[IFNA]]></category>
		<category><![CDATA[IFS]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[条件分岐]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6436</guid>

					<description><![CDATA[GoogleスプレッドシートのIF・IFS・IFERROR・IFNAを使い分ける選択フローチャート付きガイド。実務5パターンを数式付きで解説。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「IFは書けるけど、IFSとどう違うの？」「VLOOKUPの#N/Aを消すとき、IFERRORとIFNAどっちが正解？」。スプレッドシートで条件分岐を書いていると、こんな迷いに毎回ぶつかりますよね。</p>



<p class="wp-block-paragraph">そのたびに別の解説記事を読み比べていると、結局「自分の数式にどれを使えばいいか」が決まらないまま、時間だけが過ぎてしまいます。</p>



<p class="wp-block-paragraph">この記事では、Googleスプレッドシートの条件分岐に登場する6つの関数（IF・IFS・IFERROR・IFNA・AND・OR）を1ページで横串に整理します。選び方フローチャート、6関数の比較表、実務でよく使う5つの組み合わせパターンまで、ここでまとめて決着をつけてしまいましょう。</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">スプレッドシートの条件分岐関数は6つで足りる</a><ol><li><a href="#toc2" tabindex="0">IF・IFS・IFERROR・IFNA・AND・ORの役割</a></li><li><a href="#toc3" tabindex="0">なぜこの6関数で「迷いどころ」を全部カバーできるか</a></li></ol></li><li><a href="#toc4" tabindex="0">IF・IFS・IFERROR・IFNAの違いを1枚の比較表で整理</a><ol><li><a href="#toc5" tabindex="0">6関数の機能比較表</a></li><li><a href="#toc6" tabindex="0">「結果を分岐させる関数」と「エラーを処理する関数」の境界線</a></li></ol></li><li><a href="#toc7" tabindex="0">迷ったらこのフローチャート｜条件分岐関数の選び方</a><ol><li><a href="#toc8" tabindex="0">3ステップで使う関数を絞り込む</a></li><li><a href="#toc9" tabindex="0">フローチャート（Mermaid図解）</a></li></ol></li><li><a href="#toc10" tabindex="0">実務でよく使う5つの組み合わせパターン</a><ol><li><a href="#toc11" tabindex="0">パターン1：IF + AND/ORで複数条件を1つにまとめる</a></li><li><a href="#toc12" tabindex="0">パターン2：IFERROR + VLOOKUPでエラーを一括非表示</a></li><li><a href="#toc13" tabindex="0">パターン3：IFNA + XLOOKUPで「マスタ未登録だけ」をピンポイント代替</a></li><li><a href="#toc14" tabindex="0">パターン4：IFS + ANDでネストレスのランク判定</a></li><li><a href="#toc15" tabindex="0">パターン5：IFを3段ネストした数式をIFSに書き直す（ビフォーアフター）</a></li></ol></li><li><a href="#toc16" tabindex="0">よくある間違いと対処法</a><ol><li><a href="#toc17" tabindex="0">IFERRORで本当のエラーまで隠してしまう問題</a></li><li><a href="#toc18" tabindex="0">IFSの末尾TRUE漏れで#N/Aになる問題</a></li><li><a href="#toc19" tabindex="0">AND/ORを単体で使ってTRUE/FALSEだけが返るケース</a></li></ol></li><li><a href="#toc20" tabindex="0">スプレッドシート 条件分岐関数 使い分けまとめ</a><ol><li><a href="#toc21" tabindex="0">「条件数 → 目的 → エラー範囲」の3段階で決める</a></li><li><a href="#toc22" tabindex="0">個別記事への深掘り誘導</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートの条件分岐関数は6つで足りる</span></h2>



<p class="wp-block-paragraph">スプレッドシートで「条件によって表示を変える」「エラーをきれいに処理する」シーンは、実はこの6つの関数だけでほぼ全部カバーできます。新しい関数を覚える必要はありません。</p>



<h3 class="wp-block-heading"><span id="toc2">IF・IFS・IFERROR・IFNA・AND・ORの役割</span></h3>



<p class="wp-block-paragraph">それぞれの役割を、ひとことで説明するとこうなります。</p>



<ul class="wp-block-list"><li><strong>IF</strong>：条件が1つのときに、結果を2つに分岐させる</li><li><strong>IFS</strong>：条件が複数あるときに、結果をフラットに分岐させる</li><li><strong>IFERROR</strong>：数式がエラーになったとき、すべてのエラーを代替値に置き換える</li><li><strong>IFNA</strong>：数式が #N/A エラーになったときだけ、代替値に置き換える</li><li><strong>AND</strong>：複数の条件をすべて満たすときに TRUE を返す</li><li><strong>OR</strong>：複数の条件のいずれかを満たすときに TRUE を返す</li></ul>



<p class="wp-block-paragraph">まずは「結果を分岐させる関数」と「エラーを処理する関数」の2グループに分かれていることを押さえてみてください。ここが整理の出発点です。</p>



<h3 class="wp-block-heading"><span id="toc3">なぜこの6関数で「迷いどころ」を全部カバーできるか</span></h3>



<p class="wp-block-paragraph">実務で条件分岐に迷う場面は、突き詰めると次の3つに集約されます。</p>



<ol class="wp-block-list"><li>条件が1つか、それとも複数か</li><li>結果を分岐したいのか、エラーを処理したいのか</li><li>エラー処理の対象は、すべてのエラーか、それとも #N/A だけか</li></ol>



<p class="wp-block-paragraph">この3つの軸さえ決まれば、6関数のうちのどれを使えばいいかが1つに絞れます。逆にいうと、迷子になる原因の多くは「自分が今どの軸で考えているか」が整理できていないから、なんですよね。</p>



<p class="wp-block-paragraph">各関数の詳しい使い方は、それぞれの個別記事にまとめています。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-if-function/">スプレッドシートのIF関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-ifs-function/">スプレッドシートのIFS関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-iferror-function/">スプレッドシートのIFERROR関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-ifna-function/">スプレッドシートのIFNA関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-and-function/">スプレッドシートのAND関数</a></li><li><a href="https://mashukabu.com/spreadsheet-or-function/">スプレッドシートのOR関数</a></li></ul>



<h2 class="wp-block-heading"><span id="toc4">IF・IFS・IFERROR・IFNAの違いを1枚の比較表で整理</span></h2>



<p class="wp-block-paragraph">まずは6関数の機能を1枚にまとめた比較表を見てみましょう。「どの関数を選ぶか」を判断するときの早見表として使ってください。</p>



<h3 class="wp-block-heading"><span id="toc5">6関数の機能比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>主な目的</th><th>条件数</th><th>戻り値</th><th>エラー処理</th><th>Excel互換</th></tr></thead><tbody><tr><td>IF</td><td>結果を2分岐</td><td>1つ</td><td>TRUE値 / FALSE値</td><td>しない</td><td>あり</td></tr><tr><td>IFS</td><td>結果を3分岐以上</td><td>複数</td><td>最初に TRUE になった値</td><td>しない（全FALSEで #N/A）</td><td>Excel 2019・365以降</td></tr><tr><td>IFERROR</td><td>全エラーの非表示</td><td>—</td><td>元の値 / 代替値</td><td>する（全エラー）</td><td>あり</td></tr><tr><td>IFNA</td><td>#N/A だけ非表示</td><td>—</td><td>元の値 / 代替値</td><td>する（#N/A のみ）</td><td>あり</td></tr><tr><td>AND</td><td>複数条件を「すべて満たす」で結合</td><td>複数</td><td>TRUE / FALSE</td><td>しない</td><td>あり</td></tr><tr><td>OR</td><td>複数条件を「いずれか満たす」で結合</td><td>複数</td><td>TRUE / FALSE</td><td>しない</td><td>あり</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポイントは「目的」と「条件数」の組み合わせで関数が決まる、というところです。表を縦に眺めるよりも、横の「目的×条件数」の交点で探すのがコツですよ。</p>



<h3 class="wp-block-heading"><span id="toc6">「結果を分岐させる関数」と「エラーを処理する関数」の境界線</span></h3>



<p class="wp-block-paragraph">6関数のうち、IF・IFS・AND・ORの4つは<strong>結果を分岐させる関数</strong>です。論理式を評価して、その結果に応じた値を返してくれます。</p>



<p class="wp-block-paragraph">一方、IFERROR・IFNAの2つは<strong>エラーを処理する関数</strong>です。数式がエラーになったときの代替値を指定する、という役割しかありません。</p>



<p class="wp-block-paragraph">この境界線を意識すると、たとえば「VLOOKUPの#N/Aを&#8221;該当なし&#8221;と表示したい」場面で迷わなくなります。エラー処理が目的なら IFERROR か IFNA、結果の分岐が目的なら IF か IFS、というふうにスッと選べますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>ANDとORは単体だと TRUE / FALSE しか返しません。値を分岐させたいときは、必ず IF や IFS と組み合わせて使うのがポイントです。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc7">迷ったらこのフローチャート｜条件分岐関数の選び方</span></h2>



<p class="wp-block-paragraph">ここからは、3つの質問で6関数のうちの1つに絞り込むフローチャートを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc8">3ステップで使う関数を絞り込む</span></h3>



<p class="wp-block-paragraph">質問は3つだけです。</p>



<ol class="wp-block-list"><li><strong>目的は「結果の分岐」？それとも「エラー処理」？</strong></li></ol>



<ul class="wp-block-list"><li>結果の分岐 → ステップ2へ</li><li>エラー処理 → ステップ3へ</li></ul>



<ol class="wp-block-list"><li><strong>条件は1つだけ？それとも複数？</strong></li></ol>



<ul class="wp-block-list"><li>1つだけ → <strong>IF</strong> を使う</li><li>複数 → <strong>IFS</strong> を使う（または IF + AND/OR の組み合わせ）</li></ul>



<ol class="wp-block-list"><li><strong>対象は「すべてのエラー」？それとも「#N/A だけ」？</strong></li></ol>



<ul class="wp-block-list"><li>すべてのエラーをまとめて処理 → <strong>IFERROR</strong></li><li>#N/A だけピンポイントで処理 → <strong>IFNA</strong></li></ul>



<p class="wp-block-paragraph">ANDとORは「条件が複数」のステップ2で「IFと組み合わせる部品」として登場します。単独で関数を選ぶ位置にはいませんよ。</p>



<h3 class="wp-block-heading"><span id="toc9">フローチャート（Mermaid図解）</span></h3>



<pre class="wp-block-code"><code>flowchart TD
    Start[スプレッドシートで&lt;br&gt;条件分岐したい] --&gt; Q1{目的は？}
    Q1 --&gt;|結果の分岐| Q2{条件はいくつ？}
    Q1 --&gt;|エラー処理| Q3{対象のエラーは？}
    Q2 --&gt;|1つ| IF[IF関数]
    Q2 --&gt;|複数| IFS[IFS関数&lt;br&gt;または IF+AND/OR]
    Q3 --&gt;|すべて| IFERROR[IFERROR関数]
    Q3 --&gt;|#N/Aのみ| IFNA[IFNA関数]</code></pre>



<p class="wp-block-paragraph">このフローを通せば、6関数のどれを使うかが必ず1つに決まります。「目的→条件数（または対象エラー）」の順で考える、と覚えておけば十分です。</p>



<p class="wp-block-paragraph">各関数のさらに詳しい使い方は、 <a href="https://mashukabu.com/spreadsheet-if-function/">IF関数の基本</a> や <a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS関数のフラットな書き方</a> もあわせてどうぞ。</p>



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



<p class="wp-block-paragraph">ここからは、実務でほぼ毎日登場する5つのパターンを、コピペで動く数式付きで紹介します。受注管理表や成績表など、すぐ手元の表に転用できますよ。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン1：IF + AND/ORで複数条件を1つにまとめる</span></h3>



<p class="wp-block-paragraph">「在庫が10個以上 かつ 単価が1000円以下のときだけ販売可」のように、<strong>複数の条件をすべて満たす</strong>場合は AND を使います。</p>



<pre class="wp-block-code"><code>=IF(AND(B2&gt;=10, C2&lt;=1000), &quot;販売可&quot;, &quot;停止&quot;)</code></pre>



<p class="wp-block-paragraph">「在庫が0 または 廃番のとき停止」のように、<strong>いずれかを満たす</strong>場合は OR を使います。</p>



<pre class="wp-block-code"><code>=IF(OR(B2=0, D2=&quot;廃番&quot;), &quot;停止&quot;, &quot;販売可&quot;)</code></pre>



<p class="wp-block-paragraph">ANDとORは IF の中で論理式の役割を果たすだけなので、戻り値そのものを変えたいときは必ず IF（または IFS）と組み合わせてくださいね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>ARRAYFORMULA と組み合わせる場合は、AND の代わりに <code><em></code>、OR の代わりに <code>+</code> 演算子を使う必要があります。<code>=ARRAYFORMULA(IF((B2:B>=80)</em>(C2:C>=80), "合格", "不合格"))</code> のように書きます。</p></blockquote>



<p class="wp-block-paragraph">詳しい組み合わせパターンは <a href="https://mashukabu.com/spreadsheet-and-function/">AND関数</a> ・ <a href="https://mashukabu.com/spreadsheet-or-function/">OR関数</a> の個別記事も参考にしてみてください。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン2：IFERROR + VLOOKUPでエラーを一括非表示</span></h3>



<p class="wp-block-paragraph">VLOOKUPで単価マスタを引いてくる定番パターンです。マスタにない商品コードを渡すと #N/A が返るので、IFERROR で隠してしまいます。</p>



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



<p class="wp-block-paragraph">このパターンの良さは、列番号ミスや参照範囲のずれなど、<strong>どんなエラーでも代替値に置き換えてくれる</strong>ところです。表示が常にきれいに保てます。</p>



<p class="wp-block-paragraph">ただし副作用もあります。本当は数式の組み立てミスで #REF! が出ているのに、それも「マスタ未登録」と表示されてしまうので、原因究明が遅れることがあるんですよね。</p>



<p class="wp-block-paragraph">「とにかくエラーを表に出したくない」場面では IFERROR が便利ですが、検証中の数式では使わないほうが安全です。</p>



<p class="wp-block-paragraph">詳しい組み合わせは <a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数の使い方</a> や <a href="https://mashukabu.com/sheets-vlookup-guide/">VLOOKUPで別シートを参照する完全ガイド</a> にまとめています。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン3：IFNA + XLOOKUPで「マスタ未登録だけ」をピンポイント代替</span></h3>



<p class="wp-block-paragraph">「マスタにない商品だけは&#8221;未登録&#8221;と表示したい。でも、数式ミスのエラーは見逃したくない」。そんなときに使うのが IFNA + XLOOKUP の組み合わせです。</p>



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



<p class="wp-block-paragraph">IFNA は <strong>#N/A エラーだけ</strong>を代替値に置き換える関数です。#REF! や #VALUE! などの数式ミス起因のエラーはそのまま残るので、すぐに気づいて修正できます。</p>



<p class="wp-block-paragraph">VLOOKUPの代わりにXLOOKUPを使う理由は、<strong>範囲指定が直感的で、見つからないときの挙動が標準で IFNA と相性が良い</strong>から。XLOOKUPの第4引数で代替値を直接指定する方法もありますが、IFNAでくるむ書き方のほうが「エラー処理を分離している」ことが式から読み取りやすいですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>「IFERRORを使うか、IFNAを使うか」で迷ったら、「数式のミスにも気づきたいか？」と自問してみてください。気づきたいなら IFNA、隠したいなら IFERROR、と考えるとシンプルです。</p></blockquote>



<p class="wp-block-paragraph">詳しくは <a href="https://mashukabu.com/spreadsheet-ifna-function/">IFNA関数の使い方</a> と <a href="https://mashukabu.com/sheets-vlookup-xlookup-index-match/">VLOOKUP・XLOOKUP・INDEX/MATCH 使い分けガイド</a> もあわせてどうぞ。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン4：IFS + ANDでネストレスのランク判定</span></h3>



<p class="wp-block-paragraph">「売上が100万円以上 かつ 達成率100%以上ならS」「売上が100万円以上 かつ 達成率80%以上ならA」「それ以外はB」のような複雑な分岐は、IFを何重にもネストする代わりに IFS + AND の組み合わせがすっきりします。</p>



<pre class="wp-block-code"><code>=IFS(
  AND(B2&gt;=1000000, C2&gt;=1), &quot;S&quot;,
  AND(B2&gt;=1000000, C2&gt;=0.8), &quot;A&quot;,
  TRUE, &quot;B&quot;
)</code></pre>



<p class="wp-block-paragraph">ポイントは末尾の <code>TRUE, "B"</code> です。IFSは「すべての条件が FALSE のとき #N/A を返す」という挙動があるので、最後に必ずデフォルト値を置いておくのがコツですよ。</p>



<p class="wp-block-paragraph">複数条件をフラットに並べたい場面では、IFS は本当に頼りになります。詳しい構文ルールは <a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS関数の使い方</a> にまとめています。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン5：IFを3段ネストした数式をIFSに書き直す（ビフォーアフター）</span></h3>



<p class="wp-block-paragraph">最後は、多くの人が一度はやらかす「IF 3段ネスト」のリファクタリングです。</p>



<p class="wp-block-paragraph"><strong>ビフォー（IF 3段ネスト）</strong></p>



<pre class="wp-block-code"><code>=IF(B2&gt;=90, &quot;優&quot;, IF(B2&gt;=70, &quot;良&quot;, IF(B2&gt;=60, &quot;可&quot;, &quot;不可&quot;)))</code></pre>



<p class="wp-block-paragraph">ぱっと見、何の判定をしているのか分かりませんよね。括弧の数も多くて、条件を1つ追加するだけで壊れる可能性があります。</p>



<p class="wp-block-paragraph"><strong>アフター（IFSでフラット化）</strong></p>



<pre class="wp-block-code"><code>=IFS(B2&gt;=90, &quot;優&quot;, B2&gt;=70, &quot;良&quot;, B2&gt;=60, &quot;可&quot;, TRUE, &quot;不可&quot;)</code></pre>



<p class="wp-block-paragraph">行数が減るだけでなく、上から順に「条件と返り値」のペアを読めます。「90点以上は優、70点以上は良、60点以上は可、それ以外は不可」と、式そのものが説明文のようになりますね。</p>



<p class="wp-block-paragraph">書き換えのコツは次の3ステップです。</p>



<ol class="wp-block-list"><li>ネストしている IF をすべて並べて、条件と値を抜き出す</li><li><code>=IFS(条件1, 値1, 条件2, 値2, ...)</code> の形に並べ直す</li><li>最後に <code>TRUE, "デフォルト値"</code> を入れて #N/A を防ぐ</li></ol>



<p class="wp-block-paragraph">「IFを3段以上ネストしているな」と思ったら、まずは IFS への書き換えを検討してみてくださいね。</p>



<h2 class="wp-block-heading"><span id="toc16">よくある間違いと対処法</span></h2>



<p class="wp-block-paragraph">最後に、6関数を使い始めたときに陥りがちな落とし穴を3つ紹介します。どれも一度ハマると気づきにくいパターンばかりです。</p>



<h3 class="wp-block-heading"><span id="toc17">IFERRORで本当のエラーまで隠してしまう問題</span></h3>



<p class="wp-block-paragraph">IFERROR は便利な反面、<strong>数式ミス起因のエラーまで隠してしまう</strong>副作用があります。たとえば次の数式を見てください。</p>



<pre class="wp-block-code"><code>=IFERROR(VLOOKUP(A2, マスタ!A:B, 5, FALSE), &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">第3引数の列番号が <code>5</code> になっていますが、マスタの範囲は2列しかないとします。本来なら #REF! エラーが出るはずです。ところが IFERROR が「該当なし」と表示してしまうので、ミスに気づくのが遅れがちなんですよね。</p>



<p class="wp-block-paragraph">対処法は次のとおりです。</p>



<ul class="wp-block-list"><li>検証中の数式では IFERROR をかけずに、エラーが出るまま残す</li><li>完成した数式でも、可能なら IFNA に切り替えて #N/A だけ処理する</li><li>IFERROR を使う場合は、代替値を「マスタ未登録」など限定的な意味の文字列にしておくと、後で見たとき「ここはVLOOKUPの該当なし対応だな」と思い出しやすい</li></ul>



<h3 class="wp-block-heading"><span id="toc18">IFSの末尾TRUE漏れで#N/Aになる問題</span></h3>



<p class="wp-block-paragraph">IFS は便利ですが、<strong>すべての条件が FALSE のとき #N/A を返す</strong>という落とし穴があります。</p>



<pre class="wp-block-code"><code>=IFS(B2&gt;=90, &quot;優&quot;, B2&gt;=70, &quot;良&quot;, B2&gt;=60, &quot;可&quot;)</code></pre>



<p class="wp-block-paragraph">この式は60点未満のとき #N/A になります。IFと違って「FALSE値」の引数がないので、デフォルト値を明示する必要があるんですよね。</p>



<p class="wp-block-paragraph">対処法は末尾に <code>TRUE, "デフォルト値"</code> を入れることです。</p>



<pre class="wp-block-code"><code>=IFS(B2&gt;=90, &quot;優&quot;, B2&gt;=70, &quot;良&quot;, B2&gt;=60, &quot;可&quot;, TRUE, &quot;不可&quot;)</code></pre>



<p class="wp-block-paragraph"><code>TRUE</code> は「上記すべての条件が FALSE だった場合」を意味するパターンマッチです。IFS のお作法として覚えておくと、#N/A 事故が起きませんよ。</p>



<h3 class="wp-block-heading"><span id="toc19">AND/ORを単体で使ってTRUE/FALSEだけが返るケース</span></h3>



<p class="wp-block-paragraph">「複数条件を判定したい！」と意気込んで AND だけを書いてしまうケースです。</p>



<pre class="wp-block-code"><code>=AND(B2&gt;=10, C2&lt;=1000)</code></pre>



<p class="wp-block-paragraph">これだと TRUE / FALSE しか返ってきません。表のセルに TRUE と書いてあっても、「で、結局どうしろと？」となってしまいますよね。</p>



<p class="wp-block-paragraph">対処法はシンプルで、必ず IF で包んで返り値を分岐させます。</p>



<pre class="wp-block-code"><code>=IF(AND(B2&gt;=10, C2&lt;=1000), &quot;販売可&quot;, &quot;停止&quot;)</code></pre>



<p class="wp-block-paragraph">ANDとORは「条件式を組み立てる部品」、IFは「最終的な値を返す入れ物」というイメージで使い分けてください。</p>



<h2 class="wp-block-heading"><span id="toc20">スプレッドシート 条件分岐関数 使い分けまとめ</span></h2>



<p class="wp-block-paragraph">スプレッドシートの条件分岐は、6関数（IF・IFS・IFERROR・IFNA・AND・OR）で必要十分です。新しい関数を追加で覚えるより、この6つの使い分けを染み込ませるほうが、結果的に早く正確な数式が書けるようになります。</p>



<h3 class="wp-block-heading"><span id="toc21">「条件数 → 目的 → エラー範囲」の3段階で決める</span></h3>



<p class="wp-block-paragraph">迷ったときの判断手順は次のとおりです。</p>



<ol class="wp-block-list"><li><strong>目的が「結果の分岐」か「エラー処理」か</strong>を決める</li><li>結果の分岐なら<strong>条件数（1つ or 複数）</strong>で IF か IFS かを選ぶ</li><li>エラー処理なら<strong>対象範囲（すべて or #N/A のみ）</strong>で IFERROR か IFNA かを選ぶ</li><li>複数条件は <strong>AND/OR を IF や IFS の中で部品として使う</strong></li></ol>



<p class="wp-block-paragraph">この3段階をたどるだけで、関数選びで迷うことはほぼなくなりますよ。</p>



<h3 class="wp-block-heading"><span id="toc22">個別記事への深掘り誘導</span></h3>



<p class="wp-block-paragraph">それぞれの関数の構文・引数・実務サンプルは、個別記事にもっと詳しくまとめています。</p>



<ul class="wp-block-list"><li>条件分岐の基本: <a href="https://mashukabu.com/spreadsheet-if-function/">スプレッドシートのIF関数の使い方</a></li><li>複数条件をフラットに: <a href="https://mashukabu.com/spreadsheet-ifs-function/">スプレッドシートのIFS関数の使い方</a></li><li>全エラー一括処理: <a href="https://mashukabu.com/spreadsheet-iferror-function/">スプレッドシートのIFERROR関数の使い方</a></li><li>#N/A だけ処理: <a href="https://mashukabu.com/spreadsheet-ifna-function/">スプレッドシートのIFNA関数の使い方</a></li><li>「すべて満たす」条件: <a href="https://mashukabu.com/spreadsheet-and-function/">スプレッドシートのAND関数</a></li><li>「いずれか満たす」条件: <a href="https://mashukabu.com/spreadsheet-or-function/">スプレッドシートのOR関数</a></li></ul>



<p class="wp-block-paragraph">VLOOKUPとの組み合わせをもっと深掘りしたい方は、 <a href="https://mashukabu.com/sheets-vlookup-xlookup-index-match/">VLOOKUP・XLOOKUP・INDEX/MATCH 使い分けガイド</a> と <a href="https://mashukabu.com/sheets-vlookup-guide/">VLOOKUPで別シートを参照する完全ガイド</a> もあわせてどうぞ。</p>



<p class="wp-block-paragraph">「IFを書きすぎて、もう何の判定をしているか自分でも分からない」状態は、IFS への書き換えで一気に整理できます。まずは手元の壊れかけ数式を1つ、IFS で書き直してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/sheets-if-ifs-iferror-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-3" checked><label class="toc-title" for="toc-checkbox-3">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">IFERROR関数とは？</a><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>
