<?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>IFERROR &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/iferror/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 30 Apr 2026 21:31:34 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>IFERROR &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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>「IFはわかるけど、IFSとどう違うの？」「VLOOKUPのエラー、IFERRORとIFNAどっちで消すべき？」。スプレッドシートで条件分岐を書いていると、毎回こんな迷いにぶつかりますよね。</p>



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



<p>この記事では、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-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">スプレッドシートの条件分岐関数は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>スプレッドシートで「条件によって表示を変える」「エラーをきれいに処理する」シーンは、実は6つの関数でほぼ全部カバーできます。</p>



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



<p>それぞれの役割をひとことで説明すると、次のとおりです。</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>まずは「結果を分岐させる関数」と「エラーを処理する関数」の2グループに分かれていることを押さえてみてください。</p>



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



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



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



<p>この3つの軸さえ決まれば、6関数のうちの1つにたどり着けます。逆にいうと、迷子になる原因の多くは「自分が今どの軸で考えているか」が整理できていないからなんですよね。</p>



<p>各関数の詳しい使い方は、それぞれの個別記事にまとまっています。</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>最初に、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>ポイントは「目的」と「条件数」の組み合わせで関数が決まる、というところです。</p>



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



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



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



<p>この境界線を意識すると、たとえば「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>ここからは、3ステップで6関数のうちの1つに絞り込むフローチャートを紹介します。</p>



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



<p>質問は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>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>このフローを通せば、6関数のどれを使うかが必ず1つに決まります。</p>



<p>参考までに、各関数のさらに詳しい使い方は個別記事にまとまっています。 <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>ここからは、実務でよく登場する5つのパターンを数式付きで紹介します。受注管理表や成績表など、ほぼ毎日使うシーンばかりですよ。</p>



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



<p>「在庫が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>「在庫が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>ANDとORは IF の中で論理式の役割を果たすだけなので、戻り値そのものを変えたいときは必ず IF と組み合わせてくださいね。</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>詳しい組み合わせパターンは <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>VLOOKUPで単価マスタを引いてくる定番パターンです。マスタにない商品コードを渡すと #N/A が返るので、IFERROR で隠してしまいます。</p>



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



<p>このパターンの良さは、列番号ミスや参照範囲のずれなど、<strong>どんなエラーでも代替値に置き換えてくれる</strong>ところです。</p>



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



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



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



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



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



<p>VLOOKUPの代わりにXLOOKUPを使う理由は、<strong>XLOOKUPなら範囲指定が直感的で、見つからないときの挙動が標準で 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>詳しくは <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>「売上が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>ポイントは末尾の <code>TRUE, "B"</code> です。IFS は「すべての条件が FALSE のとき #N/A を返す」という挙動があるので、最後に必ずデフォルト値を置いておくのがコツですよ。</p>



<p>複数条件をフラットに並べたい場面では、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>最後は、多くの人が一度はやらかす「IF 3段ネスト」のリファクタリングです。</p>



<p><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>ぱっと見、何の判定をしているのかわかりませんよね。括弧の数も多くて、条件を1つ追加するだけでも壊れる可能性があります。</p>



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



<p>書き換えのコツは次の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>「IFを3段以上ネストしているな」と思ったら、まずは IFS への書き換えを検討してみてくださいね。</p>



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



<p>最後に、6関数を使い始めたときに陥りがちな落とし穴を3つ紹介します。</p>



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



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



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



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



<p>対処法は次のとおりです。</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>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>この式は60点未満のとき #N/A になります。IF と違って「FALSE値」がないので、デフォルト値を明示する必要があるんですよね。</p>



<p>対処法は末尾に <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><code>TRUE</code> は「上記すべての条件が FALSE だった場合」を意味するパターンマッチです。IFS のお作法として覚えておくと便利ですよ。</p>



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



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



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



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



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



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



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



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



<p>スプレッドシートの条件分岐は、6関数（IF・IFS・IFERROR・IFNA・AND・OR）で必要十分です。</p>



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



<p>迷ったときの判断手順は次のとおりです。</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>この3段階をたどるだけで、関数選びで迷うことはほぼなくなりますよ。</p>



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



<p>それぞれの関数の構文・引数・実務サンプルは、個別記事にもっと詳しくまとめています。</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>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>「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>スプレッドシートのVLOOKUP完全ガイド｜基本から応用まで使い方を解説</title>
		<link>https://mashukabu.com/sheets-vlookup-guide/</link>
					<comments>https://mashukabu.com/sheets-vlookup-guide/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 13 Apr 2026 07:22:30 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[#N/Aエラー]]></category>
		<category><![CDATA[IFERROR]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[完全ガイド]]></category>
		<category><![CDATA[検索関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5933</guid>

					<description><![CDATA[GoogleスプレッドシートのVLOOKUP関数を基本構文から応用まで完全解説。4つの引数の意味、#N/Aエラーの対処法、IFERRORとの組み合わせ、複数条件での活用、INDEX/MATCHへの移行判断まで実務例で学べます。]]></description>
										<content:encoded><![CDATA[
<p>「社員番号を入れたら、部署名が自動で表示される」。こうした仕組みをGoogleスプレッドシートで作るなら、VLOOKUP関数が定番の選択肢です。Excelで使ったことがある方なら、ほぼ同じ感覚で使えます。</p>



<p>この記事ではスプレッドシートのVLOOKUPを基本から応用まで解説します。4つの引数の意味、#N/Aエラーの原因と対処法まで、実務例を交えて説明します。INDEX/MATCHやXLOOKUPへの移行判断フローも掲載しているので、ぜひ参考にしてください。</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">スプレッドシートのVLOOKUP関数とは？</a><ol><li><a href="#toc2" tabindex="0">VLOOKUPの読み方・意味</a></li><li><a href="#toc3" tabindex="0">VLOOKUPでできること</a></li></ol></li><li><a href="#toc4" tabindex="0">VLOOKUPの書き方（構文と4つの引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数一覧</a></li><li><a href="#toc7" tabindex="0">完全一致（FALSE）と近似一致（TRUE）の違い</a></li></ol></li><li><a href="#toc8" tabindex="0">VLOOKUPの基本的な使い方【実務例で解説】</a><ol><li><a href="#toc9" tabindex="0">社員番号から部署名を取得する</a></li><li><a href="#toc10" tabindex="0">別シートのデータを参照する</a></li></ol></li><li><a href="#toc11" tabindex="0">VLOOKUPの応用テクニック</a><ol><li><a href="#toc12" tabindex="0">IFERRORで#N/Aエラーに対処する</a></li><li><a href="#toc13" tabindex="0">ワイルドカードで部分一致検索する</a></li><li><a href="#toc14" tabindex="0">ARRAYFORMULAで複数セルに一括適用する</a></li><li><a href="#toc15" tabindex="0">複数条件で検索する（ヘルパー列を使う）</a></li></ol></li><li><a href="#toc16" tabindex="0">VLOOKUPでよくあるエラーと対処法</a><ol><li><a href="#toc17" tabindex="0">#N/Aエラー（値が見つからない）</a></li><li><a href="#toc18" tabindex="0">#REF!エラー（列番号が範囲外）</a></li><li><a href="#toc19" tabindex="0">#VALUE!エラー（引数の型が不正）</a></li></ol></li><li><a href="#toc20" tabindex="0">ExcelのVLOOKUPとの違い</a><ol><li><a href="#toc21" tabindex="0">動作仕様の違い</a></li><li><a href="#toc22" tabindex="0">移行時の注意点</a></li></ol></li><li><a href="#toc23" tabindex="0">VLOOKUP以外の選択肢｜INDEX/MATCH・XLOOKUPとの使い分け</a><ol><li><a href="#toc24" tabindex="0">VLOOKUPの限界</a></li><li><a href="#toc25" tabindex="0">INDEX/MATCHの強み</a></li><li><a href="#toc26" tabindex="0">XLOOKUPという新しい選択肢</a></li><li><a href="#toc27" tabindex="0">どれを使えばいい？選び方の目安</a></li></ol></li><li><a href="#toc28" tabindex="0">まとめ</a><ol><li><a href="#toc29" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのVLOOKUP関数とは？</span></h2>



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



<p>VLOOKUPは「Vertical Lookup（垂直検索）」の略です。読み方は「ブイルックアップ」です。</p>



<p>VLOOKUP関数は、表の先頭列（左端の列）を縦方向に検索します。一致した行から、指定した列の値を返す仕組みです。</p>



<p>たとえば「社員番号E001に対応する部署名を取得する」。こうした「表引き」作業を、数式1つで片付けられます。</p>



<h3 class="wp-block-heading"><span id="toc3">VLOOKUPでできること</span></h3>



<p>VLOOKUP関数でできる主な操作をまとめました。</p>



<ul class="wp-block-list"><li>マスタ表から名前・部署・価格などを自動取得する</li><li>別シートに格納したデータを参照する</li><li>近似一致（TRUE）で料金ランクや評価判定をする</li><li>ワイルドカードを使って部分一致検索をする</li></ul>



<p>横方向（水平方向）に検索したい場合は、<a href="https://mashukabu.com/spreadsheet-hlookup-function/">HLOOKUP関数</a>が対応します。</p>



<p>スプレッドシートの基本操作から確認したい方は、Googleスプレッドシートの使い方入門もご覧ください。</p>



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



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



<p>VLOOKUP関数の構文は以下のとおりです。</p>



<pre class="wp-block-code"><code>=VLOOKUP(検索値, 範囲, 列番号, [検索の型])</code></pre>



<p>引数は4つです。最後の「検索の型」だけ省略できます。</p>



<h3 class="wp-block-heading"><span id="toc6">引数一覧</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>内容</th><th>指定例</th></tr></thead><tbody><tr><td>検索値</td><td>必須</td><td>探したいキー値。先頭列で検索する</td><td>A2</td></tr><tr><td>範囲</td><td>必須</td><td>検索対象のデータ範囲。先頭列に検索値を含むこと</td><td>A:D</td></tr><tr><td>列番号</td><td>必須</td><td>返す値がある列の番号（範囲の左端が1）</td><td>3</td></tr><tr><td>検索の型</td><td>省略可</td><td>FALSE=完全一致 / TRUE=近似一致</td><td>FALSE</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>Googleスプレッドシートの公式ヘルプでは「検索キー・番号・並べ替え済み」と表記されます。Excelの「検索値・列番号・検索の型」と呼び名は違いますが、動作は同じです。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc7">完全一致（FALSE）と近似一致（TRUE）の違い</span></h3>



<p>第4引数「検索の型」の使い分けを説明します。</p>



<p><strong>完全一致（FALSE）</strong></p>



<p>検索値と完全に一致するデータだけを探します。一致するデータがなければ#N/Aエラーが返ります。コードや名前の検索など、実務の多くの場面でFALSEを使います。</p>



<pre class="wp-block-code"><code>=VLOOKUP(A2, マスタ!A:D, 3, FALSE)</code></pre>



<p><strong>近似一致（TRUE）</strong></p>



<p>検索値以下の最大値を返します。料金表や成績ランクの判定などに使います。先頭列が昇順（小→大）でソートされている必要があります。</p>



<pre class="wp-block-code"><code>=VLOOKUP(A2, ランク表!A:B, 2, TRUE)</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>第4引数を省略するとデフォルトはTRUE（近似一致）です。「なぜか違う値が返る」の原因の多くはこの省略です。迷ったらFALSEを明示してください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc8">VLOOKUPの基本的な使い方【実務例で解説】</span></h2>



<p>この記事では「社員名簿」を例に使います。シートには社員番号（A列）・氏名（B列）・部署（C列）・役職（D列）が入力されています。</p>



<h3 class="wp-block-heading"><span id="toc9">社員番号から部署名を取得する</span></h3>



<p>F2セルに社員番号を入力し、G2セルに数式を書きます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<pre class="wp-block-code"><code>=VLOOKUP(F2, A:D, 3, FALSE)</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/04/02_formula_vlookup-basic.png" alt="02 formula vlookup basic" /></figure>



<p>各引数の意味は次のとおりです。</p>



<ul class="wp-block-list"><li>F2: 検索値（入力した社員番号）</li><li>A:D: 範囲（社員名簿全体）</li><li>3: 範囲の左から3列目（C列の部署）を返す</li><li>FALSE: 完全一致で検索</li></ul>



<p>F2に「E001」と入力すると、A列からE001を探します。一致した行のC列（部署）の値がG2に表示されます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/04/03_result_vlookup-basic.png" alt="03 result vlookup basic" /></figure>



<p>役職（D列）を取得したい場合は、列番号を4に変えます。</p>



<pre class="wp-block-code"><code>=VLOOKUP(F2, A:D, 4, FALSE)</code></pre>



<h3 class="wp-block-heading"><span id="toc10">別シートのデータを参照する</span></h3>



<p>実務では社員名簿が別シートにあるケースが多いです。別シートの範囲は <code>シート名!範囲</code> の形式で指定します。</p>



<pre class="wp-block-code"><code>=VLOOKUP(F2, 社員名簿!A:D, 3, FALSE)</code></pre>



<p>シート名に空白や特殊文字がある場合は、シングルクォーテーションで囲みます。</p>



<pre class="wp-block-code"><code>=VLOOKUP(F2, '社員 名簿'!A:D, 3, FALSE)</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>別シートの範囲はマウスで選択して入力すると楽です。入力欄でクリックしたまま別シートに切り替え、範囲をドラッグすれば自動でシート名が入力されます。</p></blockquote>



<p><strong>数式を下方向にコピーする場合</strong></p>



<p>数式を複数行にコピーするときは、範囲を絶対参照（$）で固定します。F4キーを押すと<code>$</code>マークが付きます。</p>



<pre class="wp-block-code"><code>=VLOOKUP(F2, $A$1:$D$100, 3, FALSE)</code></pre>



<p>検索値F2は相対参照のまま、範囲だけ固定するのがポイントです。</p>



<h2 class="wp-block-heading"><span id="toc11">VLOOKUPの応用テクニック</span></h2>



<h3 class="wp-block-heading"><span id="toc12">IFERRORで#N/Aエラーに対処する</span></h3>



<p>VLOOKUPは検索値が見つからないと#N/Aエラーを返します。IFERROR関数（エラー時に代わりの値を返す関数）で囲むと、エラーを別の値に置き換えられます。</p>



<pre class="wp-block-code"><code>=IFERROR(VLOOKUP(F2, 社員名簿!A:D, 3, FALSE), &quot;該当なし&quot;)</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/04/04_formula_vlookup-iferror.png" alt="04 formula vlookup iferror" /></figure>



<p>第2引数に「該当なし」を指定すると、エラー時にその文字列が表示されます。空欄にしたい場合は <code>""</code> を指定します。</p>



<pre class="wp-block-code"><code>=IFERROR(VLOOKUP(F2, 社員名簿!A:D, 3, FALSE), &quot;&quot;)</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/04/05_result_vlookup-iferror.png" alt="05 result vlookup iferror" /></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>IFERROR関数はすべてのエラーを捕捉します。#N/Aだけに対処したい場合は、<a href="https://mashukabu.com/spreadsheet-ifna-function/">IFNA関数</a>が適しています。IFNAは#N/A以外のエラー（#REF!など）はそのまま表示します。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc13">ワイルドカードで部分一致検索する</span></h3>



<p>検索の型をFALSEにした状態でワイルドカードが使えます。ワイルドカードとは、任意の文字に一致する特殊記号です。</p>



<ul class="wp-block-list"><li><code>*</code>（アスタリスク）: 任意の文字列に一致</li><li><code>?</code>（クエスチョンマーク）: 任意の1文字に一致</li></ul>



<p>「営業」を含む部署の社員を検索する例です。</p>



<pre class="wp-block-code"><code>=VLOOKUP(&quot;*営業*&quot;, A:D, 2, FALSE)</code></pre>



<p>セル参照と組み合わせる場合は <code>&</code> で連結します。</p>



<pre class="wp-block-code"><code>=VLOOKUP(&quot;*&quot;&amp;H2&amp;&quot;*&quot;, A:D, 2, FALSE)</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>ワイルドカード検索は、最初に一致した1件だけを返します。複数件すべてを取得したい場合はFILTER関数が向いています。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc14">ARRAYFORMULAで複数セルに一括適用する</span></h3>



<p>ARRAYFORMULA関数（配列数式を一括処理する関数）とVLOOKUPを組み合わせます。1つの数式を入力するだけで、複数行に結果を出力できます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(VLOOKUP(F2:F10, 社員名簿!A:D, 3, FALSE))</code></pre>



<p>F2:F10に入力した社員番号に対して、G列に部署名を一括表示します。</p>



<p>IFERRORと組み合わせてエラーも一括処理できます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IFERROR(VLOOKUP(F2:F10, 社員名簿!A:D, 3, FALSE), &quot;&quot;))</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>Googleスプレッドシートでは検索値に範囲を指定するとスピル（自動展開）する場合があります。ただし明示的にARRAYFORMULAで囲むほうが安全です。</p></blockquote>



<p>ARRAYFORMULAの詳しい使い方は、<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数の使い方</a>をご覧ください。</p>



<h3 class="wp-block-heading"><span id="toc15">複数条件で検索する（ヘルパー列を使う）</span></h3>



<p>VLOOKUPは1つの検索列しか指定できません。「部署と役職の両方が一致する社員を取得する」など、複数の条件を組み合わせたい場合は、ヘルパー列（作業列）で条件を結合する方法が定番です。</p>



<p><strong>手順1</strong>: 社員名簿にヘルパー列を追加し、部署（C列）と役職（D列）を <code>&</code> で結合します。</p>



<pre class="wp-block-code"><code>=C2&amp;&quot;-&quot;&amp;D2</code></pre>



<p>C2が「営業部」、D2が「部長」であれば「営業部-部長」という値になります。</p>



<p><strong>手順2</strong>: VLOOKUPの検索値でも同じ形式で条件を結合して渡します。</p>



<pre class="wp-block-code"><code>=VLOOKUP(G2&amp;&quot;-&quot;&amp;H2, ヘルパー列を先頭にした検索テーブル, 2, FALSE)</code></pre>



<p>G2に「営業部」、H2に「部長」を入力すると、一致する社員を検索できます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>ヘルパー列方式はシートの構成が複雑になります。新規で組む場合は、複数条件を直接指定できるXLOOKUPやQUERY関数の使用も検討してください。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc17">#N/Aエラー（値が見つからない）</span></h3>



<p>最もよく出るエラーです。主な原因と対処法をまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>確認方法</th><th>対処法</th></tr></thead><tbody><tr><td>検索値がデータに存在しない</td><td>マスタ側に該当データがあるか確認</td><td>データを追加するかIFERRORで対処</td></tr><tr><td>前後にスペースがある</td><td>LEN関数で文字数を確認</td><td>TRIM関数（余分なスペースを除去する関数）で前処理</td></tr><tr><td>データ型が違う（数値と文字列）</td><td>セルの表示形式を確認</td><td>VALUE関数（文字列を数値に変換する関数）で型を統一</td></tr><tr><td>近似一致で昇順でない</td><td>先頭列の並び順を確認</td><td>データを昇順ソートするかFALSEを指定</td></tr><tr><td>範囲の先頭列に検索値がない</td><td>VLOOKUPの第2引数を確認</td><td>範囲を正しく設定し直す</td></tr></tbody></table></figure>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/04/06_error_na.png" alt="06 error na" /></figure>



<h3 class="wp-block-heading"><span id="toc18">#REF!エラー（列番号が範囲外）</span></h3>



<p>列番号が範囲の列数を超えると発生します。たとえば3列の範囲（A:C）に対して列番号4を指定した場合です。</p>



<pre class="wp-block-code"><code>=VLOOKUP(F2, A:C, 4, FALSE)  → #REF!エラー</code></pre>



<p>列の削除後にも発生しやすいため、列番号と範囲の列数を確認してください。</p>



<h3 class="wp-block-heading"><span id="toc19">#VALUE!エラー（引数の型が不正）</span></h3>



<p>列番号に0以下の数値を指定した場合に発生します。</p>



<pre class="wp-block-code"><code>=VLOOKUP(F2, A:D, 0, FALSE)  → #VALUE!エラー</code></pre>



<p>列番号は1以上の整数を指定してください。</p>



<h2 class="wp-block-heading"><span id="toc20">ExcelのVLOOKUPとの違い</span></h2>



<p>ExcelとGoogleスプレッドシートのVLOOKUPは、基本構文が完全互換です。Excelファイル（.xlsx形式）をスプレッドシートで開いても、VLOOKUPはそのまま動作します。</p>



<p>ただし、細かい点でいくつか違いがあります。</p>



<h3 class="wp-block-heading"><span id="toc21">動作仕様の違い</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Googleスプレッドシート</th><th>Excel</th></tr></thead><tbody><tr><td>配列検索（スピル）</td><td>検索値に範囲を指定すると自動でスピル</td><td>Excel 365以降で対応</td></tr><tr><td>XLOOKUP関数</td><td>2022年から利用可能</td><td>Microsoft 365・Excel 2021以降</td></tr><tr><td>正規表現マッチ</td><td>REGEXMATCH関数との組み合わせが可能</td><td>非対応（VBAが必要）</td></tr></tbody></table></figure>



<p>スピルとは、数式1つで複数セルに結果を自動展開する機能です。</p>



<h3 class="wp-block-heading"><span id="toc22">移行時の注意点</span></h3>



<p>ExcelからスプレッドシートにVLOOKUPを移行する際の注意点です。</p>



<ul class="wp-block-list"><li>引数の名称は違うが、動作・構文は同一</li><li><code>Ctrl+Shift+Enter</code> で入力した配列数式は不要（スプレッドシートでは自動スピル）</li><li>絶対参照（$）はそのまま引き継がれる</li></ul>



<p>詳しい比較はExcelとGoogleスプレッドシートの違い・使い分けガイドをご覧ください。</p>



<h2 class="wp-block-heading"><span id="toc23">VLOOKUP以外の選択肢｜INDEX/MATCH・XLOOKUPとの使い分け</span></h2>



<h3 class="wp-block-heading"><span id="toc24">VLOOKUPの限界</span></h3>



<p>VLOOKUPにはいくつかの制約があります。</p>



<ol class="wp-block-list"><li><strong>左方向への検索ができない</strong>: 検索値は必ず範囲の先頭列（左端）に必要</li><li><strong>列番号がハードコード</strong>: 列を挿入・削除すると番号がズレる</li><li><strong>先頭の1件しか返さない</strong>: 同じ検索値が複数行あっても最初の行だけ</li></ol>



<h3 class="wp-block-heading"><span id="toc25">INDEX/MATCHの強み</span></h3>



<p>INDEX/MATCHはINDEX関数とMATCH関数を組み合わせた手法です。INDEX関数（指定した行・列の値を返す関数）とMATCH関数（検索値の行番号を返す関数）を組み合わせます。</p>



<pre class="wp-block-code"><code>=INDEX(返す範囲, MATCH(検索値, 検索範囲, 0))</code></pre>



<p>社員番号からC列（部署）を取得する例です。</p>



<pre class="wp-block-code"><code>=INDEX(C:C, MATCH(F2, A:A, 0))</code></pre>



<p>VLOOKUPとの主な違いをまとめます。</p>



<ul class="wp-block-list"><li>検索列が左端でなくてもよい（右→左の検索が可能）</li><li>列参照を使うため、列の挿入・削除でズレない</li><li>10万行超の大量データでは処理が速い傾向がある</li></ul>



<p><a href="https://mashukabu.com/spreadsheet-index-function/">INDEX関数</a>と<a href="https://mashukabu.com/spreadsheet-match-function/">MATCH関数</a>の詳しい使い方は各記事をご覧ください。</p>



<h3 class="wp-block-heading"><span id="toc26">XLOOKUPという新しい選択肢</span></h3>



<p>XLOOKUPはGoogleスプレッドシートに2022年に追加された関数です。VLOOKUPとINDEX/MATCHの両方の制約を解消しています。</p>



<pre class="wp-block-code"><code>=XLOOKUP(検索値, 検索範囲, 返す範囲, [見つからない場合], [一致モード], [検索モード])</code></pre>



<p>社員番号から部署を取得する例です。</p>



<pre class="wp-block-code"><code>=XLOOKUP(F2, A:A, C:C, &quot;該当なし&quot;)</code></pre>



<p>VLOOKUPと比べた優位点をまとめます。</p>



<ul class="wp-block-list"><li>検索列は先頭（左端）でなくてもよい</li><li>第4引数でエラー時の値を指定できる（IFERROR不要）</li><li>右→左、下→上の逆方向検索が可能</li><li>複数列をまとめて返せる</li></ul>



<h3 class="wp-block-heading"><span id="toc27">どれを使えばいい？選び方の目安</span></h3>



<p>用途に応じて関数を選びましょう。</p>



<ol class="wp-block-list"><li><strong>シンプルな右方向検索</strong> → VLOOKUPで十分</li><li><strong>左方向の検索が必要</strong> → XLOOKUPを使う</li><li><strong>列の追加・削除が多い</strong> → XLOOKUPまたはINDEX/MATCHを使う</li><li><strong>大量データ（10万行超）</strong> → INDEX/MATCHが高速になる傾向</li><li><strong>既存のVLOOKUP数式</strong> → 正常に動いているなら書き換えは不要</li></ol>



<p>新規で数式を組む場合は、XLOOKUPを選ぶのが現在のベストプラクティスです。</p>



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



<p>スプレッドシートのVLOOKUP関数の要点をまとめます。</p>



<ul class="wp-block-list"><li>構文は <code>=VLOOKUP(検索値, 範囲, 列番号, [検索の型])</code> の4引数</li><li>第4引数はFALSEを明示する（省略するとTRUEがデフォルト）</li><li>数式を下方向にコピーするときは範囲を絶対参照で固定する</li><li>エラー対処はIFERROR関数で囲むのが定番</li><li>#N/Aエラーの主な原因はスペース混入・データ型の不一致</li><li>複数条件の検索はヘルパー列で条件を結合して対応する</li><li>左方向の検索が必要な場合はXLOOKUPを検討する</li></ul>



<p>まずは基本の完全一致検索からはじめてみてください。IFERROR関数を組み合わせれば、実務の多くの場面に対応できます。</p>



<p>基本構文だけ確認したい方は、<a href="https://mashukabu.com/spreadsheet-vlookup-function/">スプレッドシートのVLOOKUP関数の使い方</a>もご覧ください。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-vlookup-function/">スプレッドシートのVLOOKUP関数の使い方｜別シート参照・エラー対処まで解説</a></li><li>Googleスプレッドシートの使い方入門（Excelユーザー向け）</li><li>ExcelとGoogleスプレッドシートの違い・使い分けガイド</li><li><a href="https://mashukabu.com/spreadsheet-index-function/">スプレッドシートのINDEX関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-match-function/">スプレッドシートのMATCH関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-hlookup-function/">スプレッドシートのHLOOKUP関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-ifna-function/">スプレッドシートのIFNA関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/sheets-vlookup-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのERROR.TYPE関数の使い方｜エラー種類取得</title>
		<link>https://mashukabu.com/spreadsheet-error-type-function/</link>
					<comments>https://mashukabu.com/spreadsheet-error-type-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 22 Mar 2026 01:13:25 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ERROR.TYPE]]></category>
		<category><![CDATA[IFERROR]]></category>
		<category><![CDATA[ISERROR]]></category>
		<category><![CDATA[エラー判定]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4991</guid>

					<description><![CDATA[GoogleスプレッドシートのERROR.TYPE関数の使い方を初心者向けに解説。エラー種類を数値で取得する基本構文から、SWITCH関数との組み合わせによるエラー分岐処理、COUNTIF関数でのエラー集計、ISERROR・IFERROR関数との違いまで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p>スプレッドシートで「#VALUE!」や「#REF!」などのエラーが出たとき、原因がすぐにわからなくて困った経験はありませんか。</p>



<p>エラーの種類が多いと、どれがどの原因なのか一つひとつ調べるのは大変ですよね。</p>



<p>そんなときに役立つのがERROR.TYPE関数です。エラーの種類を数値で返してくれるので、エラーごとに処理を分けたり、どのエラーが多いか集計したりできます。</p>



<p>この記事では、ERROR.TYPE関数の基本から実務で使える応用パターンまでまとめて紹介します。</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">スプレッドシートの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></ol></li><li><a href="#toc5" tabindex="0">ERROR.TYPE関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">エラーの種類ごとの返り値</a></li><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">SWITCH関数と組み合わせてエラーの原因を表示する</a></li><li><a href="#toc11" tabindex="0">IFS関数でエラー種類に応じた対処法を表示する</a></li><li><a href="#toc12" tabindex="0">COUNTIF関数でエラーの件数を集計する</a></li><li><a href="#toc13" tabindex="0">エラーの有無で条件分岐する</a></li></ol></li><li><a href="#toc14" tabindex="0">ERROR.TYPE関数とISERROR/IFERROR関数の違い</a></li><li><a href="#toc15" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc16" tabindex="0">Excelとの違い</a></li><li><a href="#toc17" tabindex="0">まとめ</a><ol><li><a href="#toc18" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのERROR.TYPE関数とは？</span></h2>



<p>ERROR.TYPE関数（読み方: えらー たいぷ）は、<strong>セルのエラー種類に対応する数値を返す関数</strong>です。</p>



<p>Googleスプレッドシートで発生するエラーにはいくつかの種類があります。ERROR.TYPE関数を使うと、それぞれのエラーに割り当てられた番号を取得できます。</p>



<p>ERROR.TYPE関数が返す値の一覧は次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>返り値</th><th>エラーの種類</th><th>主な原因</th></tr></thead><tbody><tr><td>1</td><td>#NULL!</td><td>範囲指定の区切り文字が間違っている</td></tr><tr><td>2</td><td>#DIV/0!</td><td>0 で割り算をしている</td></tr><tr><td>3</td><td>#VALUE!</td><td>引数のデータ型が正しくない</td></tr><tr><td>4</td><td>#REF!</td><td>参照先のセルが削除されている</td></tr><tr><td>5</td><td>#NAME?</td><td>関数名や名前付き範囲のスペルが間違っている</td></tr><tr><td>6</td><td>#NUM!</td><td>数値が計算できない範囲を超えている</td></tr><tr><td>7</td><td>#N/A</td><td>検索対象が見つからない</td></tr><tr><td>8</td><td>#GETTING_DATA</td><td>外部データの読み込み中</td></tr><tr><td>#N/A</td><td>エラーなし</td><td>引数がエラーでない場合は#N/Aを返す</td></tr></tbody></table></figure>



<p>エラーでないセルを渡すと#N/Aを返す点がポイントです。「エラーかどうか」の判定にも使えますが、単純にTRUE/FALSEで判定したいなら<a href="https://mashukabu.com/spreadsheet-iserror-function/">ISERROR関数</a>のほうが向いています。</p>



<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>



<p>カッコの中にエラーかどうか調べたいセルや数式を指定します。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>参照</td><td>必須</td><td>エラーの種類を調べたいセル参照または数式</td></tr></tbody></table></figure>



<p>引数は1つだけです。省略はできません。セル参照・直接値・数式の結果のいずれも指定できます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>ERROR.TYPE関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、基本的な動作は同じです。</p></blockquote>



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



<p>まずはシンプルな例で動きを確認してみましょう。</p>



<h3 class="wp-block-heading"><span id="toc6">エラーの種類ごとの返り値</span></h3>



<p>さまざまなエラーをERROR.TYPE関数で調べると、次のような結果になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>理由</th></tr></thead><tbody><tr><td><code>=ERROR.TYPE(1/0)</code></td><td><strong>2</strong></td><td>0 で割っているので #DIV/0!（= 2）</td></tr><tr><td><code>=ERROR.TYPE(#VALUE!)</code></td><td><strong>3</strong></td><td>データ型エラー（= 3）</td></tr><tr><td><code>=ERROR.TYPE(#REF!)</code></td><td><strong>4</strong></td><td>参照エラー（= 4）</td></tr><tr><td><code>=ERROR.TYPE(#NAME?)</code></td><td><strong>5</strong></td><td>名前エラー（= 5）</td></tr><tr><td><code>=ERROR.TYPE(#N/A)</code></td><td><strong>7</strong></td><td>該当なしエラー（= 7）</td></tr><tr><td><code>=ERROR.TYPE(100)</code></td><td><strong>#N/A</strong></td><td>エラーではないので #N/A を返す</td></tr><tr><td><code>=ERROR.TYPE("ABC")</code></td><td><strong>#N/A</strong></td><td>文字列もエラーではないので #N/A</td></tr></tbody></table></figure>



<p>最後の2行がポイントです。エラーでない値を渡すと、ERROR.TYPE関数自体が#N/Aを返します。</p>



<h3 class="wp-block-heading"><span id="toc7">セル参照で使う</span></h3>



<p>実務ではセルを指定して使うケースがほとんどです。</p>



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



<p>A2 にエラーが入っていれば対応する番号を返します。エラーでなければ#N/Aです。</p>



<p>たとえばA2に <code>=1/0</code> と入力されていれば、ERROR.TYPE(A2) は 2 を返します。</p>



<h3 class="wp-block-heading"><span id="toc8">数式の結果を直接判定する</span></h3>



<p>ERROR.TYPE関数の引数に数式を直接入れることもできます。</p>



<pre class="wp-block-code"><code>=ERROR.TYPE(VLOOKUP(&quot;りんご&quot;,A1:B5,2,FALSE))</code></pre>



<p>VLOOKUP関数の結果がエラーかどうかを調べられます。検索値が見つからなければ 7（#N/A）を返します。</p>



<h2 class="wp-block-heading"><span id="toc9">ERROR.TYPE関数の実践的な使い方・応用例</span></h2>



<h3 class="wp-block-heading"><span id="toc10">SWITCH関数と組み合わせてエラーの原因を表示する</span></h3>



<p>ERROR.TYPE関数が返す数値だけでは、何のエラーか一目ではわかりません。SWITCH関数と組み合わせると、エラーの種類を日本語で表示できます。</p>



<pre class="wp-block-code"><code>=IFERROR(SWITCH(ERROR.TYPE(A2),2,&quot;ゼロ除算エラー&quot;,3,&quot;データ型エラー&quot;,4,&quot;参照エラー&quot;,5,&quot;関数名エラー&quot;,7,&quot;該当なし&quot;),&quot;正常&quot;)</code></pre>



<p>A2 がエラーなら対応する日本語メッセージを表示します。エラーでなければ「正常」です。</p>



<p>ちょっと長く見えますが、やっていることはシンプルです。ERROR.TYPEの返り値をSWITCHで振り分けているだけですよ。</p>



<h3 class="wp-block-heading"><span id="toc11">IFS関数でエラー種類に応じた対処法を表示する</span></h3>



<p>SWITCH関数の代わりにIFS関数を使う方法もあります。</p>



<pre class="wp-block-code"><code>=IFS(ERROR.TYPE(A2)=2,&quot;0で割っていないか確認&quot;,ERROR.TYPE(A2)=3,&quot;データ型を確認&quot;,ERROR.TYPE(A2)=4,&quot;参照先が削除されていないか確認&quot;,ERROR.TYPE(A2)=7,&quot;検索値を確認&quot;,NOT(ISERROR(A2)),&quot;エラーなし&quot;)</code></pre>



<p>エラーの種類に応じて具体的な対処法を表示できるので、エラーチェックシートを作るときに便利です。</p>



<h3 class="wp-block-heading"><span id="toc12">COUNTIF関数でエラーの件数を集計する</span></h3>



<p>大量のデータにエラーが混ざっているとき、どのエラーが何件あるか集計したい場面があります。</p>



<p>まず作業列にERROR.TYPE関数の結果を出しておきます。</p>



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



<p>この数式をB列に下までコピーしたら、COUNTIFで集計します。</p>



<pre class="wp-block-code"><code>=COUNTIF(B2:B100,2)</code></pre>



<p>この数式は #DIV/0! エラーの件数を返します。数字を変えれば別のエラーも集計できます。</p>



<p>エラーの分布を把握しておくと、データの修正方針を立てやすくなりますよ。</p>



<h3 class="wp-block-heading"><span id="toc13">エラーの有無で条件分岐する</span></h3>



<p>ERROR.TYPE関数とISERROR関数を組み合わせて、エラーの有無と種類で処理を分岐できます。</p>



<pre class="wp-block-code"><code>=IF(ISERROR(A2),IF(ERROR.TYPE(A2)=7,&quot;検索値なし&quot;,&quot;その他のエラー&quot;),A2)</code></pre>



<p>A2 がエラーでなければそのまま値を表示します。#N/Aエラーなら「検索値なし」、それ以外のエラーなら「その他のエラー」と表示します。</p>



<p>VLOOKUP関数やINDEX/MATCH関数の結果列で使うと、エラーの原因切り分けに役立ちます。</p>



<h2 class="wp-block-heading"><span id="toc14">ERROR.TYPE関数とISERROR/IFERROR関数の違い</span></h2>



<p>エラー処理に使える関数は複数あります。それぞれの役割を比較してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>ERROR.TYPE関数</th><th>ISERROR関数</th><th>IFERROR関数</th></tr></thead><tbody><tr><td>役割</td><td>エラーの<strong>種類</strong>を数値で返す</td><td>エラー<strong>かどうか</strong>をTRUE/FALSEで返す</td><td>エラー時に<strong>代替値</strong>を返す</td></tr><tr><td>返り値</td><td>1〜8の数値（エラーなしは#N/A）</td><td>TRUE / FALSE</td><td>正常値またはエラー時の代替値</td></tr><tr><td>エラーの区別</td><td>できる（種類ごとに番号が違う）</td><td>できない（すべてTRUE）</td><td>できない（すべて代替値）</td></tr><tr><td>主な用途</td><td>エラー分類・集計・原因特定</td><td>エラー判定・条件分岐</td><td>エラー非表示・代替値設定</td></tr><tr><td>数式例</td><td><code>=ERROR.TYPE(A1)</code></td><td><code>=ISERROR(A1)</code></td><td><code>=IFERROR(A1,"")</code></td></tr></tbody></table></figure>



<p><strong>使い分けのポイント</strong>: エラーを非表示にしたいだけなら<a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a>が手軽です。エラーの有無だけ知りたいなら<a href="https://mashukabu.com/spreadsheet-iserror-function/">ISERROR関数</a>を使います。エラーの種類まで特定したい場合にERROR.TYPE関数の出番です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>#N/Aだけを判定したい場合は<a href="https://mashukabu.com/spreadsheet-isna-function/">ISNA関数</a>が便利です。#N/A以外のエラーだけを判定したいなら<a href="https://mashukabu.com/spreadsheet-iserr-function/">ISERR関数</a>もあります。</p></blockquote>



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



<p>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>仕様どおりの動作。エラーでないセルには#N/Aが返る</td></tr><tr><td>エラー番号がわからない</td><td>返り値と種類の対応を覚えていない</td><td>本記事冒頭の対応表を参照。SWITCH関数と組み合わせて日本語表示にすると便利</td></tr><tr><td>#NULL!（番号1）が出ない</td><td>スプレッドシートでは#NULL!が発生しにくい</td><td>Excelとの違い。スプレッドシートでは範囲の区切りにコロンを使うため、#NULL!はほとんど発生しない</td></tr><tr><td>IFERROR関数と結果が違う</td><td>役割が異なる</td><td>IFERRORはエラー時に代替値を返す関数。ERROR.TYPEはエラーの種類を数値で返す関数。用途が異なる</td></tr><tr><td>エラー番号8が返る</td><td>#GETTING_DATA エラー</td><td>外部データソースの読み込み中に発生する。時間を置いて再読み込みすると解消されることが多い</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc16">Excelとの違い</span></h2>



<p>ERROR.TYPE関数はExcelとGoogleスプレッドシートで基本的に同じ動作です。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Excel</th><th>Googleスプレッドシート</th></tr></thead><tbody><tr><td>構文</td><td>=ERROR.TYPE(エラー値)</td><td>=ERROR.TYPE(参照)</td></tr><tr><td>返り値（1〜7）</td><td>同じ</td><td>同じ</td></tr><tr><td>#NULL!（返り値1）</td><td>発生する</td><td>ほぼ発生しない</td></tr><tr><td>#GETTING_DATA（返り値8）</td><td>あり（外部データ接続時）</td><td>あり（外部データ接続時）</td></tr><tr><td>エラーなしの場合</td><td>#N/A を返す</td><td>#N/A を返す</td></tr></tbody></table></figure>



<p>引数名の表記が若干異なるだけで、機能は同じです。ExcelのIFERROR関数については<a href="https://mashukabu.com/excel-function-howto-use-iferror/">ExcelのIFERROR関数の記事</a>で詳しく解説しています。</p>



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



<p>ERROR.TYPE関数は、エラーの種類を数値で取得できる関数です。</p>



<p>ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=ERROR.TYPE(参照)</code> で、引数は1つだけ</li><li>エラーの種類に応じて1〜8の数値を返す</li><li>エラーでないセルを渡すと#N/Aを返す</li><li>SWITCH関数やIFS関数と組み合わせて、エラーの種類を日本語で表示できる</li><li>COUNTIF関数と組み合わせて、エラーの件数を集計できる</li><li>エラーを非表示にしたいだけならIFERROR関数、エラーの有無だけならISERROR関数が手軽</li><li>ERROR.TYPE関数はエラーの「種類」まで特定したい場面で活躍する</li><li><a href="https://mashukabu.com/excel-function-howto-use-iferror/">ExcelのIFERROR関数</a>と組み合わせパターンも基本は同じ</li></ul>



<p>まずは <code>=ERROR.TYPE(1/0)</code> で「0除算 = 2」から試してみてください。</p>



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



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-iferror-function/">スプレッドシートのIFERROR関数の使い方｜エラー時の代替値を設定する方法</a></li><li><a href="https://mashukabu.com/spreadsheet-iserror-function/">スプレッドシートのISERROR関数の使い方｜エラー判定</a></li><li><a href="https://mashukabu.com/spreadsheet-iserr-function/">スプレッドシートのISERR関数の使い方｜#N/A以外のエラー判定</a></li><li><a href="https://mashukabu.com/spreadsheet-isna-function/">スプレッドシートのISNA関数の使い方｜#N/Aエラー判定</a></li><li><a href="https://mashukabu.com/spreadsheet-type-function/">スプレッドシートのTYPE関数の使い方｜データ型取得</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-error-type-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのISERROR関数の使い方｜エラー判定</title>
		<link>https://mashukabu.com/spreadsheet-iserror-function/</link>
					<comments>https://mashukabu.com/spreadsheet-iserror-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:34:19 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[IFERROR]]></category>
		<category><![CDATA[IF関数]]></category>
		<category><![CDATA[ISERROR]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[エラー判定]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4843</guid>

					<description><![CDATA[GoogleスプレッドシートのISERROR関数の使い方を初心者向けに解説。エラーをTRUE/FALSEで判定する基本からIF関数との組み合わせ、IFERRORとの違い・使い分けまで実務シナリオで紹介します。]]></description>
										<content:encoded><![CDATA[
<p>スプレッドシートで数式を入れたら「#N/A」や「#VALUE!」が表示されてしまった。こんな経験はありませんか？</p>



<p>エラーが出ているセルを見つけて処理を分けたいケースは、実務でよくありますよね。</p>



<p>そんなときに使えるのがISERROR関数です。セルや数式の結果がエラーかどうかをTRUE/FALSEで判定してくれます。</p>



<p>この記事では基本の書き方からIF関数との組み合わせ、IFERROR関数との違いまで紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ISERROR関数とは？</a></li><li><a href="#toc2" tabindex="0">ISERROR関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li><li><a href="#toc5" tabindex="0">ISERROR関数がTRUE/FALSEを返すパターン</a></li></ol></li><li><a href="#toc6" tabindex="0">ISERROR関数の基本的な使い方</a><ol><li><a href="#toc7" tabindex="0">エラーかどうかを判定する</a></li><li><a href="#toc8" tabindex="0">IF関数と組み合わせてエラー処理する</a></li><li><a href="#toc9" tabindex="0">エラーを空白に置き換える</a></li><li><a href="#toc10" tabindex="0">条件付き書式でエラーセルをハイライト</a></li></ol></li><li><a href="#toc11" tabindex="0">実務でのISERROR関数活用例</a><ol><li><a href="#toc12" tabindex="0">VLOOKUPのエラーを空白にする</a></li><li><a href="#toc13" tabindex="0">エラーの種類ごとに処理を分ける</a></li><li><a href="#toc14" tabindex="0">ARRAYFORMULAで全行一括判定</a></li><li><a href="#toc15" tabindex="0">NOT+ISERRORで「エラーでないもの」を抽出</a></li></ol></li><li><a href="#toc16" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc17" tabindex="0">文字列のエラー値に注意</a></li></ol></li><li><a href="#toc18" tabindex="0">IFERROR関数との違い・使い分け</a><ol><li><a href="#toc19" tabindex="0">IF+ISERRORとIFERRORの比較</a></li><li><a href="#toc20" tabindex="0">ISERRORでしかできないこと</a></li><li><a href="#toc21" tabindex="0">結論: 迷ったらIFERROR、分岐したいならISERROR</a></li><li><a href="#toc22" tabindex="0">似たエラー判定関数まとめ</a></li><li><a href="#toc23" tabindex="0">ISERRORと他のIS系関数</a></li></ol></li><li><a href="#toc24" tabindex="0">まとめ</a><ol><li><a href="#toc25" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p>ISERROR関数（読み方: イズエラー関数）は、<strong>指定した値がエラーかどうかを判定する関数</strong>です。</p>



<p>名前はIS（〜かどうか）+ ERROR（エラー）が由来です。</p>



<p>セルの値がエラーなら <code>=ISERROR(A1)</code> はTRUEを返します。</p>



<p>引数はチェックしたい値の1つだけです。結果はTRUEかFALSEの2択なので、とてもシンプルですね。</p>



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



<ul class="wp-block-list"><li>セルや数式の結果がエラーかどうかをTRUE/FALSEで判定する</li><li>IF関数と組み合わせてエラー時の処理を分岐する</li><li>条件付き書式でエラーセルを色付けする</li><li>7種類すべてのエラー（#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?、#NULL!）を検出する</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>ISERROR関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心です。</p></blockquote>



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



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



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



<p>カッコの中にエラーかどうかを判定したいセルや数式を指定するだけです。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>値</td><td>必須</td><td>エラーかどうかを確認したいセル参照・数式・値（例: A1、VLOOKUP(&#8230;)）</td></tr></tbody></table></figure>



<p>引数は1つだけです。値がエラーならTRUE、エラーでなければFALSEを返します。</p>



<h3 class="wp-block-heading"><span id="toc5">ISERROR関数がTRUE/FALSEを返すパターン</span></h3>



<p>どんな値がTRUE（エラー）と判定されるかを一覧にしました。</p>



<figure class="wp-block-table"><table><thead><tr><th>データの種類</th><th>判定結果</th></tr></thead><tbody><tr><td>#N/A</td><td>TRUE（エラー）</td></tr><tr><td>#VALUE!</td><td>TRUE（エラー）</td></tr><tr><td>#REF!</td><td>TRUE（エラー）</td></tr><tr><td>#DIV/0!</td><td>TRUE（エラー）</td></tr><tr><td>#NUM!</td><td>TRUE（エラー）</td></tr><tr><td>#NAME?</td><td>TRUE（エラー）</td></tr><tr><td>#NULL!</td><td>TRUE（エラー）</td></tr><tr><td>数値（0を含む）</td><td>FALSE</td></tr><tr><td>文字列</td><td>FALSE</td></tr><tr><td>論理値（TRUE/FALSE）</td><td>FALSE</td></tr><tr><td>空白セル</td><td>FALSE</td></tr></tbody></table></figure>



<p>ISERROR関数は7種類すべてのエラーをTRUEと判定します。エラー以外の値はすべてFALSEです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>#N/A以外のエラーだけを判定したい場合は<a href="https://mashukabu.com/spreadsheet-iserr-function/">ISERR関数</a>、#N/Aだけを判定したい場合は<a href="https://mashukabu.com/spreadsheet-isna-function/">ISNA関数</a>を使います。用途に応じて使い分けてみてください。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc7">エラーかどうかを判定する</span></h3>



<p>もっともシンプルな使い方です。A1がエラーかどうかを確認します。</p>



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



<p>A1がエラー値ならTRUE、正常な値ならFALSEが返ります。</p>



<h3 class="wp-block-heading"><span id="toc8">IF関数と組み合わせてエラー処理する</span></h3>



<p>ISERROR関数はIF関数と組み合わせることが多いです。エラーのときと正常のときで表示を変えます。</p>



<pre class="wp-block-code"><code>=IF(ISERROR(A2), &quot;エラーあり&quot;, &quot;正常&quot;)</code></pre>



<p>A2がエラーなら「エラーあり」、正常な値なら「正常」と表示します。</p>



<h3 class="wp-block-heading"><span id="toc9">エラーを空白に置き換える</span></h3>



<p>数式のエラーを非表示にしたいときに使えます。</p>



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



<p>C2が0のときに出る#DIV/0!エラーを空欄に置き換えます。正常に計算できればそのまま結果を表示します。</p>



<h3 class="wp-block-heading"><span id="toc10">条件付き書式でエラーセルをハイライト</span></h3>



<p>ISERROR関数を条件付き書式のカスタム数式に使うと、エラーセルを色付けできます。</p>



<p>手順:</p>



<ol class="wp-block-list"><li>色付けしたい範囲（例: B2:B20）を選択する</li><li>「表示形式」→「条件付き書式」を開く</li><li>「カスタム数式」を選び、次の数式を入力する</li></ol>



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



<ol class="wp-block-list"><li>書式スタイルで背景色を赤やオレンジに設定する</li></ol>



<p>これでエラーが出ているセルがひと目でわかります。エラーが解消されるとハイライトが自動で消えます。</p>



<h2 class="wp-block-heading"><span id="toc11">実務でのISERROR関数活用例</span></h2>



<h3 class="wp-block-heading"><span id="toc12">VLOOKUPのエラーを空白にする</span></h3>



<p>VLOOKUPで検索値が見つからないと#N/Aエラーが出ます。IF+ISERRORで空白に置き換えましょう。</p>



<pre class="wp-block-code"><code>=IF(ISERROR(VLOOKUP(A2, Sheet2!A:C, 3, FALSE)), &quot;&quot;, VLOOKUP(A2, Sheet2!A:C, 3, FALSE))</code></pre>



<p>VLOOKUPの結果がエラーなら空欄、正常なら検索結果を表示します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>この処理は<a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a>を使うともっとシンプルに書けます。<code>=IFERROR(VLOOKUP(A2, Sheet2!A:C, 3, FALSE), "")</code> で同じ結果になります。使い分けについては後ほど「IFERROR関数との違い」セクションで解説します。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc13">エラーの種類ごとに処理を分ける</span></h3>



<p>ISERROR関数の強みは、エラーの種類ごとに異なる処理ができることです。IF関数やERROR.TYPE関数と組み合わせて使います。</p>



<pre class="wp-block-code"><code>=IF(ISERROR(B2),
  IF(ERROR.TYPE(B2)=7, &quot;検索値なし&quot;,
  IF(ERROR.TYPE(B2)=3, &quot;値が不正&quot;,
  IF(ERROR.TYPE(B2)=4, &quot;参照エラー&quot;, &quot;その他のエラー&quot;))),
  B2)</code></pre>



<p>ERROR.TYPE関数はエラーの種類を番号で返します。主な番号は次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>番号</th><th>エラー値</th><th>意味</th></tr></thead><tbody><tr><td>1</td><td>#NULL!</td><td>範囲に共通部分がない</td></tr><tr><td>2</td><td>#DIV/0!</td><td>0で割り算した</td></tr><tr><td>3</td><td>#VALUE!</td><td>値の種類が不正</td></tr><tr><td>4</td><td>#REF!</td><td>参照先が無効</td></tr><tr><td>5</td><td>#NAME?</td><td>関数名のスペルミス</td></tr><tr><td>6</td><td>#NUM!</td><td>数値が範囲外</td></tr><tr><td>7</td><td>#N/A</td><td>検索値が見つからない</td></tr></tbody></table></figure>



<p>この処理はIFERROR関数では実現できません。エラーの内容に応じて対応を変えたいときはISERROR関数の出番です。</p>



<h3 class="wp-block-heading"><span id="toc14">ARRAYFORMULAで全行一括判定</span></h3>



<p>ISERROR関数をARRAYFORMULA関数と組み合わせると、1つの数式で全行分を処理できます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(ISBLANK(A2:A), &quot;&quot;, IF(ISERROR(B2:B), &quot;要確認&quot;, &quot;OK&quot;)))</code></pre>



<p>A列にデータがある行だけを対象に、B列のエラーチェックを実行します。数式を下方向にコピーする必要がないので便利です。</p>



<h3 class="wp-block-heading"><span id="toc15">NOT+ISERRORで「エラーでないもの」を抽出</span></h3>



<p>FILTER関数と組み合わせて、エラーでない行だけを抽出するパターンです。</p>



<pre class="wp-block-code"><code>=FILTER(A2:C, NOT(ISERROR(B2:B)))</code></pre>



<p>B列がエラーでない行だけをフィルタして表示します。データクレンジングの前処理に使えます。</p>



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



<p>ISERROR関数自体がエラーを返すことはほとんどありません。ただし「思った結果にならない」ケースがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>エラーなのにFALSEになる</td><td>エラーではなくエラーに見える文字列が入っている</td><td>LEN関数でセル内容を確認する</td></tr><tr><td>TRUEになるがエラーが見えない</td><td>参照先の数式がエラーを返している</td><td>数式バーでセルの中身を確認する</td></tr><tr><td>すべてTRUEになる</td><td>ISERROR関数の引数に数式を直接入れている</td><td>セル参照に変更する</td></tr><tr><td>IFと組み合わせても空白にならない</td><td>IF関数の引数の順番が逆</td><td><code>=IF(ISERROR(...), 代替値, 正常時の値)</code> の順番を確認する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">文字列のエラー値に注意</span></h3>



<p>セルに「#N/A」という文字列が入力されている場合、ISERROR関数はFALSEを返します。見た目はエラーでも、文字列はエラー値ではありません。</p>



<p>LEN関数で文字数を確認するか、数式バーで先頭にアポストロフィ（&#8217;）がないかチェックしましょう。</p>



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



<p>ISERROR関数とセットで覚えたいのがIFERROR関数です。どちらもエラー処理に使いますが、役割が異なります。</p>



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



<p>同じ処理を書いたときの違いを見てみましょう。VLOOKUPのエラーを空白にする例です。</p>



<figure class="wp-block-table"><table><thead><tr><th>方法</th><th>数式</th></tr></thead><tbody><tr><td>IF+ISERROR</td><td><code>=IF(ISERROR(VLOOKUP(A2,B:C,2,0)),"",VLOOKUP(A2,B:C,2,0))</code></td></tr><tr><td>IFERROR</td><td><code>=IFERROR(VLOOKUP(A2,B:C,2,0),"")</code></td></tr></tbody></table></figure>



<p>比較すると次のような違いがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>IF+ISERROR</th><th>IFERROR</th></tr></thead><tbody><tr><td>構文の長さ</td><td>長い（数式を2回書く）</td><td>短い（数式は1回）</td></tr><tr><td>可読性</td><td>やや複雑</td><td>シンプルで読みやすい</td></tr><tr><td>エラー種類の分岐</td><td>できる（IF文でさらに分岐可能）</td><td>できない（全エラー一括処理）</td></tr><tr><td>条件付き書式での利用</td><td>使える</td><td>使える</td></tr><tr><td>処理速度</td><td>数式が2回評価される</td><td>数式は1回で済む</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc20">ISERRORでしかできないこと</span></h3>



<p>IFERRORでは代替できない、ISERROR関数ならではの使い方があります。</p>



<p><strong>1. エラーの種類ごとに処理を分ける</strong></p>



<p>IFERRORは「エラーなら代替値を返す」だけの関数です。ISERRORならIF関数やERROR.TYPE関数と組み合わせられます。#N/Aと#VALUE!で別の処理を行えます。</p>



<p><strong>2. エラーかどうかだけを知りたい</strong></p>



<p>「このセルがエラーかどうか」をTRUE/FALSEで返すだけでよい場合です。条件付き書式のカスタム数式に使うときに便利です。</p>



<p><strong>3. NOT+ISERRORで「正常なデータ」を抽出する</strong></p>



<p>FILTER関数の条件に <code>NOT(ISERROR(...))</code> を使うと、エラーでない行だけを取り出せます。</p>



<h3 class="wp-block-heading"><span id="toc21">結論: 迷ったらIFERROR、分岐したいならISERROR</span></h3>



<p>実務での使い分けは次のとおりです。</p>



<ul class="wp-block-list"><li><strong>エラーを非表示にしたい・代替値を返したい</strong> → <a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a></li><li><strong>エラーの種類ごとに処理を変えたい</strong> → ISERROR + IF関数</li><li><strong>エラーかどうかをTRUE/FALSEで知りたい</strong> → ISERROR関数</li><li><strong>#N/Aだけを判定したい</strong> → <a href="https://mashukabu.com/spreadsheet-isna-function/">ISNA関数</a></li></ul>



<p>迷ったらIFERROR関数から試してみてください。柔軟なエラー処理が必要になったらISERROR関数の出番です。</p>



<h3 class="wp-block-heading"><span id="toc22">似たエラー判定関数まとめ</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>判定対象</th><th>戻り値</th><th>用途</th></tr></thead><tbody><tr><td><strong>ISERROR</strong></td><td><strong>全7種のエラー</strong></td><td><strong>TRUE/FALSE</strong></td><td><strong>全エラーの判定</strong></td></tr><tr><td>ISERR</td><td>#N/A以外の6種</td><td>TRUE/FALSE</td><td>#N/Aを正常扱いしたい場合</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-isna-function/">ISNA</a></td><td>#N/Aのみ</td><td>TRUE/FALSE</td><td>VLOOKUPの「見つからない」だけ判定</td></tr><tr><td>IFERROR</td><td>全7種（判定+代替値）</td><td>任意の値</td><td>エラー時に別の値を返す</td></tr><tr><td>IFNA</td><td>#N/Aのみ（判定+代替値）</td><td>任意の値</td><td>#N/A時だけ別の値を返す</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc23">ISERRORと他のIS系関数</span></h3>



<p>ISERROR関数はIS系情報関数のひとつです。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>判定内容</th></tr></thead><tbody><tr><td>ISBLANK</td><td>空白かどうか</td></tr><tr><td>ISNUMBER</td><td>数値かどうか</td></tr><tr><td>ISTEXT</td><td>文字列かどうか</td></tr><tr><td>ISLOGICAL</td><td>論理値かどうか</td></tr><tr><td>ISERROR</td><td>エラーかどうか</td></tr><tr><td>ISFORMULA</td><td>数式が入っているかどうか</td></tr></tbody></table></figure>



<p>データの種類に応じたチェックをしたいときは、IS系関数を使い分けてみてください。</p>



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



<p>ISERROR関数は、セルや数式の結果がエラーかどうかをTRUE/FALSEで判定するシンプルな関数です。</p>



<p>ポイントをおさらいしましょう。</p>



<ul class="wp-block-list"><li>引数は1つ。エラー値ならTRUE、それ以外はFALSE</li><li>7種類すべてのエラー（#N/A、#VALUE!、#REF!など）を検出する</li><li>IF関数と組み合わせて「エラーなら〜、正常なら〜」の分岐ができる</li><li>エラーを非表示にするだけならIFERROR関数がシンプル</li><li>エラーの種類ごとに処理を分けたいときはISERROR+IF関数を使う</li></ul>



<p>エラー処理の基本として、ぜひ活用してみてください。</p>



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



<p>エラーを非表示にしたいだけなら、<a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数の使い方</a>のほうがシンプルです。</p>



<p>空白かどうかの判定には、<a href="https://mashukabu.com/spreadsheet-isblank-function/">ISBLANK関数の使い方</a>をあわせてどうぞ。</p>



<p>条件によって表示を切り替えたい場合は、<a href="https://mashukabu.com/spreadsheet-if-function/">IF関数の使い方</a>を参考にしてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-iserror-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのGETPIVOTDATA関数｜自動挿入の消し方と使いこなし術</title>
		<link>https://mashukabu.com/excel-function-howto-use-getpivotdata/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-getpivotdata/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 14 Oct 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[GETPIVOTDATA関数]]></category>
		<category><![CDATA[IFERROR]]></category>
		<category><![CDATA[セル参照]]></category>
		<category><![CDATA[ピボットテーブル]]></category>
		<category><![CDATA[月次レポート]]></category>
		<category><![CDATA[無効化]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2316</guid>

					<description><![CDATA[ExcelのGETPIVOTDATA関数の自動挿入を無効化する手順から、複数条件指定・IFERROR組み合わせによるエラー防止まで、ピボットテーブル参照を使いこなす実務テクニックを解説します。]]></description>
										<content:encoded><![CDATA[
<p>Excelでピボットテーブルのセルを参照しようとしたら、見慣れない「GETPIVOTDATA」という関数が勝手に入力された。そんな経験はありませんか？</p>



<p>「普通のセル参照を使いたいのに邪魔だな」と感じる方は多いはずです。実際、検索でも「GETPIVOTDATA 無効化」は人気のキーワードになっています。</p>



<p>でも実は、この関数の仕組みを知ると便利な場面がたくさんあります。この記事では、自動挿入をオフにする方法から、あえて使いこなす実務テクニックまで解説していきますね。</p>




  <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">GETPIVOTDATA関数とは？ピボットテーブル参照時に自動挿入される関数</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">GETPIVOTDATA関数の自動挿入を無効化する方法</a><ol><li><a href="#toc5" tabindex="0">方法①：Excelオプションから全ブック一括で無効化</a></li><li><a href="#toc6" tabindex="0">方法②：ピボットテーブル分析タブから該当ブックだけ無効化</a></li></ol></li><li><a href="#toc7" tabindex="0">GETPIVOTDATA関数の基本的な使い方</a><ol><li><a href="#toc8" tabindex="0">引数を直接入力してデータを取得する</a></li><li><a href="#toc9" tabindex="0">セル参照で動的にフィールド・アイテムを指定する</a></li></ol></li><li><a href="#toc10" tabindex="0">複数条件を指定してデータを絞り込む</a><ol><li><a href="#toc11" tabindex="0">部門×月など2軸で値を取り出す</a></li><li><a href="#toc12" tabindex="0">ドロップダウンリストと連動させる実務パターン</a></li></ol></li><li><a href="#toc13" tabindex="0">IFERROR関数と組み合わせてエラーを防ぐ</a></li><li><a href="#toc14" tabindex="0">実務活用例：月次レポートを自動化する</a><ol><li><a href="#toc15" tabindex="0">ピボットのレイアウトが変わっても壊れない参照式を作る</a></li><li><a href="#toc16" tabindex="0">VLOOKUP・INDEXとの使い分けポイント</a></li></ol></li><li><a href="#toc17" tabindex="0">GETPIVOTDATA関数のよくあるエラーと対処法</a></li><li><a href="#toc18" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">GETPIVOTDATA関数とは？ピボットテーブル参照時に自動挿入される関数</span></h2>



<p>GETPIVOTDATA関数（読み方：ゲット・ピボット・データ）は、ピボットテーブルからデータを取り出す専用の関数です。名前のとおり「Get（取得）＋ Pivot Data（ピボットのデータ）」という意味ですね。</p>



<p>通常のセル参照（<code>=B5</code>など）との大きな違いがあります。GETPIVOTDATA関数は、フィールド名とアイテム名でデータを指定します。そのため、ピボットテーブルのレイアウトが変わっても正しい値を取得できるのがメリットです。</p>



<p>対応バージョンはExcel 2016以降（Microsoft 365含む）です。</p>



<h3 class="wp-block-heading"><span id="toc2">ピボットテーブルを「=」で参照すると自動挿入される仕組み</span></h3>



<p>Excelにはピボットテーブルの値を参照する際に、自動でGETPIVOTDATA関数を生成する機能があります。「Generate GetPivotData」というオプションが初期状態でオンになっているためです。</p>



<p>具体的な発生手順は次のとおりです。</p>



<ol class="wp-block-list"><li>ピボットテーブルの外側のセルを選択する</li><li><code>=</code> を入力する</li><li>ピボットテーブル内の値セルをクリックする</li><li><code>=B5</code> ではなくGETPIVOTDATA関数が自動入力される</li></ol>



<p>単純に隣のセルの値をコピーしたいだけのときは、正直邪魔に感じますよね。無効化の方法はこの後のセクションで解説します。</p>



<h3 class="wp-block-heading"><span id="toc3">基本構文と引数の意味</span></h3>



<p>GETPIVOTDATA関数の構文は次のとおりです。</p>



<pre class="wp-block-code"><code>=GETPIVOTDATA(data_field, pivot_table, [field1, item1, field2, item2, ...])</code></pre>



<p>各引数の意味を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>data_field</td><td>必須</td><td>取得したい値フィールド名（例: &#8220;売上&#8221;）</td></tr><tr><td>pivot_table</td><td>必須</td><td>ピボットテーブル内の任意のセル参照</td></tr><tr><td>field1, item1</td><td>任意</td><td>絞り込み条件のフィールド名とアイテム名のペア</td></tr><tr><td>field2, item2</td><td>任意</td><td>追加の絞り込み条件（最大126ペアまで指定可能）</td></tr></tbody></table></figure>



<p><code>data_field</code>と<code>field</code>/<code>item</code>は文字列なので、ダブルクォーテーションで囲みます。日付や数値の場合はクォーテーション不要ですよ。</p>



<h2 class="wp-block-heading"><span id="toc4">GETPIVOTDATA関数の自動挿入を無効化する方法</span></h2>



<p>「GETPIVOTDATA関数は使わないから消したい」という方向けに、無効化の方法を2つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc5">方法①：Excelオプションから全ブック一括で無効化</span></h3>



<p>すべてのブックに対して一括で無効化する方法です。頻繁にピボットテーブルを使う方はこちらがおすすめです。</p>



<ol class="wp-block-list"><li><strong>[ファイル]</strong> → <strong>[オプション]</strong> をクリック</li><li><strong>[数式]</strong> タブを選択</li><li><strong>「ピボットテーブル参照にGetPivotData関数を使用する」</strong> のチェックを外す</li><li><strong>[OK]</strong> で閉じる</li></ol>



<p>これで、どのブックでも<code>=B5</code>のような通常のセル参照が使われるようになります。</p>



<h3 class="wp-block-heading"><span id="toc6">方法②：ピボットテーブル分析タブから該当ブックだけ無効化</span></h3>



<p>特定のブックだけ無効化したい場合はこちらの方法です。</p>



<ol class="wp-block-list"><li>ピボットテーブル内の任意のセルを選択</li><li><strong>[ピボットテーブル分析]</strong> タブをクリック</li><li><strong>[ピボットテーブル]</strong> → <strong>[オプション]</strong> を展開</li><li><strong>「GetPivotDataの生成」</strong> のチェックを外す</li></ol>



<p>方法①は全体設定、方法②はブック単位の設定です。状況に応じて使い分けてみてください。</p>



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



<p>ここからは「あえてGETPIVOTDATA関数を使う」メリットを見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc8">引数を直接入力してデータを取得する</span></h3>



<p>たとえば、ピボットテーブルから「東京」の「売上」合計を取り出す場合は次のように書きます。</p>



<pre class="wp-block-code"><code>=GETPIVOTDATA(&quot;売上&quot;, A3, &quot;地域&quot;, &quot;東京&quot;)</code></pre>



<ul class="wp-block-list"><li><code>"売上"</code>: 取得したい値フィールド</li><li><code>A3</code>: ピボットテーブル内のセル（どのセルでもOK）</li><li><code>"地域"</code>, <code>"東京"</code>: 絞り込み条件</li></ul>



<p>通常の<code>=B5</code>のようなセル参照だと、ピボットテーブルの行や列を入れ替えた瞬間にずれてしまいます。GETPIVOTDATA関数ならフィールド名で指定するので、レイアウト変更に強いのが最大のメリットです。</p>



<h3 class="wp-block-heading"><span id="toc9">セル参照で動的にフィールド・アイテムを指定する</span></h3>



<p>引数をセル参照にすれば、数式を書き換えずに取得条件を変更できます。</p>



<pre class="wp-block-code"><code>=GETPIVOTDATA(&quot;売上&quot;, A3, &quot;地域&quot;, E1)</code></pre>



<p>セルE1に「大阪」と入力すれば大阪の売上が、「福岡」に変えれば福岡の売上が返ります。入力規則のドロップダウンリストと組み合わせると、さらに使い勝手が良くなりますよ。</p>



<h2 class="wp-block-heading"><span id="toc10">複数条件を指定してデータを絞り込む</span></h2>



<p>GETPIVOTDATA関数の本領は、複数条件での絞り込みです。フィールドとアイテムのペアを追加するだけで条件を増やせます。</p>



<h3 class="wp-block-heading"><span id="toc11">部門×月など2軸で値を取り出す</span></h3>



<p>「営業部」の「4月」売上を取り出す例です。</p>



<pre class="wp-block-code"><code>=GETPIVOTDATA(&quot;売上&quot;, A3, &quot;部門&quot;, &quot;営業部&quot;, &quot;月&quot;, &quot;4月&quot;)</code></pre>



<p>フィールド・アイテムのペアは最大126組まで指定できます。ペアの順番は自由なので、<code>"月", "4月", "部門", "営業部"</code> と書いても同じ結果です。</p>



<h3 class="wp-block-heading"><span id="toc12">ドロップダウンリストと連動させる実務パターン</span></h3>



<p>セルE1に部門名、セルF1に月名のドロップダウンリストを設定すると、こう書けます。</p>



<pre class="wp-block-code"><code>=GETPIVOTDATA(&quot;売上&quot;, A3, &quot;部門&quot;, E1, &quot;月&quot;, F1)</code></pre>



<p>リストから選ぶだけでピボットテーブルのデータを切り替えられます。簡易的なダッシュボードとして使える便利なテクニックです。ピボットテーブル本体を触らなくていいので、元データを壊すリスクもありません。ぜひ試してみてくださいね。</p>



<h2 class="wp-block-heading"><span id="toc13">IFERROR関数と組み合わせてエラーを防ぐ</span></h2>



<p>GETPIVOTDATA関数は、指定したアイテムがピボットテーブルに存在しないと<code>#REF!</code>エラーを返します。フィルターで絞り込んだときに非表示になったアイテムでも同様です。</p>



<p><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>（エラー時に代替値を返す関数）でラップすれば、エラー表示を防げます。</p>



<pre class="wp-block-code"><code>=IFERROR(GETPIVOTDATA(&quot;売上&quot;, A3, &quot;地域&quot;, E1), &quot;&quot;)</code></pre>



<p>この数式なら、E1に存在しない地域名を入れても空白が返ります。<code>"該当なし"</code>や<code>0</code>に置き換えることも可能です。</p>



<p>ドロップダウンリストと組み合わせる場合は、IFERRORでの囲みをセットにしておくのがおすすめですよ。フィルター操作で一時的にアイテムが非表示になっても、レポートが<code>#REF!</code>だらけにならずに済みます。</p>



<h2 class="wp-block-heading"><span id="toc14">実務活用例：月次レポートを自動化する</span></h2>



<p>GETPIVOTDATA関数が最も活躍するのは、月次レポートの自動化です。</p>



<h3 class="wp-block-heading"><span id="toc15">ピボットのレイアウトが変わっても壊れない参照式を作る</span></h3>



<p>通常のセル参照でレポートを作ると、こんなトラブルが起きがちです。</p>



<ul class="wp-block-list"><li>ピボットテーブルに新しい行が追加されて参照先がずれた</li><li>列の順番を入れ替えたら数値がおかしくなった</li><li>フィールドを非表示にしたら<code>#REF!</code>エラーが出た</li></ul>



<p>GETPIVOTDATA関数なら、フィールド名とアイテム名で値を取得します。行や列の並び順が変わっても、正しい値を返し続けます。毎月のレポートテンプレートに組み込んでおけば、ピボットテーブルを更新するだけでレポートも自動更新されますよ。</p>



<h3 class="wp-block-heading"><span id="toc16">VLOOKUP・INDEXとの使い分けポイント</span></h3>



<p>ピボットテーブルからデータを取り出す方法は他にもあります。<a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUP関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数</a>との使い分けを整理しましょう。</p>



<ul class="wp-block-list"><li><strong>GETPIVOTDATA関数</strong>: ピボットテーブル専用。レイアウト変更に強い。条件指定が直感的</li><li><strong>VLOOKUP関数</strong>: 一般的な表の検索向き。ピボットテーブルでは列位置がずれるリスクあり</li><li><strong>INDEX関数 ＋ MATCH関数</strong>: 柔軟性は高いが、ピボットテーブルのレイアウト変更には対応しにくい</li></ul>



<p>ピボットテーブルのデータを参照するなら、GETPIVOTDATA関数が最適です。一方、元データのテーブルを直接検索するなら、<a href="https://mashukabu.com/excel-function-howto-use-sumif/">SUMIF関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-sumifs/">SUMIFS関数</a>のほうが適しているケースもあります。用途に応じて使い分けてみてくださいね。</p>



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



<p>GETPIVOTDATA関数で発生する主なエラーは2つです。</p>



<p><strong>#REF! エラー</strong></p>



<p>最も多いエラーです。次のいずれかが原因で発生します。</p>



<ul class="wp-block-list"><li><code>pivot_table</code>引数のセルにピボットテーブルが存在しない</li><li>指定したフィールド名やアイテム名がピボットテーブルにない</li><li>フィルターでアイテムが非表示になっている</li><li>ピボットテーブルを削除・移動した</li></ul>



<p>対処法は、フィールド名・アイテム名のスペルを確認することです。フィルターが原因の場合は、IFERRORで囲むか、IF関数で事前チェックするとよいでしょう。</p>



<p><strong>#VALUE! エラー</strong></p>



<p>引数の指定が不正な場合に発生します。よくある原因は次のとおりです。</p>



<ul class="wp-block-list"><li><code>data_field</code>にダブルクォーテーションを付け忘れた</li><li>フィールドとアイテムをペアにしていない（片方だけ指定した）</li><li>引数の型が正しくない（数値を文字列で指定した等）</li></ul>



<p>引数は必ず「フィールド名, アイテム名」のペアで指定してくださいね。</p>



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



<p>GETPIVOTDATA関数は、ピボットテーブルからデータを取り出す専用の関数です。</p>



<p>この記事のポイントを振り返りましょう。</p>



<ul class="wp-block-list"><li>自動挿入が不要なら、Excelオプションまたはピボットテーブル分析タブから無効化できる</li><li>フィールド名・アイテム名で値を指定するため、レイアウト変更に強い</li><li>複数条件の絞り込みは、フィールド・アイテムのペアを追加するだけ</li><li>IFERRORと組み合わせれば、フィルター操作時の<code>#REF!</code>エラーを防げる</li><li>月次レポートの自動化に最適。ドロップダウンリストと組み合わせると簡易ダッシュボードにもなる</li></ul>



<p>「自動挿入がうざい」と思って無効化するだけではもったいない関数です。ぜひ一度、レポート作成に活用してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-getpivotdata/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのBAHTTEXT関数の使い方｜エラー対処と実務例</title>
		<link>https://mashukabu.com/excel-function-howto-use-bahttext/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-bahttext/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 20 Aug 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[BAHTTEXT関数]]></category>
		<category><![CDATA[IFERROR]]></category>
		<category><![CDATA[エラー対処]]></category>
		<category><![CDATA[タイ語変換]]></category>
		<category><![CDATA[テキスト関数]]></category>
		<category><![CDATA[請求書テンプレート]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2571</guid>

					<description><![CDATA[ExcelのBAHTTEXT関数の使い方を実務レベルで解説。タイ語金額への変換方法、整数・小数（サタン）の出力結果一覧、#VALUE!エラーの原因と対処法、IFERRORとの組み合わせパターンまで網羅。タイとの取引実務に役立ちます。]]></description>
										<content:encoded><![CDATA[
<p>Excelで「金額をタイ語のテキストに変換したい」と思ったことはありませんか。タイの請求書やインボイスでは、金額をタイ語で表記する必要があります。</p>



<p>手入力だとスペルミスのリスクがありますし、そもそもタイ語が読めないと正しいか判断できませんよね。BAHTTEXT関数を使えば、数値を入れるだけで自動的にタイ語の金額テキストに変換できます。この記事では基本の書き方からエラー対処、実務での活用例までまとめて紹介します。</p>



<p>この記事は次のような人におすすめ</p>



<ul class="wp-block-list"><li>数値をタイ語の金額テキストに変換したい</li><li>BAHTTEXT関数で#VALUE!エラーが出て困っている</li><li>タイ語の請求書テンプレートをExcelで作りたい</li></ul>




  <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">BAHTTEXT関数とは</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">BAHTTEXT関数の構文と引数</a><ol><li><a href="#toc5" tabindex="0">書き方の基本</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">整数の場合</a></li><li><a href="#toc9" tabindex="0">小数（サタン）を含む場合の出力パターン</a></li><li><a href="#toc10" tabindex="0">0・負の数・大きな数の挙動</a></li></ol></li><li><a href="#toc11" tabindex="0">#VALUE!エラーの原因と対処法</a><ol><li><a href="#toc12" tabindex="0">エラーが出る典型パターン</a></li><li><a href="#toc13" tabindex="0">IFERRORと組み合わせてエラーを非表示にする</a></li></ol></li><li><a href="#toc14" tabindex="0">タイ語請求書での実務活用例</a><ol><li><a href="#toc15" tabindex="0">金額欄にBAHTTEXTを組み込む手順</a></li><li><a href="#toc16" tabindex="0">IFERRORで入力前のエラー表示を防ぐ</a></li></ol></li><li><a href="#toc17" tabindex="0">よくある疑問Q&#038;A</a><ol><li><a href="#toc18" tabindex="0">Googleスプレッドシートでも使える？</a></li><li><a href="#toc19" tabindex="0">DOLLAR関数・TEXT関数との違いは？</a></li></ol></li><li><a href="#toc20" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<h3 class="wp-block-heading"><span id="toc2">読み方と何ができるか</span></h3>



<p>BAHTTEXT（バーツテキスト）関数は、数値をタイ語の通貨テキストに変換する関数です。名前は「Baht（バーツ＝タイの通貨単位）」と「Text（文字列）」を組み合わせた造語です。</p>



<p>たとえば「50」を渡すと「ห้าสิบบาทถ้วน」というタイ語の文字列が返ってきます。戻り値はテキスト型なので、そのまま数値計算に使うことはできません。</p>



<p>Excel 2000以降のすべてのバージョンに対応しています。Microsoft 365やMac版でも問題なく動作しますよ。</p>



<h3 class="wp-block-heading"><span id="toc3">どんな場面で使うか</span></h3>



<p>タイのタックスインボイス（税務請求書）では、歳入法により金額のタイ語テキスト表記が義務づけられています。改ざん防止と法的有効性を担保するためです。</p>



<p>主に次のような場面で活躍します。</p>



<ul class="wp-block-list"><li>タイ現地法人への請求書・領収書の作成</li><li>貿易実務でのインボイス発行</li><li>タイ語の見積書テンプレートの自動化</li></ul>



<p>日本語版のExcelでもタイ語ロケールなしで動作するので、日本国内の環境でもそのまま使えますよ。</p>



<h2 class="wp-block-heading"><span id="toc4">BAHTTEXT関数の構文と引数</span></h2>



<h3 class="wp-block-heading"><span id="toc5">書き方の基本</span></h3>



<pre class="wp-block-code"><code>=BAHTTEXT(数値)</code></pre>



<p>引数は1つだけ。とてもシンプルな関数です。</p>



<h3 class="wp-block-heading"><span id="toc6">引数：数値の指定方法</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>内容</th></tr></thead><tbody><tr><td>数値（number）</td><td>必須</td><td>タイ語に変換したい数値。セル参照や数式もOK</td></tr></tbody></table></figure>



<p>数値の指定方法は3パターンあります。</p>



<pre class="wp-block-code"><code>=BAHTTEXT(1500)      ← 直接数値を入力
=BAHTTEXT(A1)        ← セル参照で指定
=BAHTTEXT(A1*1.07)   ← 数式の結果を渡す</code></pre>



<p>セル参照で指定するのが一般的です。請求書テンプレートなど、金額が変わるケースではセル参照を使ってみてください。</p>



<p>引数に文字列を渡すと#VALUE!エラー、負の数を渡すと#NUM!エラーになります。エラーの対処法は後のセクションで詳しく解説します。</p>



<h2 class="wp-block-heading"><span id="toc7">入力値と出力結果の対応表</span></h2>



<h3 class="wp-block-heading"><span id="toc8">整数の場合</span></h3>



<p>整数を渡すと、末尾に「ถ้วน（ちょうど）」が付きます。端数がないことを示すタイ語の表現です。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力値</th><th>数式</th><th>出力結果</th></tr></thead><tbody><tr><td>50</td><td><code>=BAHTTEXT(50)</code></td><td>ห้าสิบบาทถ้วน</td></tr><tr><td>1999</td><td><code>=BAHTTEXT(1999)</code></td><td>หนึ่งพันเก้าร้อยเก้าสิบเก้าบาทถ้วน</td></tr></tbody></table></figure>



<p>「บาท」は通貨単位「バーツ」を意味します。</p>



<h3 class="wp-block-heading"><span id="toc9">小数（サタン）を含む場合の出力パターン</span></h3>



<p>小数を渡すと、小数部分が「สตางค์（サタン）」として変換されます。1バーツ＝100サタンの関係です。小数第2位までが自動変換の対象になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力値</th><th>数式</th><th>出力結果</th></tr></thead><tbody><tr><td>15.75</td><td><code>=BAHTTEXT(15.75)</code></td><td>สิบห้าบาทเจ็ดสิบห้าสตางค์</td></tr><tr><td>15.756</td><td><code>=BAHTTEXT(15.756)</code></td><td>สิบห้าบาทเจ็ดสิบหกสตางค์</td></tr></tbody></table></figure>



<p>小数第3位以降は四捨五入されます。上の例では15.756が15.76に丸められていますね。意図しない丸めを避けたい場合は、事前にROUND関数で桁を揃えておくと安心です。</p>



<pre class="wp-block-code"><code>=BAHTTEXT(ROUND(A1,2))</code></pre>



<h3 class="wp-block-heading"><span id="toc10">0・負の数・大きな数の挙動</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>入力値</th><th>数式</th><th>出力結果</th></tr></thead><tbody><tr><td>0</td><td><code>=BAHTTEXT(0)</code></td><td>ศูนย์บาทถ้วน</td></tr><tr><td>-100</td><td><code>=BAHTTEXT(-100)</code></td><td>#NUM!エラー</td></tr><tr><td>999999</td><td><code>=BAHTTEXT(999999)</code></td><td>เก้าแสนเก้าหมื่นเก้าพันเก้าร้อยเก้าสิบเก้าบาทถ้วน</td></tr></tbody></table></figure>



<p>0はタイ語で「ศูนย์（スーン）」と正しく変換されます。一方、負の数を渡すと#NUM!エラーになるので注意が必要です。負の数を扱いたい場合はABS関数（絶対値を返す関数）で正の数にしてから渡してください。</p>



<pre class="wp-block-code"><code>=IF(A1&lt;0,&quot;ลบ&quot;&amp;BAHTTEXT(ABS(A1)),BAHTTEXT(A1))</code></pre>



<p>この数式は、負の数のときに先頭に「ลบ（マイナス）」を付けて変換します。</p>



<h2 class="wp-block-heading"><span id="toc11">#VALUE!エラーの原因と対処法</span></h2>



<h3 class="wp-block-heading"><span id="toc12">エラーが出る典型パターン</span></h3>



<p>BAHTTEXT関数で発生しやすいエラーは主に3つです。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>引数が数値でない（文字列が入っている）</td><td>VALUE関数で数値に変換する</td></tr><tr><td>#NUM!</td><td>負の数を渡した</td><td>ABS関数で絶対値にする</td></tr><tr><td>#NAME?</td><td>関数名のスペルミス</td><td>BAHTTEXTのつづりを確認</td></tr></tbody></table></figure>



<p>最も多いのは#VALUE!エラーです。セルの値が「1,500」のようにカンマ区切りの文字列になっていると発生します。見た目は数値でも、実際には文字列というケースは意外と多いですよ。</p>



<p>そのような場合は、VALUE関数（文字列を数値に変換する関数）を組み合わせます。</p>



<pre class="wp-block-code"><code>=BAHTTEXT(VALUE(A1))</code></pre>



<p>VALUE関数がA1の文字列を数値に変換してからBAHTTEXT関数に渡すので、#VALUE!エラーを防げます。</p>



<p>エラー値の種類について詳しく知りたい方は、<a href="https://mashukabu.com/excel-error-value-list/">Excelのエラー値一覧</a>の記事も参考にしてみてください。</p>



<h3 class="wp-block-heading"><span id="toc13">IFERRORと組み合わせてエラーを非表示にする</span></h3>



<p><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>（エラーの場合に代替値を返す関数）と組み合わせると、エラー表示を防げます。</p>



<pre class="wp-block-code"><code>=IFERROR(BAHTTEXT(A1),&quot;数値を入力してください&quot;)</code></pre>



<p>この数式はA1が空欄や文字列でも、エラーの代わりにメッセージを表示します。請求書テンプレートでは、まだ金額を入力していない行にエラーが並ぶのを防げるので便利です。</p>



<h2 class="wp-block-heading"><span id="toc14">タイ語請求書での実務活用例</span></h2>



<h3 class="wp-block-heading"><span id="toc15">金額欄にBAHTTEXTを組み込む手順</span></h3>



<p>タイ向けの請求書テンプレートに組み込む流れを紹介します。</p>



<ol class="wp-block-list"><li>金額セル（例: E10）に合計金額の数式を入力する</li><li>タイ語テキスト用のセル（例: E11）に次の数式を入力する</li></ol>



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



<ol class="wp-block-list"><li>E11セルのフォントをタイ語対応フォント（Tahoma等）に設定する</li></ol>



<p>タイ語が文字化けする場合は、フォントの設定を確認してみてください。TahomaやCordia Newなど、タイ語に対応したフォントを選ぶと正しく表示されます。</p>



<h3 class="wp-block-heading"><span id="toc16">IFERRORで入力前のエラー表示を防ぐ</span></h3>



<p>テンプレートとして配布する場合、金額が未入力の状態でもエラーを出さない工夫が大切です。</p>



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



<p>第2引数を空文字にすれば、未入力時はセルが空白のまま表示されます。メッセージを出したい場合は「金額を入力してください」などに変えてみてください。</p>



<h2 class="wp-block-heading"><span id="toc17">よくある疑問Q&#038;A</span></h2>



<h3 class="wp-block-heading"><span id="toc18">Googleスプレッドシートでも使える？</span></h3>



<p>BAHTTEXT関数はExcel専用の関数です。Googleスプレッドシートには用意されていません。スプレッドシートでタイ語変換を行いたい場合は、Apps Scriptでカスタム関数を作成する方法が一般的です。</p>



<h3 class="wp-block-heading"><span id="toc19">DOLLAR関数・TEXT関数との違いは？</span></h3>



<p>それぞれ目的が異なる関数です。下の表で比較してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>目的</th><th>出力例</th></tr></thead><tbody><tr><td>BAHTTEXT</td><td>数値をタイ語の金額テキストに変換</td><td>ห้าสิบบาทถ้วน</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dollar/">DOLLAR関数</a></td><td>数値を通貨書式の文字列に変換</td><td>$50.00</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-text/">TEXT関数</a></td><td>数値を指定した表示形式の文字列に変換</td><td>50.00</td></tr></tbody></table></figure>



<p>BAHTTEXT関数は「数値→タイ語テキスト」という特殊な変換を行う唯一の関数です。DOLLAR関数やTEXT関数では、タイ語の金額テキストは生成できません。</p>



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



<p>BAHTTEXT関数は、数値をタイ語の通貨テキストに変換する関数です。構文は <code>=BAHTTEXT(数値)</code> で引数は1つだけ。タイ向けの請求書やインボイスで金額のタイ語表記が必要な場面で役立ちます。</p>



<p>ポイントを整理しておきましょう。</p>



<ul class="wp-block-list"><li>整数は末尾に「ถ้วน（ちょうど）」が付く</li><li>小数は第2位まで「สตางค์（サタン）」に自動変換される</li><li>負の数は#NUM!エラーになるのでABS関数と組み合わせる</li><li>文字列を渡すと#VALUE!エラーになるのでIFERROR関数でラップする</li><li>Googleスプレッドシートでは使えない（Excel専用）</li></ul>



<p>エラーが心配な場合は <code>=IFERROR(BAHTTEXT(A1),"")</code> と書いておけば安心ですよ。タイ語の請求書テンプレートを作るときにぜひ活用してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-bahttext/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>数式がエラーになったとき、「とりあえずIFERRORで非表示にする」で済ませていませんか？</p>



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



<p>そんなときに使えるのが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-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">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>ERROR.TYPE（えらー たいぷ）関数は、エラー値の<strong>種類を番号（数値）で返す</strong>情報関数です。&#8221;ERROR&#8221;は「誤り」、&#8221;TYPE&#8221;は「種類」を意味します。</p>



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



<p><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>引数は1つだけです。省略はできません。セル参照・直接入力した値・数式の結果のいずれも指定できます。</p>



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



<p>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>番号は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>まずはシンプルな例で動きを確認してみましょう。</p>



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



<p>さまざまなエラーを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><!-- screenshot: ERROR.TYPE関数の基本使用例。A列にさまざまなエラー値と正常値、B列に=ERROR.TYPE(A2)の結果を表示。A1=値、B1=ERROR.TYPE結果。A2に=10/0で#DIV/0!表示→B2=2、A3に=VLOOKUP("Z",D:E,2,0)で#N/A表示→B3=7、A4に="あ"+1で#VALUE!表示→B4=3、A5に=SQRT(-1)で#NUM!表示→B5=6、A6に100→B6=#N/A、A7に東京→B7=#N/A。セル範囲A1:B7を表示。エラーセルは赤文字 --></p>



<p>正常な値を渡すと #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>ERROR.TYPE関数にはセル参照と数式のどちらも渡せます。</p>



<p><strong>セル参照で判定する場合:</strong></p>



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



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



<p><strong>数式を直接指定する場合:</strong></p>



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



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



<p><!-- screenshot: ERROR.TYPE+IF+ISERRORでエラー種類ごとにメッセージを出し分ける例。A列「数式結果」B列「判定結果」。A2に#N/A→B2=該当データなし、A3に#VALUE!→B3=入力値が不正、A4に#DIV/0!→B4=その他のエラー、A5に100→B5=OK。B列にIF(ISERROR(A2),IF(ERROR.TYPE(A2)=7,"該当データなし",IF(ERROR.TYPE(A2)=3,"入力値が不正","その他のエラー")),"OK")。セル範囲A1:B5を表示 --></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>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>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>大量のデータを処理しているとき、どのエラーが多いかをCOUNTIF関数で集計できます。</p>



<p>まず作業列にERROR.TYPE関数の結果を出しておきます。</p>



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



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



<p>次に、この作業列をCOUNTIFで集計します。</p>



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



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



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



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



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



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



<p>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>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><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><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><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>どの関数を使うか迷ったときは、次の順番で判断してみてください。</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>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>エラーの種類ごとに処理を変えたいときは、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>エラー処理全般の使い分けを知りたい方は、<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>VLOOKUPで検索したら、セルに「#N/A」がズラッと並んでしまった…。そんな経験、ありませんか？</p>



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



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




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

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p>VLOOKUPやMATCHを使う場面では、IFERRORよりIFNAを選ぶクセをつけておくと、数式ミスの見落としを防げますよ。ぜひ普段の業務で活用してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-ifna/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのISERROR関数の使い方｜すべてのエラーをまとめて判定する方法【図解あり】</title>
		<link>https://mashukabu.com/excel-function-howto-use-iserror/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-iserror/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 11 Apr 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[IFERROR]]></category>
		<category><![CDATA[ISERROR関数]]></category>
		<category><![CDATA[IS関数]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[エラー判定]]></category>
		<category><![CDATA[データ検証]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1597</guid>

					<description><![CDATA[ExcelのISERROR関数の使い方を図解で解説します。IFと組み合わせてVLOOKUPのエラーを空白や0に変える方法、IFERROR・ISNA・ISERRとの違いと使い分けまでわかりやすく説明。エラー処理に初めて取り組む方にもおすすめです。]]></description>
										<content:encoded><![CDATA[
<p>数式を組んだらセルに「#VALUE!」や「#REF!」が表示された&#8230;&#8230;。Excelで関数を使っていると、さまざまなエラーに遭遇しますよね。</p>



<p>「エラーかどうかをまとめて判定したい」。そんなときに活躍するのがISERROR関数です。</p>



<p>この記事では、ISERROR関数の基本から実務で役立つ活用パターンまでまとめて紹介します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>この記事は次のような人におすすめ</p><p>&#8211; セルの値がエラーかどうかをまとめて判定したい<br>&#8211; #N/A、#VALUE!、#REF! などエラーの種類を問わず検知したい<br>&#8211; IFERROR関数やISNA関数との違いを知りたい</p></blockquote>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-9" checked><label class="toc-title" for="toc-checkbox-9">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ISERROR関数とは？</a></li><li><a href="#toc2" tabindex="0">ISERROR関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">ISERROR関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">エラー種類ごとの判定結果</a></li><li><a href="#toc7" tabindex="0">Excelのエラー7種類とISERRORの判定結果</a></li><li><a href="#toc8" tabindex="0">セル参照で判定する</a></li><li><a href="#toc9" tabindex="0">IFと組み合わせてエラーを処理する</a></li></ol></li><li><a href="#toc10" tabindex="0">ISERROR関数の実務活用パターン</a><ol><li><a href="#toc11" tabindex="0">パターン1: VLOOKUPのエラーをまとめてキャッチする</a></li><li><a href="#toc12" tabindex="0">パターン2: エラーがあるセルをカウントする</a></li><li><a href="#toc13" tabindex="0">パターン3: エラーでないデータだけを合計する</a></li><li><a href="#toc14" tabindex="0">パターン4: 条件付き書式でエラーセルをハイライトする</a></li></ol></li><li><a href="#toc15" tabindex="0">ISERROR関数とISNA・ISERR・IFERRORの違い</a><ol><li><a href="#toc16" tabindex="0">ISERROR・ISNA・ISERRの対応範囲を比較</a></li><li><a href="#toc17" tabindex="0">使い分けの判断フロー</a></li></ol></li><li><a href="#toc18" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc19" tabindex="0">IS系12関数の違い・使い分け</a></li><li><a href="#toc20" tabindex="0">まとめ</a><ol><li><a href="#toc21" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p>ISERROR（いず えらー）関数は、指定した値が<strong>エラー値</strong>かどうかを判定する関数です。</p>



<p>対象がエラー値であれば TRUE を返します。数値・文字列・論理値・空白などエラー以外の値はすべて FALSE です。</p>



<p><strong>すべてのエラーに反応する</strong>のが最大の特徴です。#N/A、#VALUE!、#REF!、#DIV/0!、#NAME?、#NUM!、#NULL! の7種類すべてで TRUE を返します。</p>



<p>IS系（情報関数）の1つで、セルに入っているデータの種類を確認するための関数ファミリーに属しています。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>ISERROR関数は Excel 2003 以降のすべてのバージョンで使用できます。Microsoft 365 や Googleスプレッドシートでも同じ書き方で使えます。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=ISERROR(テストの対象)</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>引数は1つだけです。省略はできません。セル参照・直接値・数式の結果のいずれも指定できます。</p>



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



<p>まずはシンプルな例で動きを確認してみましょう。</p>



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



<p>さまざまなエラーをISERROR関数で判定すると、次のような結果になります。</p>



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



<p><!-- screenshot: ISERROR関数の基本使用例。A列にさまざまなエラー値と正常値、B列に=ISERROR(A2)の結果（TRUE/FALSE）を表示。A1=値、B1=ISERROR結果。A2に=10/0で#DIV/0!表示→B2=TRUE、A3に=VLOOKUP("Z",D:E,2,0)で#N/A表示→B3=TRUE、A4に="あ"+1で#VALUE!表示→B4=TRUE、A5に=SQRT(-1)で#NUM!表示→B5=TRUE、A6に100→B6=FALSE、A7に東京→B7=FALSE、A8にTRUE→B8=FALSE。セル範囲A1:B8を表示。エラーセルは赤文字で表示される --></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>ISERROR関数は7種類すべてのエラーに反応します。#N/A だけを判定したい場合は <a href="https://mashukabu.com/excel-function-howto-use-isna/">ISNA関数</a> を、#N/A 以外のエラーだけを判定したい場合は <a href="https://mashukabu.com/excel-function-howto-use-iserr/">ISERR関数</a> を使いましょう。</p></blockquote>



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



<p>ISERROR関数がすべてのエラーに TRUE を返すことを一覧で確認しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー値</th><th>意味</th><th>ISERROR の結果</th></tr></thead><tbody><tr><td>#N/A</td><td>値が見つからない</td><td>TRUE</td></tr><tr><td>#VALUE!</td><td>データ型が不正</td><td>TRUE</td></tr><tr><td>#REF!</td><td>参照先が無効</td><td>TRUE</td></tr><tr><td>#DIV/0!</td><td>ゼロで除算した</td><td>TRUE</td></tr><tr><td>#NAME?</td><td>関数名やセル名が不正</td><td>TRUE</td></tr><tr><td>#NUM!</td><td>数値が範囲外</td><td>TRUE</td></tr><tr><td>#NULL!</td><td>セル範囲の共通部分がない</td><td>TRUE</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc8">セル参照で判定する</span></h3>



<p>セル参照を使えば、特定のセルがエラーかどうかを確認できます。</p>



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



<p>A1 にエラー値が表示されていれば TRUE です。数値や文字列、空白なら FALSE になります。</p>



<h3 class="wp-block-heading"><span id="toc9">IFと組み合わせてエラーを処理する</span></h3>



<p>ISERROR関数は <a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a> と組み合わせることで、エラー時の処理を自由にコントロールできます。基本的な書き方はこちらです。</p>



<pre class="wp-block-code"><code>=IF(ISERROR(数式), エラー時の値, 正常時の値)</code></pre>



<p>たとえば割り算の結果がエラーなら「計算不可」と表示し、正常なら計算結果を返す数式は次のとおりです。</p>



<pre class="wp-block-code"><code>=IF(ISERROR(B2/C2),&quot;計算不可&quot;,B2/C2)</code></pre>



<p>C2 が 0 や空白のとき #DIV/0! になりますが、ISERROR で検知して「計算不可」と表示します。正常に割り算できた場合はそのまま結果を返しますよ。</p>



<p><!-- screenshot: IF+ISERROR関数でエラーを処理する例。A列「商品名」B列「売上」C列「個数」D列「単価」のデータ。D2に=IF(ISERROR(B2/C2),"計算不可",B2/C2)。B2=50000,C2=100→D2に500、B3=30000,C3=0→D3に計算不可、B4=45000,C4=150→D4に300。セル範囲A1:D4を表示。D3の「計算不可」が目立つように --></p>



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



<h3 class="wp-block-heading"><span id="toc11">パターン1: VLOOKUPのエラーをまとめてキャッチする</span></h3>



<p>VLOOKUPは #N/A だけでなく、#REF!（列番号が範囲外）や #VALUE!（検索値が不正）も発生します。すべてまとめて処理したい場合に便利です。</p>



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



<p>どの種類のエラーが発生しても「未登録」と表示します。</p>



<p><!-- screenshot: VLOOKUP+ISERRORでエラーを非表示にする例。左側にD列「商品コード」E列「商品名」の商品マスタ（D2:E5にA001=りんご、A002=バナナ、A003=みかん、A004=ぶどう）。右側にG列「注文コード」H列「商品名（検索結果）」。H2に=IF(ISERROR(VLOOKUP(G2,$D:$E,2,FALSE)),"未登録",VLOOKUP(G2,$D:$E,2,FALSE))。G2=A001→H2=りんご、G3=A005→H3=未登録、G4=A003→H4=みかん、G5=B001→H5=未登録。セル範囲D1:H5を表示 --></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>単にエラーを代替値に置き換えるだけなら <a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a> のほうがシンプルです。<code>=IFERROR(VLOOKUP(...),"未登録")</code> と書けば同じ結果になります。ISERROR関数は「TRUE/FALSE で判定結果を得たい」場面で力を発揮します。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc12">パターン2: エラーがあるセルをカウントする</span></h3>



<p>データ範囲の中でエラーが何件あるか数えたいとき、SUMPRODUCT関数と組み合わせて使えます。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(ISERROR(C2:C100)*1)</code></pre>



<p>C2:C100 の中でエラーになっているセルの個数を返します。ISERROR が TRUE（= 1）を返したセルの数を合計する仕組みです。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン3: エラーでないデータだけを合計する</span></h3>



<p>エラーが混在する範囲で、正常な数値だけを合計したいケースです。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((1-ISERROR(C2:C100))*C2:C100)</code></pre>



<p>ISERROR が FALSE（= 0）のセルだけを合計します。エラーセルは自動的に除外されます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>通常の <code>=SUM(C2:C100)</code> だと、範囲内にエラーが1つでもあると結果全体がエラーになってしまいます。SUMPRODUCT + ISERROR なら、エラーを除外して正常値だけを集計できますよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc14">パターン4: 条件付き書式でエラーセルをハイライトする</span></h3>



<p>数式が入った列でエラーになっているセルだけを目立たせたい場合に使えます。条件付き書式はTRUE/FALSEを返す数式が必要なので、ISERRORが最適です。</p>



<ol class="wp-block-list"><li>対象範囲を選択します</li><li>「ホーム」タブ →「条件付き書式」→「新しいルール」を選択します</li><li>「数式を使用して、書式設定するセルを決定」を選びます</li><li>数式欄に <code>=ISERROR(C2)</code> と入力します</li><li>好きな書式（赤い塗りつぶしなど）を設定します</li></ol>



<p>エラーが入ったセルだけが色付きになります。エラーの種類を問わず検知できるので、データのクレンジング作業に役立ちますよ。</p>



<p><!-- screenshot: 条件付き書式でISERROR関数を使いエラーセルを赤くハイライトした例。A列「計算結果」にB2=500、B3=#DIV/0!、B4=300、B5=#N/A、B6=450、B7=#VALUE!、B8=200のデータ。エラーセル（B3、B5、B7）のみ薄い赤の背景色でハイライトされている。条件付き書式のルール=ISERROR(B2)を使用。セル範囲A1:B8を表示 --></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>条件付き書式では <a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a> は使えません。IFERROR は代替値を返す関数で、TRUE/FALSE を返さないためです。条件付き書式でエラーセルを装飾するなら ISERROR の出番ですよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc15">ISERROR関数とISNA・ISERR・IFERRORの違い</span></h2>



<p>エラー判定に使える関数は複数あります。それぞれの違いを把握しておくと、場面に応じて最適な関数を選べますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>対象エラー</th><th>戻り値</th><th>主な用途</th></tr></thead><tbody><tr><td>ISERROR（この記事）</td><td>すべてのエラー</td><td>TRUE / FALSE</td><td>エラーかどうかをTRUE/FALSEで返す</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>#N/A だけを判定。他のエラーは残す</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-iserr/">ISERR</a></td><td>#N/A 以外のエラー</td><td>TRUE / FALSE</td><td>#N/A を除くエラーを判定する</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR</a></td><td>すべてのエラー</td><td>代替値</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>#N/A 時に指定した値を返す</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>「エラーを代替値に置き換えたいだけ」なら IFERROR や IFNA のほうがシンプルです。「エラーかどうかを TRUE/FALSE で知りたい」「エラーの有無に応じて処理を分岐したい」場面で ISERROR が活躍します。IF/IFS/IFERROR/IFNAの使い分けは <a href="https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/">こちらの比較記事</a> でもくわしく解説しています。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc16">ISERROR・ISNA・ISERRの対応範囲を比較</span></h3>



<p>3つの関数がどのエラーに反応するかを一覧にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー値</th><th>ISERROR</th><th>ISNA</th><th>ISERR</th></tr></thead><tbody><tr><td>#N/A</td><td>TRUE</td><td>TRUE</td><td>FALSE</td></tr><tr><td>#VALUE!</td><td>TRUE</td><td>FALSE</td><td>TRUE</td></tr><tr><td>#REF!</td><td>TRUE</td><td>FALSE</td><td>TRUE</td></tr><tr><td>#DIV/0!</td><td>TRUE</td><td>FALSE</td><td>TRUE</td></tr><tr><td>#NAME?</td><td>TRUE</td><td>FALSE</td><td>TRUE</td></tr><tr><td>#NUM!</td><td>TRUE</td><td>FALSE</td><td>TRUE</td></tr><tr><td>#NULL!</td><td>TRUE</td><td>FALSE</td><td>TRUE</td></tr></tbody></table></figure>



<p>ISERROR = ISNA + ISERR です。つまり <code>=OR(ISNA(A1), ISERR(A1))</code> と <code>=ISERROR(A1)</code> は同じ結果になります。</p>



<h3 class="wp-block-heading"><span id="toc17">使い分けの判断フロー</span></h3>



<ol class="wp-block-list"><li><strong>すべてのエラーを隠したい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a></li><li><strong>すべてのエラーをTRUE/FALSEで判定したい</strong> → <strong>ISERROR関数</strong>（この記事）</li><li><strong>#N/A だけを隠したい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数</a></li><li><strong>#N/A だけをTRUE/FALSEで判定したい</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-iserr/">ISERR関数</a></li></ol>



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



<p>ISERROR関数自体がエラーを返すことはほとんどありません。ただし「思った結果にならない」ケースがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>エラーなのに FALSE が返る</td><td>見た目はエラーだが実はエラー値ではない</td><td>「#N/A」が文字列として入力されていないか確認する</td></tr><tr><td>正常な値でも TRUE が返る</td><td>参照先のセルがエラーになっている</td><td>数式バーで参照先セルの値を確認する</td></tr><tr><td>空白セルで FALSE が返る</td><td>空白はエラーではない</td><td>空白判定には <a href="https://mashukabu.com/excel-function-howto-use-isblank/">ISBLANK関数</a> を使う</td></tr><tr><td>エラーの種類を区別できない</td><td>ISERRORはすべてのエラーで TRUE を返す</td><td>#N/A だけなら <a href="https://mashukabu.com/excel-function-howto-use-isna/">ISNA関数</a>、#N/A 以外なら <a href="https://mashukabu.com/excel-function-howto-use-iserr/">ISERR関数</a></td></tr><tr><td>数式で #NAME? が表示される</td><td>関数名のスペルミス</td><td><code>ISERROR</code> のスペルを確認する</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc19">IS系12関数の違い・使い分け</span></h2>



<p>IS系関数は、セルに入っているデータの種類を判定するファミリーです。用途に合わせて使い分けましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>判定内容</th><th>TRUE になる例</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-isblank/">ISBLANK</a></td><td>空白セルか</td><td>未入力のセル</td></tr><tr><td>ISERROR（この記事）</td><td>任意のエラー値か</td><td>#N/A, #VALUE!, #REF! など</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-iserr/">ISERR</a></td><td>#N/A 以外のエラー値か</td><td>#VALUE!, #REF!, #DIV/0! など</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-isna/">ISNA</a></td><td>#N/A エラーか</td><td>#N/A のみ</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-islogical/">ISLOGICAL</a></td><td>論理値（TRUE/FALSE）か</td><td>TRUE, FALSE</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-isnumber/">ISNUMBER</a></td><td>数値か</td><td>100, 3.14, 日付のシリアル値</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-istext/">ISTEXT</a></td><td>文字列か</td><td>&#8220;東京&#8221;, &#8220;123&#8221;（文字列型）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-isnontext/">ISNONTEXT</a></td><td>文字列以外か</td><td>100, TRUE, 空白</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-isformula/">ISFORMULA</a></td><td>数式が入っているか</td><td>=SUM(A1:A10) が入ったセル</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-isref/">ISREF</a></td><td>有効なセル参照か</td><td>A1, Sheet2!B3</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-iseven/">ISEVEN</a></td><td>偶数か</td><td>2, 4, 100</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-isodd/">ISODD</a></td><td>奇数か</td><td>1, 3, 99</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>エラー判定の3兄弟を覚えておきましょう。ISERROR（全エラー）= <a href="https://mashukabu.com/excel-function-howto-use-isna/">ISNA</a>（#N/A のみ）+ <a href="https://mashukabu.com/excel-function-howto-use-iserr/">ISERR</a>（#N/A 以外）。この関係がわかれば使い分けに迷いません。</p></blockquote>



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



<p>ISERROR関数は、セルの値がエラーかどうかを判定するシンプルな関数です。</p>



<ul class="wp-block-list"><li>引数は1つだけ。エラーなら TRUE、それ以外なら FALSE</li><li>#N/A、#VALUE!、#REF! など7種類すべてのエラーに反応する</li><li>ISNA（#N/A のみ）や ISERR（#N/A 以外）との違いは「対応範囲の広さ」</li><li>エラーを置き換えるだけなら IFERROR、判定だけなら ISERROR</li><li>条件付き書式やSUMPRODUCTとの組み合わせはISERROR関数の独壇場</li></ul>



<p>特定のエラーだけを検知したい場合はISNAやISERRが適していますが、「エラーかどうかをまとめて判定したい」場面ではISERROR関数が最適です。ぜひ使い分けてみてください。</p>



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



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-isna/">ISNA関数の使い方｜#N/Aエラーだけを判定する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-iserr/">ISERR関数の使い方｜#N/A以外のエラーを判定する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数の使い方｜エラーを非表示にする方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数の使い方｜#N/Aエラーだけを処理する方法</a></li><li><a href="https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/">IF・IFS・IFERROR・IFNAの使い分け｜選び方フロー付き</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-istext/">ISTEXT関数の使い方｜文字列かどうかを判定する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-isnumber/">ISNUMBER関数の使い方｜数値かどうかを判定する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-islogical/">ISLOGICAL関数の使い方｜論理値（TRUE/FALSE）を判定する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-isblank/">ISBLANK関数の使い方｜空白セルを判定する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-isformula/">ISFORMULA関数の使い方｜数式が入っているか確認する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUP関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数の使い方｜条件分岐の基本</a></li><li><a href="https://mashukabu.com/excel-function-list-by-function/">Excel関数一覧（機能別）</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-iserror/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Excelエラー値12種類の原因と対処法一覧</title>
		<link>https://mashukabu.com/excel-error-value-list/</link>
					<comments>https://mashukabu.com/excel-error-value-list/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 10 Apr 2022 06:53:06 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[IFERROR]]></category>
		<category><![CDATA[エラー値]]></category>
		<category><![CDATA[エラー対処]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1611</guid>

					<description><![CDATA[Excelのエラー値12種類（#DIV/0!・#VALUE!・#REF!・#NAME?・#N/A・#NUM!・#NULL!・####・#SPILL!・#CALC!など）の原因と対処法を完全解説。関数別エラーマトリクス表とIFERROR・IFNA・ISERRORの使い分け早見表付き。]]></description>
										<content:encoded><![CDATA[
<p>Excelで数式を入力したら、セルに <code>#DIV/0!</code> や <code>#VALUE!</code> といった見慣れない文字列が表示された経験はありませんか。</p>



<p>エラーの意味がわからないまま放置すると、集計結果がずれたり、上司に提出する資料の数字が崩れたりと、思わぬトラブルにつながります。</p>



<p>この記事では、Excelで表示されるエラー値12種類の原因と対処法を一覧で解説します。各エラーにはNG例・OK例の数式を載せているので、いま画面に表示されているエラーをすぐに解決できます。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">エラー値とは？Excelがエラーを表示する仕組み</a></li><li><a href="#toc2" tabindex="0">【早見表】Excelエラー値12種類の一覧</a></li><li><a href="#toc3" tabindex="0">基本のエラー値7種の原因と対処法</a><ol><li><a href="#toc4" tabindex="0">#DIV/0!（ディバイド・パー・ゼロ）</a></li><li><a href="#toc5" tabindex="0">#VALUE!（バリュー）</a></li><li><a href="#toc6" tabindex="0">#REF!（リファレンス）</a></li><li><a href="#toc7" tabindex="0">#NAME?（ネーム）</a></li><li><a href="#toc8" tabindex="0">#N/A（エヌエー）</a></li><li><a href="#toc9" tabindex="0">#NUM!（ナンバー）</a></li><li><a href="#toc10" tabindex="0">#NULL!（ヌル）</a></li></ol></li><li><a href="#toc11" tabindex="0">「####」はエラー値ではない</a></li><li><a href="#toc12" tabindex="0">モダンExcel限定エラー4種（Microsoft 365 / Excel 2021以降）</a><ol><li><a href="#toc13" tabindex="0">#SPILL!（スピル）</a></li><li><a href="#toc14" tabindex="0">#CALC!（カルク）</a></li><li><a href="#toc15" tabindex="0">#FIELD!（フィールド）</a></li><li><a href="#toc16" tabindex="0">#GETTING_DATA（ゲッティングデータ）</a></li></ol></li><li><a href="#toc17" tabindex="0">エラー処理関数の使い分け</a><ol><li><a href="#toc18" tabindex="0">IFERROR &#8212; 全エラーを一括処理</a></li><li><a href="#toc19" tabindex="0">IFNA &#8212; #N/Aだけを処理</a></li><li><a href="#toc20" tabindex="0">ISERROR / ISERR &#8212; IF関数と組み合わせた条件分岐</a></li></ol></li><li><a href="#toc21" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">エラー値とは？Excelがエラーを表示する仕組み</span></h2>



<p>エラー値とは、数式が正しく計算できないときにExcelがセルに返す特殊な文字列のことです。先頭に <code>#</code> が付いているのが特徴で、「この数式には問題がありますよ」とExcelが教えてくれているサインだと考えてください。</p>



<p>エラーが出る原因はおもに次の3パターンに分かれます。</p>



<ul class="wp-block-list"><li><strong>引数の型や値が不正</strong> &#8212; 数値が必要な場所に文字列を渡した場合など</li><li><strong>参照先が存在しない</strong> &#8212; セルや行・列が削除された、検索値が見つからない場合など</li><li><strong>数式の書き方自体に問題がある</strong> &#8212; 関数名のスペルミス、演算子の使い間違いなど</li></ul>



<p>エラー値は全部で12種類あります。そのうち7種は従来のExcelに搭載されている基本エラーです。残りはMicrosoft 365やExcel 2021以降で追加されたモダンエラーです。</p>



<p>まずは全体像を早見表で確認しましょう。</p>



<h2 class="wp-block-heading"><span id="toc2">【早見表】Excelエラー値12種類の一覧</span></h2>



<figure class="wp-block-table"><table><thead><tr><th>エラー値</th><th>読み方</th><th>原因の要約</th><th>発生しやすい関数・操作</th></tr></thead><tbody><tr><td><code>#DIV/0!</code></td><td>ディバイド・パー・ゼロ</td><td>ゼロまたは空白セルで除算</td><td>四則演算（<code>/</code>）、AVERAGE（空範囲）、MOD</td></tr><tr><td><code>#VALUE!</code></td><td>バリュー</td><td>引数の型が不一致</td><td>SUMIF、COUNTIF、DATE、四則演算（文字列混在）</td></tr><tr><td><code>#REF!</code></td><td>リファレンス</td><td>参照先のセル・行・列が存在しない</td><td>INDIRECT、行/列削除後の数式、VLOOKUP（範囲外列番号）</td></tr><tr><td><code>#NAME?</code></td><td>ネーム</td><td>関数名や名前の定義が不正</td><td>関数名スペルミス、未定義の名前参照</td></tr><tr><td><code>#N/A</code></td><td>エヌエー</td><td>検索値が見つからない</td><td>VLOOKUP、HLOOKUP、XLOOKUP、MATCH、INDEX+MATCH</td></tr><tr><td><code>#NUM!</code></td><td>ナンバー</td><td>数値が範囲外</td><td>SQRT（負の数）、LOG（0以下）、IRR、LARGE/SMALL</td></tr><tr><td><code>#NULL!</code></td><td>ヌル</td><td>交差演算子（スペース）の誤用</td><td>セル範囲の指定ミス</td></tr><tr><td><code>####</code></td><td>シャープ（列幅不足）</td><td>列幅が不足 / 負の日付値</td><td>日付・時刻列、長い数値</td></tr><tr><td><code>#SPILL!</code></td><td>スピル</td><td>スピル範囲に障害物がある</td><td>FILTER、SORT、UNIQUE、SEQUENCE、RANDARRAY</td></tr><tr><td><code>#CALC!</code></td><td>カルク</td><td>空の配列が返された</td><td>FILTER（一致ゼロ件）、LAMBDA</td></tr><tr><td><code>#FIELD!</code></td><td>フィールド</td><td>データ型のフィールドが存在しない</td><td>リンクデータ型（株価・地理）</td></tr><tr><td><code>#GETTING_DATA</code></td><td>ゲッティングデータ</td><td>データ取得中（一時的）</td><td>リンクデータ型のデータ読み込み</td></tr></tbody></table></figure>



<p>この表をブックマークしておくと、エラーが出たときにすぐ原因を絞り込めます。ここからは各エラーの詳細を見ていきましょう。</p>



<h2 class="wp-block-heading"><span id="toc3">基本のエラー値7種の原因と対処法</span></h2>



<p>まずはExcelのすべてのバージョンで発生する基本の7種類です。実務で遭遇する頻度が高いものから順に解説します。</p>



<h3 class="wp-block-heading"><span id="toc4">#DIV/0!（ディバイド・パー・ゼロ）</span></h3>



<p><code>#DIV/0!</code> は、割り算の分母がゼロまたは空白セルになっているときに表示されるエラーです。Excelに限らず、数学の世界でも「0で割る」ことは定義されていません。</p>



<p><strong>よくある発生パターン</strong></p>



<p>直接ゼロで割っているケースだけでなく、参照先のセルがまだ未入力のときにも発生します。</p>



<pre class="wp-block-code"><code>' NG例：B1が空白またはゼロ
=A1/B1        → #DIV/0!

' NG例：空の範囲でAVERAGE
=AVERAGE(C1:C5)  → C1:C5がすべて空白なら #DIV/0!</code></pre>



<p><strong>対処法</strong></p>



<p>分母がゼロかどうかをIF関数で事前にチェックするのが定番です。</p>



<pre class="wp-block-code"><code>' OK例：IF関数でゼロ除算を回避
=IF(B1=0, &quot;&quot;, A1/B1)

' OK例：IFERRORで一括処理
=IFERROR(A1/B1, &quot;&quot;)</code></pre>



<p>データがまだ入力途中のシートでは、あらかじめIFERROR関数を仕込んでおくとエラー表示を防げます。</p>



<h3 class="wp-block-heading"><span id="toc5">#VALUE!（バリュー）</span></h3>



<p><code>#VALUE!</code> は、関数や数式の引数に想定外の型（数値が必要な場所に文字列など）が渡されたときに表示されます。原因の幅が広いため、12種類の中でもっとも特定が難しいエラーです。</p>



<p><strong>よくある発生パターン</strong></p>



<pre class="wp-block-code"><code>' NG例：文字列と数値の足し算
=A1+B1        → A1に&quot;abc&quot;が入っていると #VALUE!

' NG例：日付関数に文字列
=DATE(2024,&quot;十二&quot;,1)  → 月に漢数字を指定すると #VALUE!</code></pre>



<p>見落としがちなのが、セルに全角スペースが入っているケースです。見た目は空白なのにExcelは「文字列が入っている」と判定するため、計算に使おうとすると <code>#VALUE!</code> になります。</p>



<p><strong>対処法</strong></p>



<p>以下の3点を順番に確認してみてください。</p>



<ul class="wp-block-list"><li>数値を指定する引数に文字列を渡していないか</li><li>参照先のセルにスペース（全角・半角）が混入していないか</li><li>参照先のセルが別のエラーを返していないか</li></ul>



<pre class="wp-block-code"><code>' OK例：VALUE関数で文字列を数値に変換
=A1 + VALUE(B1)</code></pre>



<p>原因が見つからないときは、数式を構成するセルを一つずつ確認して、想定外の値が入っていないかチェックするのが確実です。</p>



<h3 class="wp-block-heading"><span id="toc6">#REF!（リファレンス）</span></h3>



<p><code>#REF!</code> は、数式が参照しているセル・行・列が削除されたときに表示されます。もう存在しない場所を見にいっている状態です。</p>



<p><strong>よくある発生パターン</strong></p>



<pre class="wp-block-code"><code>' NG例：B列を削除した後の数式
=A1+#REF!     → 元は =A1+B1 だったが、B列削除で壊れた

' NG例：VLOOKUPの列番号が範囲外
=VLOOKUP(A1, B1:C10, 5, FALSE)  → 2列しかないのに5列目を指定 → #REF!</code></pre>



<p>コピー＆ペーストでセルを上書きしたときにも発生することがあります。とくに行や列を丸ごと削除する操作のあとは要注意です。</p>



<p><strong>対処法</strong></p>



<p>数式バーを確認して、引数に <code>#REF!</code> と表示されている箇所があれば、そこを正しいセル参照に書き直します。</p>



<pre class="wp-block-code"><code>' OK例：正しい列番号に修正
=VLOOKUP(A1, B1:C10, 2, FALSE)</code></pre>



<p>行や列を削除する前に、その範囲を参照している数式がないか確認する習慣をつけておくと予防できます。</p>



<h3 class="wp-block-heading"><span id="toc7">#NAME?（ネーム）</span></h3>



<p><code>#NAME?</code> は、Excelが数式の中に「知らない名前」を見つけたときに返すエラーです。関数名のスペルミスが原因であることが大半です。</p>



<p><strong>よくある発生パターン</strong></p>



<pre class="wp-block-code"><code>' NG例：関数名のスペルミス
=VLOKUP(A1, B1:C10, 2, FALSE)  → VLOOKUPのスペルミス → #NAME?

' NG例：文字列をダブルクォーテーションで囲み忘れ
=IF(A1=完了, &quot;OK&quot;, &quot;NG&quot;)        → 完了が名前として解釈される → #NAME?

' NG例：掛け算に「x」を使用
=A1 x B1                       → 演算子は「*」が正しい → #NAME?</code></pre>



<p><strong>対処法</strong></p>



<p>次のポイントを確認すると、ほとんどのケースで解決します。</p>



<ul class="wp-block-list"><li>関数名のスペルが正しいか（入力途中に表示される候補リストを活用する）</li><li>文字列がダブルクォーテーション（<code>"</code>）で囲まれているか</li><li>名前の定義を使っている場合、その名前が存在するか（[数式]タブ → [名前の管理]で確認）</li></ul>



<pre class="wp-block-code"><code>' OK例：正しいスペルと引用符
=VLOOKUP(A1, B1:C10, 2, FALSE)
=IF(A1=&quot;完了&quot;, &quot;OK&quot;, &quot;NG&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc8">#N/A（エヌエー）</span></h3>



<p><code>#N/A</code> は、検索関数で検索値が見つからなかったときに表示されるエラーです。VLOOKUPやXLOOKUP、MATCH関数でもっとも頻繁に発生します。</p>



<p><strong>よくある発生パターン</strong></p>



<pre class="wp-block-code"><code>' NG例：検索値がテーブルに存在しない
=VLOOKUP(&quot;Z999&quot;, A1:B100, 2, FALSE)  → Z999が見つからない → #N/A

' NG例：検索値の前後にスペースが混入
=VLOOKUP(A1, D1:E100, 2, FALSE)      → A1が&quot;東京 &quot;（末尾スペース）→ #N/A</code></pre>



<p>データのインポート時に末尾スペースが紛れ込むケースは非常に多いです。見た目では判別できないため、TRIM関数で前後のスペースを除去してから検索するのがおすすめです。</p>



<p><strong>対処法</strong></p>



<pre class="wp-block-code"><code>' OK例：TRIM関数でスペースを除去してから検索
=VLOOKUP(TRIM(A1), D1:E100, 2, FALSE)

' OK例：IFNAで#N/Aだけをキャッチ
=IFNA(VLOOKUP(A1, D1:E100, 2, FALSE), &quot;該当なし&quot;)</code></pre>



<p><code>#N/A</code> の処理には<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>よりも<a href="https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/">IFNA</a>を使うのがベターです。IFNAなら <code>#N/A</code> 以外のエラー（数式のバグ）はそのまま表示されるため、問題を見逃しにくくなります。</p>



<h3 class="wp-block-heading"><span id="toc9">#NUM!（ナンバー）</span></h3>



<p><code>#NUM!</code> は、数式の計算結果がExcelで扱える数値の範囲を超えたとき、または関数が解を見つけられなかったときに表示されます。</p>



<p><strong>よくある発生パターン</strong></p>



<pre class="wp-block-code"><code>' NG例：負の数の平方根
=SQRT(-4)     → 実数の範囲では計算不可 → #NUM!

' NG例：0以下の対数
=LOG(0)       → 対数は正の数のみ → #NUM!

' NG例：LARGE関数で範囲外の順位
=LARGE(A1:A5, 10)  → 5個しかないのに10番目を指定 → #NUM!</code></pre>



<p><strong>対処法</strong></p>



<p>引数に渡している値が、その関数の許容範囲内かどうかを確認します。</p>



<pre class="wp-block-code"><code>' OK例：ABS関数で絶対値にしてからSQRT
=SQRT(ABS(A1))

' OK例：IF関数で事前チェック
=IF(A1&gt;0, LOG(A1), &quot;計算不可&quot;)</code></pre>



<p>IRR関数やRATE関数で <code>#NUM!</code> が出る場合は、推定値（guess）を引数で指定すると解決することがあります。</p>



<h3 class="wp-block-heading"><span id="toc10">#NULL!（ヌル）</span></h3>



<p><code>#NULL!</code> は、セル範囲の指定でスペース（交差演算子）を誤って使ったときに表示されるエラーです。12種類の中ではもっとも発生頻度が低いエラーですが、原因を知らないと戸惑いやすいエラーでもあります。</p>



<p>Excelの数式では、半角スペースは「2つの範囲の共通部分（交差部分）を返す」という意味を持ちます。2つの範囲に共通部分がないと <code>#NULL!</code> になります。</p>



<p><strong>よくある発生パターン</strong></p>



<pre class="wp-block-code"><code>' NG例：カンマの代わりにスペースで区切ってしまった
=SUM(A1:A5 B1:B5)    → 共通部分がない → #NULL!

' NG例：コロンを入力し忘れた
=SUM(A1 A5)           → A1:A5と書くべきところ → #NULL!</code></pre>



<p><strong>対処法</strong></p>



<p>ほとんどの場合、カンマ（<code>,</code>）またはコロン（<code>:</code>）の入力忘れが原因です。</p>



<pre class="wp-block-code"><code>' OK例：カンマで複数範囲を指定
=SUM(A1:A5, B1:B5)

' OK例：コロンで連続範囲を指定
=SUM(A1:A5)</code></pre>



<h2 class="wp-block-heading"><span id="toc11">「####」はエラー値ではない</span></h2>



<p>セルに <code>####</code> と表示されると一見エラーに見えますが、これはエラー値ではありません。セルの列幅が狭すぎて内容を表示しきれないときに出る「表示上の問題」です。</p>



<p><strong>発生する主なケース</strong></p>



<ul class="wp-block-list"><li>列幅に対して数値や日付が長すぎる</li><li>日付・時刻の計算結果が負の値になっている（例: 終了時刻 &#8211; 開始時刻がマイナス）</li></ul>



<p><strong>対処法</strong></p>



<p>列幅の問題であれば、該当列のヘッダー右端をダブルクリックするだけで自動調整されます。</p>



<pre class="wp-block-code"><code>手順: 列ヘッダー（A, B, C...）の右端の境界線をダブルクリック
→ セルの内容に合わせて列幅が自動調整される</code></pre>



<p>負の日付値が原因の場合は、数式の計算ロジック自体を見直す必要があります。たとえば <code>=B1-A1</code> で開始時刻が終了時刻より大きいと負の値になるため、IF関数で順序をチェックしましょう。</p>



<h2 class="wp-block-heading"><span id="toc12">モダンExcel限定エラー4種（Microsoft 365 / Excel 2021以降）</span></h2>



<p>ここからはMicrosoft 365およびExcel 2021以降で追加された4つのエラー値です。動的配列数式やリンクデータ型に関連するもので、古いバージョンのExcelでは表示されません。</p>



<h3 class="wp-block-heading"><span id="toc13">#SPILL!（スピル）</span></h3>



<p><code>#SPILL!</code> は、動的配列数式の結果が複数セルに展開（スピル）されようとしたとき、展開先に障害物があると表示されるエラーです。</p>



<p><strong>よくある発生パターン（6種の原因）</strong></p>



<pre class="wp-block-code"><code>' NG例：スピル先にデータが入っている
=FILTER(A1:A10, B1:B10=&quot;東京&quot;)
→ 結果が3行に展開されるが、展開先のセルに既存データがある → #SPILL!

' NG例：結合セルがスピル範囲内にある
→ 結合セルは複数セルを占有するため、スピルの障害になる

' NG例：テーブル内でスピル数式を使用
→ Excelのテーブル機能はスピルに非対応</code></pre>



<p><strong>対処法</strong></p>



<p>エラーセルをクリックすると、スピル先の範囲が点線で表示されます。その範囲内にある既存データや結合セルを移動・解除してください。</p>



<pre class="wp-block-code"><code>' OK例：スピル先を空にしてから数式を入力
=FILTER(A1:A10, B1:B10=&quot;東京&quot;)
→ 展開先が空であれば正常にスピルされる</code></pre>



<p>FILTER、SORT、UNIQUE、SEQUENCE、RANDARRAYなどの<a href="https://mashukabu.com/excel-function-howto-use-filter/">動的配列関数</a>を使うときは、結果が展開される十分なスペースを確保しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc14">#CALC!（カルク）</span></h3>



<p><code>#CALC!</code> は、配列数式の計算結果が空の配列になったときに表示されます。もっとも多いのは、FILTER関数で条件に一致するデータが1件もないケースです。</p>



<p><strong>よくある発生パターン</strong></p>



<pre class="wp-block-code"><code>' NG例：FILTER関数で一致ゼロ件
=FILTER(A1:A10, B1:B10=&quot;該当なし&quot;)
→ 条件に合うデータがない → 空の配列 → #CALC!

' NG例：LAMBDAの呼び出し忘れ
=LAMBDA(x, x*2)    → 引数を渡さず定義だけ → #CALC!</code></pre>



<p><strong>対処法</strong></p>



<p>FILTER関数の場合は、第3引数に「一致ゼロ件のときの代替値」を指定できます。</p>



<pre class="wp-block-code"><code>' OK例：FILTER関数の第3引数で代替値を指定
=FILTER(A1:A10, B1:B10=&quot;東京&quot;, &quot;該当データなし&quot;)
→ 一致ゼロ件のとき「該当データなし」と表示される</code></pre>



<p>この第3引数はFILTER関数の便利な機能なので、ぜひ覚えておいてください。</p>



<h3 class="wp-block-heading"><span id="toc15">#FIELD!（フィールド）</span></h3>



<p><code>#FIELD!</code> は、リンクデータ型（株価データ型・地理データ型）で、指定したフィールドが存在しないときに表示されるエラーです。</p>



<p><strong>よくある発生パターン</strong></p>



<pre class="wp-block-code"><code>' NG例：存在しないフィールドを参照
=A1.人口    → A1が「株価」データ型で「人口」フィールドがない → #FIELD!</code></pre>



<p><strong>対処法</strong></p>



<p>セルをクリックしてデータ型のカードを開き、利用可能なフィールド一覧から正しいフィールド名を確認します。データ型を「地理」から「株価」に設定し直す必要がある場合もあります。</p>



<h3 class="wp-block-heading"><span id="toc16">#GETTING_DATA（ゲッティングデータ）</span></h3>



<p><code>#GETTING_DATA</code> は、外部ソースからデータを取得中であることを示す一時的な表示です。厳密にはエラーではなく、データの読み込みが完了すれば自動的に消えます。</p>



<p><strong>対処法</strong></p>



<p>基本的には待つだけで解消されます。数分経っても消えない場合は、以下を試してみてください。</p>



<ul class="wp-block-list"><li>ネットワーク接続を確認する</li><li><code>Ctrl + Alt + F9</code> で強制再計算を実行する</li><li>ファイルを保存してExcelを再起動する</li></ul>



<h2 class="wp-block-heading"><span id="toc17">エラー処理関数の使い分け</span></h2>



<p>エラーの原因を直すのが最善ですが、「データ未入力の段階ではエラーが出るのは仕方ない」というケースもあります。そんなときはエラー処理関数を使って、エラー表示を制御しましょう。</p>



<p>以下がエラー処理関数の使い分け早見表です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>キャッチするエラー</th><th>対応バージョン</th><th>使いどころ</th></tr></thead><tbody><tr><td>IFERROR</td><td>基本7種すべて</td><td>Excel 2007以降</td><td>エラーを空白や代替値に置き換えたいとき</td></tr><tr><td>IFNA</td><td><code>#N/A</code> のみ</td><td>Excel 2013以降</td><td>検索関数の「見つからない」だけを処理したいとき</td></tr><tr><td>ISERROR</td><td>基本7種すべて（TRUE/FALSE）</td><td>全バージョン</td><td>IF関数や条件付き書式と組み合わせたいとき</td></tr><tr><td>ISERR</td><td><code>#N/A</code> 以外の6種（TRUE/FALSE）</td><td>全バージョン</td><td><code>#N/A</code> を正常値として残したいとき</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">IFERROR &#8212; 全エラーを一括処理</span></h3>



<p><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>は、数式がエラーを返した場合に代替の値を表示する関数です。もっとも手軽で、実務で使用頻度が高い関数です。</p>



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

' 使用例：割り算のエラーを空白にする
=IFERROR(A1/B1, &quot;&quot;)

' 使用例：VLOOKUPのエラーに代替テキスト
=IFERROR(VLOOKUP(A1, D:E, 2, FALSE), &quot;未登録&quot;)</code></pre>



<p>便利な関数ですが、すべてのエラーを一括でキャッチしてしまう点には注意が必要です。数式にバグがあっても気づけなくなるリスクがあるため、「なぜエラーが出るのか」を理解したうえで使いましょう。</p>



<h3 class="wp-block-heading"><span id="toc19">IFNA &#8212; #N/Aだけを処理</span></h3>



<p>IFNA関数は、<code>#N/A</code> エラーだけをキャッチする関数です。<a href="https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/">IF系関数の使い分け</a>の中でも、検索関数とセットで使うのに最適です。</p>



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

' 使用例：VLOOKUPの検索ミスだけを処理
=IFNA(VLOOKUP(A1, D:E, 2, FALSE), &quot;該当なし&quot;)</code></pre>



<p>IFERRORとの違いは、<code>#N/A</code> 以外のエラー（<code>#REF!</code> や <code>#VALUE!</code> など）はそのまま表示される点です。つまり、数式のバグに気づきやすくなります。検索関数の「見つからない」を処理したいだけなら、IFERRORよりもIFNAを選ぶのがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc20">ISERROR / ISERR &#8212; IF関数と組み合わせた条件分岐</span></h3>



<p><a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数</a>と<a href="https://mashukabu.com/excel-function-howto-use-iserr/">ISERR関数</a>は、セルがエラーかどうかをTRUE/FALSEで返す関数です。単体では使わず、IF関数や条件付き書式と組み合わせて使います。</p>



<pre class="wp-block-code"><code>' ISERROR：基本7種すべてを検出
=IF(ISERROR(A1/B1), &quot;エラー&quot;, A1/B1)

' ISERR：#N/A以外の6種を検出
=IF(ISERR(A1/B1), &quot;計算エラー&quot;, A1/B1)</code></pre>



<p>条件付き書式のルール数式欄ではIFERROR関数が使えないため、エラーセルを色分けしたい場合にはISERROR関数が必須になります。</p>



<pre class="wp-block-code"><code>' 条件付き書式の数式例：エラーセルを赤くする
=ISERROR(A1)</code></pre>



<p><a href="https://mashukabu.com/excel-function-howto-use-iserr/">ISERR関数</a>は <code>#N/A</code> を検出しません。VLOOKUP等の検索結果で「見つからない」を正常扱いにしたい場面で活用できます。</p>



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



<p>Excelのエラー値12種類の原因と対処法を一覧で解説しました。最後にポイントを整理します。</p>



<ul class="wp-block-list"><li><strong>基本7種</strong>（<code>#DIV/0!</code>・<code>#VALUE!</code>・<code>#REF!</code>・<code>#NAME?</code>・<code>#N/A</code>・<code>#NUM!</code>・<code>#NULL!</code>）は全バージョン共通。原因のほとんどは「引数の型ミス」「参照先の消失」「スペルミス」のいずれか</li><li><strong><code>####</code> はエラーではない</strong>。列幅を広げるだけで解決する</li><li><strong>モダンエラー4種</strong>（<code>#SPILL!</code>・<code>#CALC!</code>・<code>#FIELD!</code>・<code>#GETTING_DATA</code>）はMicrosoft 365 / Excel 2021以降で発生する</li><li>エラー処理には<strong>IFNA > IFERROR</strong>の優先順位で検討する。IFNAなら数式バグを見逃しにくい</li><li>条件付き書式でエラーを判定するには<strong>ISERROR関数</strong>を使う</li></ul>



<p>エラーの種類と原因を押さえておくと、トラブルが発生しても慌てず対処できます。この一覧表をブックマークしておいて、困ったときにすぐ確認してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-error-value-list/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
