<?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>Sat, 22 Aug 2026 00:51:15 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>IFERROR &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Excel #VALUE!エラーの直し方｜症状別早見表で即特定</title>
		<link>https://mashukabu.com/excel-value-error/</link>
					<comments>https://mashukabu.com/excel-value-error/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 28 May 2026 11:16:53 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[IFERROR]]></category>
		<category><![CDATA[ISTEXT]]></category>
		<category><![CDATA[VALUEエラー]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[XLOOKUP]]></category>
		<category><![CDATA[エラー対処]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=7121</guid>

					<description><![CDATA[Excelで#VALUE!エラーが出たら、症状から原因を一発で特定できる早見表で解決。VLOOKUP・SUMIF・DATEDIF・XLOOKUPなど関数別の対処法から、数式の検証・F9キーでの原因特定、IFERRORによる予防設計まで、症状別にすぐ使える手順でわかりやすく解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelで数式を入れたのに、セルに <code>#VALUE!</code> の文字だけが出ていませんか。</p>



<p class="wp-block-paragraph">次のような症状に心当たりがあれば、この記事はそのまま使えます。</p>



<ul class="wp-block-list"><li>見た目は数字なのに、足し算しただけで <code>#VALUE!</code> になる</li><li>空欄にしか見えないセルを計算に入れると <code>#VALUE!</code> が出る</li><li>CSVから貼り付けた日付をDATEDIFに渡すと <code>#VALUE!</code> になる</li><li>XLOOKUPが <code>#N/A</code> ではなく <code>#VALUE!</code> を返してくる</li></ul>



<p class="wp-block-paragraph">原因が見えないまま数式を書き換え続けると、直したはずの箇所がまた崩れますよね。</p>



<p class="wp-block-paragraph">安心してください。<code>#VALUE!</code> が知らせているのは「データの型が合っていない」という1点だけ。症状別と関数別の早見表を先に用意したので、気になる行から読み飛ばして構いません。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>対応バージョン</strong>: <code>#VALUE!</code> 自体は Microsoft 365・Excel 2021・2019・2016・Excel for the web のどれでも同じように出ます。ただし後述の「数式の検証」には版差あり。公式の操作手順が Excel for Windows（デスクトップ版）前提で書かれており、Web版のリボンには見当たりません。Web版の方はISTEXT・LENを使った診断に読み替えてください。</p></blockquote>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのVALUEエラー（#VALUE!）とは｜症状から原因を探す早見表</a><ol><li><a href="#toc2" tabindex="0">#VALUE!の意味（「型が合っていない」というサイン）</a></li><li><a href="#toc3" tabindex="0">症状から探す早見表（見た目・操作から一発で探す）</a></li><li><a href="#toc4" tabindex="0">関数別早見表（VLOOKUP・SUMIF・DATEDIF・XLOOKUPほか）</a></li></ol></li><li><a href="#toc5" tabindex="0">原因別の診断と直し方【5パターン】</a><ol><li><a href="#toc6" tabindex="0">パターン1：文字列が数値計算に混ざっている</a></li><li><a href="#toc7" tabindex="0">パターン2：スペースや非表示文字が混ざっている</a></li><li><a href="#toc8" tabindex="0">パターン3：日付や時刻の型が合っていない（DATEDIFのVALUEエラーもここ）</a></li><li><a href="#toc9" tabindex="0">パターン4：範囲や配列のサイズが合っていない（XLOOKUPのVALUEエラーもここ）</a></li><li><a href="#toc10" tabindex="0">パターン5：関数の引数の型が違っている（VLOOKUP・SUMIFの引数ミスもここ）</a></li></ol></li><li><a href="#toc11" tabindex="0">原因の箇所を特定する診断テクニック</a><ol><li><a href="#toc12" tabindex="0">数式の検証で1ステップずつ追う（デスクトップ版向け）</a></li><li><a href="#toc13" tabindex="0">F9キーで数式の一部だけを計算してみる</a></li><li><a href="#toc14" tabindex="0">ISTEXTとLENでセルの中身を確認する</a></li></ol></li><li><a href="#toc15" tabindex="0">#VALUE!を防ぐ予防的な数式設計</a><ol><li><a href="#toc16" tabindex="0">IFERRORでエラー時の表示を整える</a></li><li><a href="#toc17" tabindex="0">ISTEXTで入力をチェックする</a></li><li><a href="#toc18" tabindex="0">取り込んだデータは先にクレンジングする</a></li><li><a href="#toc19" tabindex="0">表示形式で単位を扱う（数値セルに「個」「円」を直接入力しない）</a></li></ol></li><li><a href="#toc20" tabindex="0">#VALUE!エラーでよくある質問</a><ol><li><a href="#toc21" tabindex="0">SUM関数なら#VALUE!は出ないのですか？</a></li><li><a href="#toc22" tabindex="0">VLOOKUPで#VALUE!が出るのはなぜですか？</a></li><li><a href="#toc23" tabindex="0">全角スペースなのに見た目で気づけないのはなぜですか？</a></li><li><a href="#toc24" tabindex="0">IFERRORで隠すのは良くないのですか？</a></li><li><a href="#toc25" tabindex="0">エラーを判定だけしたい場合はどうすればいいですか？</a></li></ol></li><li><a href="#toc26" tabindex="0">まとめ｜#VALUE!は早見表で症状から見つけて直す</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのVALUEエラー（#VALUE!）とは｜症状から原因を探す早見表</span></h2>



<h3 class="wp-block-heading"><span id="toc2">#VALUE!の意味（「型が合っていない」というサイン）</span></h3>



<p class="wp-block-paragraph"><code>#VALUE!</code>（読み方はバリュー）は、数式や関数に「想定していない種類のデータ」が渡されたときに出るエラーです。</p>



<p class="wp-block-paragraph">Excelのデータには、大きく「数値」と「文字列」という型があります。足し算や掛け算は数値どうしで行う計算。計算できない文字が混ざると、Excelは合図として <code>#VALUE!</code> を返します。</p>



<p class="wp-block-paragraph">大事なのは、このエラーが<strong>場所ではなく種類しか教えてくれない</strong>という点。似た見た目のエラーと混同すると、調べる方向ごとズレてしまいます。</p>



<p class="wp-block-paragraph"><code>#N/A</code> は「検索値が見つからない」、<code>#REF!</code> は「参照先が無効」、<code>#NUM!</code> は「数値として計算できない」というサイン。どれも <code>#VALUE!</code> とは原因が別です。全体像は<a href="https://mashukabu.com/excel-error-value-list/">Excelエラー値12種類の原因と対処法一覧</a>で確認できます。</p>



<h3 class="wp-block-heading"><span id="toc3">症状から探す早見表（見た目・操作から一発で探す）</span></h3>



<p class="wp-block-paragraph">いま画面に起きていることを、下の表から探してください。疑う原因と読むべきセクションが決まります。</p>



<figure class="wp-block-table"><table><thead><tr><th>いま起きている症状</th><th>疑う原因</th><th>ジャンプ先</th></tr></thead><tbody><tr><td>セルには数字が見えているのに、<code>=A1+B1</code> の足し算だけで <code>#VALUE!</code> になる</td><td>数字に見えて中身が文字列</td><td>パターン1</td></tr><tr><td>引き算だけがエラーになる。マイナス記号のあたりが怪しい</td><td>マイナス記号が別の記号に化けている</td><td>パターン1</td></tr><tr><td>空欄にしか見えないセルを計算に入れた瞬間 <code>#VALUE!</code> が出る</td><td>スペースや非表示文字の混入</td><td>パターン2</td></tr><tr><td>Webページや基幹システムからコピーした値だけがエラーになる</td><td>ノーブレークスペースなど特殊な空白</td><td>パターン2</td></tr><tr><td>CSVから貼り付けた日付を計算に使うとエラー。日付が左揃えで表示されている</td><td>日付が文字列のまま保存されている</td><td>パターン3</td></tr><tr><td>DATEDIFで年齢や勤続年数を出そうとすると <code>#VALUE!</code> になる</td><td>開始日・終了日が日付として認識されていない</td><td>パターン3</td></tr><tr><td>XLOOKUPが <code>#N/A</code> ではなく <code>#VALUE!</code> を返してくる</td><td>検索範囲と戻り範囲のサイズ違い</td><td>パターン4</td></tr><tr><td>SUMPRODUCTや範囲どうしの計算でエラーになる</td><td>配列の行数・列数がそろっていない</td><td>パターン4</td></tr><tr><td>VLOOKUPでエラー。列番号を指定したところが怪しい</td><td>第3引数（列番号）の指定ミス</td><td>パターン5</td></tr><tr><td>数式は正しそうなのに、参照先のセルがすでにエラーになっている</td><td>別のエラーが連鎖している</td><td>パターン5</td></tr><tr><td>「10個」と単位付きで入力したセルを計算に使うとエラーになる</td><td>数値セルに単位の文字を直接入力している</td><td>予防設計</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">症状が2つ以上当てはまるときは、表の上から順に確認するのが早道。とくに多いのはパターン1とパターン2です。</p>



<p class="wp-block-paragraph">なお <code>#VALUE!</code> すら出ず、数式の文字がそのまま表示される症状なら原因は別の場所。そちらは<a href="https://mashukabu.com/excel-formula-not-calculating/">Excel 計算されない原因と直し方｜症状別早見表で即解決</a>にまとめました。</p>



<h3 class="wp-block-heading"><span id="toc4">関数別早見表（VLOOKUP・SUMIF・DATEDIF・XLOOKUPほか）</span></h3>



<p class="wp-block-paragraph"><code>#VALUE!</code> は「関数名＋エラー名」で検索されることの多いエラー。取り違えが起きやすいのは、同じ関数が状況によって別のエラーを返すケースです。</p>



<p class="wp-block-paragraph">右の列も合わせて見てください。エラー名を取り違えると、まったく違う場所を直すことになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th><code>#VALUE!</code> になりやすいケース</th><th>別のエラーになるケース（取り違え注意）</th><th>ジャンプ先</th></tr></thead><tbody><tr><td>VLOOKUP</td><td>第3引数（列番号）に1未満の数を指定した</td><td>列番号が範囲の列数を超えると <code>#REF!</code> ／ 完全一致で見つからないと <code>#N/A</code></td><td>パターン5</td></tr><tr><td>XLOOKUP</td><td>検索範囲と戻り範囲の行数・列数が一致しない</td><td>検索値が見つからないと <code>#N/A</code> ／ 展開先にデータがあると <code>#SPILL!</code></td><td>パターン4</td></tr><tr><td>DATEDIF</td><td>開始日・終了日が日付として認識されない文字列</td><td>開始日が終了日より後、単位文字列が無効だと <code>#NUM!</code></td><td>パターン3</td></tr><tr><td>SUM</td><td>文字列は無視されるため出にくい。範囲内に別のエラー値があるとそのまま伝わる</td><td>—</td><td>よくある質問</td></tr><tr><td>SUMIF</td><td>条件範囲・合計範囲に他のエラー値が混ざっているとき</td><td>—</td><td>パターン5</td></tr><tr><td>IF</td><td>参照先のセルがエラー／分岐の中で文字列と数値を計算している</td><td>ネストしたVLOOKUPが「見つからない」場合は <code>#N/A</code></td><td>パターン5</td></tr><tr><td>VALUE</td><td>数値として解釈できない文字列を渡した</td><td>—</td><td>パターン1</td></tr><tr><td>DATEVALUE・TIMEVALUE</td><td>日付・時刻として解釈できない文字列を渡した</td><td>—</td><td>パターン3</td></tr><tr><td>SUMPRODUCT</td><td>引数に渡した配列の行数・列数がそろっていない</td><td>—</td><td>パターン4</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">XLOOKUPは範囲サイズの不一致なら <code>#VALUE!</code>、範囲がそろっているのに見つからないなら <code>#N/A</code>。症状別の対処は<a href="https://mashukabu.com/excel-function-howto-use-xlookup/">6症状で直すXLOOKUP関数の使い方｜別シート参照・空白が0になる問題まで</a>で扱っています。</p>



<p class="wp-block-paragraph">DATEDIFは日付が文字列なら <code>#VALUE!</code>、日付は正しいのに順番や単位が変なら <code>#NUM!</code> です。使い方そのものは<a href="https://mashukabu.com/excel-function-howto-use-datedif/">ExcelのDATEDIF関数の使い方｜年齢・勤続年数を計算</a>をどうぞ。</p>



<h2 class="wp-block-heading"><span id="toc5">原因別の診断と直し方【5パターン】</span></h2>



<p class="wp-block-paragraph">ここからは5つの原因を「症状」「原因」「直し方」の順に見ていきます。早見表で当たりを付けたところから読み進めてください。</p>



<h3 class="wp-block-heading"><span id="toc6">パターン1：文字列が数値計算に混ざっている</span></h3>



<p class="wp-block-paragraph"><strong>症状</strong>: <code>=A1+B1</code> のような単純な計算なのに <code>#VALUE!</code> が出ます。セルの見た目は数字なのに計算できません。</p>



<p class="wp-block-paragraph"><strong>原因</strong>: 算術演算子（<code>+</code> <code>-</code> <code>*</code> <code>/</code>）は、数値として読み取れない文字が混ざると計算をあきらめます。A1が <code>100</code>、B1が <code>abc</code> ならエラーです。</p>



<pre class="wp-block-code"><code>=A1+B1</code></pre>



<p class="wp-block-paragraph"><code>200</code> のような数字だけの文字列は、足し算では数値として読み取られることも。<strong>見た目が数字なのにエラーになるなら、単位の文字・全角スペース・非表示文字あたりが混ざっているサイン</strong>です。</p>



<p class="wp-block-paragraph"><strong>診断方法</strong></p>



<p class="wp-block-paragraph">ISTEXT関数（値が文字列ならTRUEを返す関数）で中身の型が分かります。書式を変えていないセルなら、数値は右揃え、文字列は左揃えで表示されるのも手がかり。</p>



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



<p class="wp-block-paragraph"><strong>直し方その1：SUM関数に置き換える</strong></p>



<p class="wp-block-paragraph">合計を出したいだけなら、<code>+</code> をやめてSUM関数にするのが手軽。関数の多くは範囲内の文字列を無視して、数値だけを計算します。</p>



<pre class="wp-block-code"><code>=SUM(A1:B1)</code></pre>



<p class="wp-block-paragraph">ただし万能ではありません。文字列になっている数字も一緒に無視されるため、エラーは消えても合計が実態とズレることがあります。</p>



<p class="wp-block-paragraph"><strong>直し方その2：VALUE関数で数値に変換する</strong></p>



<p class="wp-block-paragraph"><code>1234</code> のように数値を表す文字列なら、VALUE関数（文字列を数値に変換する関数）で型をそろえられます。</p>



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



<p class="wp-block-paragraph"><code>$1,000</code> のような通貨記号付きの文字列も、公式の使用例では変換できるとされています。ただし認識できる書式は地域設定で変わる可能性があり、環境次第では期待どおりにならないことも。</p>



<p class="wp-block-paragraph">使いどころは<a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数の使い方｜文字列を数値に変換してSUMやVLOOKUPのエラーを解消する</a>にまとめました。区切り記号を自分で指定するなら<a href="https://mashukabu.com/excel-function-howto-use-numbervalue/">ExcelのNUMBERVALUE関数の使い方｜文字列を数値に変換する方法</a>の書き方が向いています。</p>



<p class="wp-block-paragraph"><strong>直し方その3：元データごと数値に直す</strong></p>



<p class="wp-block-paragraph">数式で毎回変換するより、列そのものを数値に戻したほうが後で楽なケースも多いもの。手順は<a href="https://mashukabu.com/excel-number-stored-as-text-convert/">Excelの文字列数値を一括変換する4つの方法｜「数値が文字列として保存されています」を解除</a>で追えます。</p>



<p class="wp-block-paragraph"><strong>引き算だけエラーになるとき</strong></p>



<p class="wp-block-paragraph">公式は原因の1つとして、マイナス記号が別の記号に置き換わっているケースを挙げています。数式バーで記号を選び直し、キーボードの <code>-</code> を入力し直してみてください。</p>



<h3 class="wp-block-heading"><span id="toc7">パターン2：スペースや非表示文字が混ざっている</span></h3>



<p class="wp-block-paragraph"><strong>症状</strong>: 見た目は空欄なのに、そのセルを計算に入れた瞬間 <code>#VALUE!</code> が出ます。中身を消したつもりでもエラーが消えません。</p>



<p class="wp-block-paragraph"><strong>原因</strong>: 空白に見えて、実際には文字が入っています。公式も「実際にはセルは空白ではないのに、空白に見えることがあります」と説明しているところ。セル内のアポストロフィ1つでもこの状態になります。</p>



<p class="wp-block-paragraph">全角スペース・半角スペース・改行・システム由来の制御文字は、すべて文字列。見た目が空欄でも、計算に使えばエラーになるわけです。</p>



<p class="wp-block-paragraph"><strong>診断方法：LENとUNICODEで正体を突き止める</strong></p>



<p class="wp-block-paragraph">LEN関数（文字数を返す関数）を使えば、空欄に見えるセルの中身を数で確かめられます。</p>



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



<p class="wp-block-paragraph">上の式が1以上なら、何かしらの文字が入っている証拠。下の式は余分な半角スペースの数を返します。ただし<strong>全角スペースやノーブレークスペースはTRIMで除去されないため、下の式では検出できません</strong>。</p>



<p class="wp-block-paragraph">そこまで見分けたいときは、UNICODE関数（文字のコード番号を返す関数）の出番。</p>



<pre class="wp-block-code"><code>=UNICODE(LEFT(A1,1))</code></pre>



<p class="wp-block-paragraph">先頭1文字のコード番号が返ります。<code>32</code> なら半角スペース、<code>12288</code> なら全角スペース、<code>160</code> ならノーブレークスペース（Webページのコピーに紛れ込みやすい特殊な空白）です。</p>



<p class="wp-block-paragraph">似た関数のCODEは環境差を受けるため、判定にはUNICODEを使いましょう。</p>



<p class="wp-block-paragraph"><strong>直し方その1：TRIMとSUBSTITUTEを組み合わせる</strong></p>



<p class="wp-block-paragraph">余分なスペースの除去といえばTRIM関数。ただし対象は半角スペースだけです。全角スペースやノーブレークスペースが原因なら、SUBSTITUTE関数（指定した文字を置き換える関数）で半角に変換してからTRIMに渡します。</p>



<pre class="wp-block-code"><code>=TRIM(SUBSTITUTE(A1,&quot;　&quot;,&quot; &quot;))
=TRIM(SUBSTITUTE(A1,CHAR(160),&quot; &quot;))</code></pre>



<p class="wp-block-paragraph">TRIMの守備範囲は<a href="https://mashukabu.com/excel-function-howto-use-trim/">ExcelのTRIM関数の使い方｜余分なスペースを一括削除する方法</a>で詳しく扱っています。</p>



<p class="wp-block-paragraph"><strong>直し方その2：CLEANで制御文字を落とす</strong></p>



<p class="wp-block-paragraph">改行やタブが混ざっているなら、CLEAN関数（印刷できない制御文字を削除する関数）の出番。ただし消せるのはコード0〜31の制御文字だけです。</p>



<p class="wp-block-paragraph">ノーブレークスペースも全角スペースも通常の半角スペースも、CLEANでは消えません。ここが実務で誤解されやすいポイント。取りきれない文字はSUBSTITUTEで個別に指定します。</p>



<p class="wp-block-paragraph">取り込みデータをまとめて掃除してから数値化するなら、次の形が定番です。</p>



<pre class="wp-block-code"><code>=VALUE(TRIM(SUBSTITUTE(SUBSTITUTE(CLEAN(A1),CHAR(160),&quot; &quot;),&quot;　&quot;,&quot; &quot;)))</code></pre>



<p class="wp-block-paragraph">長く見えますが、やっているのは内側から順の置き換えだけ。</p>



<ul class="wp-block-list"><li>CLEANで制御文字を落とす</li><li>SUBSTITUTEでノーブレークスペースと全角スペースを半角に変える</li><li>TRIMで前後の余白を削る</li><li>VALUEで数値に変換する</li></ul>



<p class="wp-block-paragraph"><strong>直し方その3：検索と置換でまとめて消す</strong></p>



<p class="wp-block-paragraph">数式を増やしたくないなら、<code>Ctrl</code> + <code>H</code> の「検索と置換」が手軽です。「検索する文字列」にスペースを1つ入力し、「置換後の文字列」は空欄のまま「すべて置換」をクリック。全角スペースなら、入力するスペースを全角に変えてください。</p>



<p class="wp-block-paragraph">全角の数字が原因のときは、<a href="https://mashukabu.com/excel-function-howto-use-asc/">ExcelのASC関数の使い方｜全角を半角に一括変換する方法</a>で表記をそろえる手もあります。</p>



<h3 class="wp-block-heading"><span id="toc8">パターン3：日付や時刻の型が合っていない（DATEDIFのVALUEエラーもここ）</span></h3>



<p class="wp-block-paragraph"><strong>症状</strong>: 他システムやCSVから取り込んだ日付を計算に使うと <code>#VALUE!</code> になります。DATEDIFで年齢や勤続年数を出そうとしてエラー、というのも典型的な入り口。</p>



<p class="wp-block-paragraph"><strong>原因</strong>: その日付が「日付のように見えるテキスト」になっています。Excelは日付をシリアル値（1900年1月1日を1として数える連番）で管理する仕組み。テキストのままでは計算対象になりません。</p>



<p class="wp-block-paragraph"><strong>診断方法</strong></p>



<p class="wp-block-paragraph">書式を変えていないセルなら、正しい日付は右揃え、テキストの日付は左揃えで表示されます。</p>



<p class="wp-block-paragraph">確実に見るなら、表示形式をいったん「標準」に変えてみてください。<code>45900</code> のような5桁の数値になればシリアル値、日付の文字が残ればテキストです。</p>



<p class="wp-block-paragraph"><strong>直し方その1：DATEVALUEでシリアル値に変換する</strong></p>



<p class="wp-block-paragraph">テキストの日付は、DATEVALUE関数（文字列の日付をシリアル値に変換する関数）で型をそろえられます。</p>



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



<p class="wp-block-paragraph">返るのは数値なので、結果のセルには日付の表示形式を設定してください。逆に、すでに日付として認識されているセルへ使うとエラーになることも。使い分けは<a href="https://mashukabu.com/excel-function-howto-use-datevalue/">ExcelのDATEVALUE関数の使い方｜文字列の日付をシリアル値に変換する方法</a>を参考にどうぞ。</p>



<p class="wp-block-paragraph"><strong>直し方その2：区切り位置で列ごと日付に変える</strong></p>



<p class="wp-block-paragraph">件数が多いときは、列まるごと変換したほうが速いですよね。デスクトップ版なら次の手順です。</p>



<ol class="wp-block-list"><li>日付が入っている列を選択する</li><li>「データ」タブの「区切り位置」をクリックする</li><li>ウィザードを「次へ」で進める</li><li>3画面目の「列のデータ形式」で「日付」を選ぶ</li><li>「完了」をクリックする</li></ol>



<p class="wp-block-paragraph">バージョンによっては「テキストから列へ」という名前ですが、中身は同じウィザード。DATE関数で日付を組み立てるときも、年・月・日の引数はすべて数値です。全角数字や漢数字を渡さないよう気をつけてください。</p>



<h3 class="wp-block-heading"><span id="toc9">パターン4：範囲や配列のサイズが合っていない（XLOOKUPのVALUEエラーもここ）</span></h3>



<p class="wp-block-paragraph"><strong>症状</strong>: 複数の範囲を組み合わせる数式で <code>#VALUE!</code> が出ます。1つ1つの範囲は正しいのに、組み合わせた途端にエラーになるのが特徴。</p>



<p class="wp-block-paragraph"><strong>原因</strong>: 対応させるべき範囲どうしで、行数や列数がそろっていません。Excelは「1行目どうし、2行目どうし」と対応付けて計算するため、数が合わないと処理できないわけです。</p>



<p class="wp-block-paragraph"><strong>XLOOKUPの場合</strong></p>



<p class="wp-block-paragraph">検索範囲と戻り範囲の行数・列数が一致しないと <code>#VALUE!</code> になります。よくあるのは、片方だけ見出し行を含めてしまうケース。</p>



<p class="wp-block-paragraph">範囲サイズはそろっているのに検索値が見つからない場合は <code>#N/A</code> です。原因も対処も別物なので、まずは範囲の始点と終点をそろえて確認してみてください。</p>



<p class="wp-block-paragraph"><strong>SUMPRODUCTの場合</strong></p>



<p class="wp-block-paragraph">渡した配列の行数・列数がそろっていないとエラーになります。次の式は3行と4行を掛け合わせようとしていて、対応が取れません。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(A1:A3,B1:B4)</code></pre>



<p class="wp-block-paragraph"><code>=SUMPRODUCT(A1:A3,B1:B3)</code> のように終点をそろえれば、計算が通ります。</p>



<p class="wp-block-paragraph"><strong>単一セルを想定する場所に範囲を書いた場合</strong></p>



<p class="wp-block-paragraph"><code>A1:A3</code> のように、1つの値を求める場所へ範囲を書いた数式です。ここは使っているバージョンで結果が変わります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>対応バージョン</strong>: 動的配列（スピル）は Microsoft 365 / Excel 2021 以降の機能です。Excel 2019 以前では、数式のある行と範囲が重ならないときに <code>#VALUE!</code> になります。</p></blockquote>



<p class="wp-block-paragraph">動的配列に対応した版では、同じ数式が複数セルへ展開（スピル）されます。展開先にデータが残っていると出るのは <code>#SPILL!</code>。この場合はまず展開先のセルを空けてみましょう。</p>



<h3 class="wp-block-heading"><span id="toc10">パターン5：関数の引数の型が違っている（VLOOKUP・SUMIFの引数ミスもここ）</span></h3>



<p class="wp-block-paragraph"><strong>症状</strong>: 関数の書き方は合っているように見えるのに <code>#VALUE!</code> が出ます。参照先のセルを見ると、そこがすでにエラーになっていることも。</p>



<p class="wp-block-paragraph"><strong>VLOOKUPの場合</strong></p>



<p class="wp-block-paragraph">第3引数（列番号）に1未満の数を指定するとエラーになります。列番号を別セルから参照していて、そこが空欄や <code>0</code> になっているパターンが多いですね。</p>



<pre class="wp-block-code"><code>=VLOOKUP(A2,$D$2:$F$100,0,FALSE)</code></pre>



<p class="wp-block-paragraph">この式は列番号が <code>0</code> なので <code>#VALUE!</code> です。<code>2</code> や <code>3</code> のように、範囲の左端から数えた実際の列番号を指定してください。</p>



<p class="wp-block-paragraph">ここも取り違えに注意。列番号が範囲の列数を超えていれば <code>#REF!</code>、完全一致で見つからなければ <code>#N/A</code> になります。</p>



<p class="wp-block-paragraph"><strong>IF関数の場合</strong></p>



<p class="wp-block-paragraph">参照先のセルがエラーを返していると、そのエラーがIFの結果に出ます。分岐の中で文字列と数値の計算を組み込んでいる場合も同じ。</p>



<pre class="wp-block-code"><code>=IF(A1&gt;10,B1*1.1,&quot;対象外&quot;)</code></pre>



<p class="wp-block-paragraph">B1に「10個」のような単位付きの文字列が入っていると、掛け算のところでエラーになります。なお、ネストしたVLOOKUPが「見つからない」ことに起因するエラーは <code>#N/A</code>。IF自体の型不一致とは別問題です。</p>



<p class="wp-block-paragraph"><strong>SUMIFの場合</strong></p>



<p class="wp-block-paragraph">条件範囲や合計範囲に他のエラー値が混ざっていると、その影響が結果に出ることがあります。まず範囲の中に既存のエラーが残っていないか確認してみてください。</p>



<p class="wp-block-paragraph">条件の書き方にも制限があり、255文字を超える文字列との照合は正しい結果にならないとされています。条件が長いときは、作業列で判定を先に済ませるのが安全です。</p>



<p class="wp-block-paragraph"><strong>エラーの連鎖を断つ</strong></p>



<p class="wp-block-paragraph"><code>#VALUE!</code> は伝染します。1か所のエラーが参照元となって、下流の集計まで全部エラーになるのはよくある光景。</p>



<p class="wp-block-paragraph">直すときは、エラーが出ているセルではなく<strong>いちばん上流のセル</strong>から手を付けてください。上流を直せば、下流のエラーもまとめて消えることが多いです。</p>



<h2 class="wp-block-heading"><span id="toc11">原因の箇所を特定する診断テクニック</span></h2>



<p class="wp-block-paragraph">原因のパターンが分かっても、関数が入れ子になった長い数式では「どこで」エラーになっているか見えません。箇所を絞り込む3つのやり方を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc12">数式の検証で1ステップずつ追う（デスクトップ版向け）</span></h3>



<p class="wp-block-paragraph">ネストした数式なら、「数式の検証」が頼りになります。計算順に1ステップずつ実行して、途中経過を見せてくれる機能です。</p>



<ol class="wp-block-list"><li>エラーが出ているセルを選択する</li><li>「数式」タブをクリックする</li><li>「ワークシート分析」グループの「数式の検証」をクリックする</li><li>「検証」ボタンを押して1ステップずつ進める</li></ol>



<p class="wp-block-paragraph">どのステップで <code>#VALUE!</code> が現れたかを見れば、犯人のいる場所が分かります。バージョンによっては「数式の監査」「数式を評価する」という表記。</p>



<p class="wp-block-paragraph">この機能はExcel for Windows（デスクトップ版）を前提に案内されているもので、Web版のリボンには見当たりません。Web版なら次の診断へ切り替えてください。</p>



<h3 class="wp-block-heading"><span id="toc13">F9キーで数式の一部だけを計算してみる</span></h3>



<p class="wp-block-paragraph">数式バーで一部だけを選択して <code>F9</code> を押すと、その部分の計算結果だけが表示されます。デスクトップ版で使える、手軽な絞り込み方法です。</p>



<p class="wp-block-paragraph">たとえば <code>=A1+B1+C1</code> のうち <code>A1+B1</code> だけを選べば、その時点の結果が見られます。ここでエラーが出たなら、原因はA1かB1のどちらか。</p>



<p class="wp-block-paragraph">注意が1つ。確認が終わったら <code>Esc</code> キーで元の数式に戻してください。<code>Enter</code> で確定すると、数式がその場の値に置き換わってしまいます。</p>



<h3 class="wp-block-heading"><span id="toc14">ISTEXTとLENでセルの中身を確認する</span></h3>



<p class="wp-block-paragraph">Web版でもデスクトップ版でも使えて、しかも結果が残るのがこの方法。作業列に次の3つを並べます。</p>



<pre class="wp-block-code"><code>=ISTEXT(A1)
=ISNUMBER(A1)
=LEN(A1)</code></pre>



<p class="wp-block-paragraph">ISTEXTが <code>TRUE</code> なら文字列、ISNUMBERが <code>TRUE</code> なら数値または日付です。LENで予想外の文字数が出たら、見えない文字が入っている合図。</p>



<p class="wp-block-paragraph"><code>"19"</code> のように引用符で囲まれた数字はテキスト扱いのため、ISNUMBERは <code>FALSE</code> を返します。「数字に見えるのに <code>FALSE</code>」なら、それが原因の証拠。</p>



<p class="wp-block-paragraph">判定関数の使い方は<a href="https://mashukabu.com/excel-function-howto-use-istext/">ExcelのISTEXT関数の使い方｜セルの値が文字列かどうかを判定する方法</a>で解説しています。診断が終わったら、作業列は消しておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc15">#VALUE!を防ぐ予防的な数式設計</span></h2>



<p class="wp-block-paragraph">原因を直したら、次は再発を防ぐ番。日々の作業に組み込みやすい4つの工夫です。</p>



<h3 class="wp-block-heading"><span id="toc16">IFERRORでエラー時の表示を整える</span></h3>



<p class="wp-block-paragraph">IFERROR関数を使うと、エラーになったときの表示を空白や任意のメッセージに差し替えられます。</p>



<pre class="wp-block-code"><code>=IFERROR(A1+B1,&quot;&quot;)</code></pre>



<p class="wp-block-paragraph">対象になるのは <code>#N/A</code>・<code>#VALUE!</code>・<code>#REF!</code>・<code>#DIV/0!</code>・<code>#NUM!</code>・<code>#NAME?</code>・<code>#NULL!</code> の7種類。Excel 2007以降で使える関数ですよ。</p>



<p class="wp-block-paragraph">ただし、これは原因を隠しているだけ。本当に直すべきエラーまで見えなくなるので、原因を特定してからの仕上げに使うのがおすすめです。詳しい使い分けは<a href="https://mashukabu.com/excel-function-howto-use-iferror/">ExcelのIFERROR関数の使い方｜エラー処理の基本と実務活用</a>にまとめました。</p>



<h3 class="wp-block-heading"><span id="toc17">ISTEXTで入力をチェックする</span></h3>



<p class="wp-block-paragraph">そもそも文字列が入ってこないよう、計算の前に型をチェックする方法もあります。</p>



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



<p class="wp-block-paragraph">文字列が入っていれば警告を表示し、数値のときだけ計算する形。入力担当者が自分で気づけるので、複数人で使う集計シートほど効果が出やすい書き方です。</p>



<h3 class="wp-block-heading"><span id="toc18">取り込んだデータは先にクレンジングする</span></h3>



<p class="wp-block-paragraph">CSVや基幹システムから取り込んだデータは、スペースや制御文字が混ざりやすいもの。取り込み → クレンジング → 集計の3段構えにして、パターン2の作業列を1つ挟んでおくと安心です。</p>



<p class="wp-block-paragraph">毎月同じ形式のファイルを扱うなら、その作業列ごとテンプレート化してしまいましょう。</p>



<h3 class="wp-block-heading"><span id="toc19">表示形式で単位を扱う（数値セルに「個」「円」を直接入力しない）</span></h3>



<p class="wp-block-paragraph">意外と見落とされがちなのが、単位の直接入力です。数量欄に「10個」、金額欄に「1200円」と入力すると、そのセルは数値ではなく文字列になります。</p>



<p class="wp-block-paragraph">厄介なのは、症状が2通りに分かれること。掛け算に使えば <code>#VALUE!</code> が出ますが、SUMで合計すると<strong>エラーは出ないまま静かに無視されます</strong>。</p>



<p class="wp-block-paragraph">解決策は、単位を表示形式で見せる方法。中身は数値のまま、画面上だけ単位付きにできます。</p>



<ol class="wp-block-list"><li>単位を付けたいセル範囲を選択する</li><li><code>Ctrl</code> + <code>1</code> で「セルの書式設定」を開く</li><li>「表示形式」タブで「ユーザー定義」を選ぶ</li><li>「種類」の欄に <code>0"個"</code> と入力する</li><li>「OK」をクリックする</li></ol>



<p class="wp-block-paragraph">これで <code>10</code> と入力すれば「10個」と表示され、セルの中身は数値の <code>10</code> のまま。金額なら <code>#,##0"円"</code> で「1,200円」のように桁区切り付きで見せられます。</p>



<p class="wp-block-paragraph">単位は書式で見せるとチームで決めておけば、この手のエラーは起きにくくなりますよ。</p>



<h2 class="wp-block-heading"><span id="toc20">#VALUE!エラーでよくある質問</span></h2>



<h3 class="wp-block-heading"><span id="toc21">SUM関数なら#VALUE!は出ないのですか？</span></h3>



<p class="wp-block-paragraph">SUM関数は範囲内の文字列や空白を無視して数値だけを合計するため、<code>+</code> 演算子より <code>#VALUE!</code> は出にくい性質があります。ただし「出ない」わけではありません。</p>



<p class="wp-block-paragraph">範囲内に <code>#REF!</code> や <code>#DIV/0!</code> など別のエラー値があると、そのエラーがそのまま結果に出ます。またエラーが消える代わりに、文字列の数字が無視されて合計がズレることも。エラーが出なくなったときこそ、合計値が想定どおりか確かめてみてください。</p>



<h3 class="wp-block-heading"><span id="toc22">VLOOKUPで#VALUE!が出るのはなぜですか？</span></h3>



<p class="wp-block-paragraph">いちばん多いのは、第3引数（列番号）に1未満の数を指定しているケース。列番号を別セルから参照していて、そこが空欄や <code>0</code> になっている状況ですね。</p>



<p class="wp-block-paragraph">大事なのは、エラー名を正確に読むこと。<code>#VALUE!</code> なら列番号そのものを、<code>#N/A</code> なら検索値の表記ゆれを疑ってください。列番号が範囲の列数を超えている場合は <code>#REF!</code> です。</p>



<h3 class="wp-block-heading"><span id="toc23">全角スペースなのに見た目で気づけないのはなぜですか？</span></h3>



<p class="wp-block-paragraph">全角スペースは画面上ではただの空白で、半角スペースとの区別もつきません。それでいてセルの中では立派な1文字。この「見えないのに存在する」性質が、原因特定を難しくしているわけです。</p>



<p class="wp-block-paragraph">さらにやっかいなのが、TRIM関数で消えないこと。判定には <code>=UNICODE(LEFT(A1,1))</code> を使いましょう。<code>12288</code> なら全角スペース、<code>32</code> なら半角スペース、<code>160</code> ならノーブレークスペースです。</p>



<h3 class="wp-block-heading"><span id="toc24">IFERRORで隠すのは良くないのですか？</span></h3>



<p class="wp-block-paragraph">IFERROR自体はとても便利な関数です。問題は使うタイミングにあります。</p>



<p class="wp-block-paragraph">原因を特定しないままIFERRORで包むと、計算に含めるべき数値が抜け落ちたまま表が完成してしまいます。集計結果が静かにズレていても、画面はきれいなので誰も気づきません。</p>



<p class="wp-block-paragraph">まず原因を直し、入力途中で一時的にエラーが出る箇所だけを整える。この順番なら、IFERRORは頼れる仕上げの道具になります。</p>



<h3 class="wp-block-heading"><span id="toc25">エラーを判定だけしたい場合はどうすればいいですか？</span></h3>



<p class="wp-block-paragraph">セルがエラーかどうかをTRUE/FALSEで判定したいときは、ISERROR関数が向いています。7種類のエラー値をまとめて判定できるので、チェック用の列を作るのに便利。</p>



<p class="wp-block-paragraph"><code>#N/A</code> を除外したいならISERR、<code>#N/A</code> だけを見たいならISNAという使い分けもできます。条件付き書式の数式欄ではIFERRORが使えないため、ISERRORを使ってください。詳しくは<a href="https://mashukabu.com/excel-function-howto-use-iserror/">ExcelのISERROR関数の使い方｜すべてのエラーをまとめて判定する方法【図解あり】</a>をどうぞ。</p>



<h2 class="wp-block-heading"><span id="toc26">まとめ｜#VALUE!は早見表で症状から見つけて直す</span></h2>



<p class="wp-block-paragraph">Excelの <code>#VALUE!</code> について、症状からの探し方と原因別の直し方を見てきました。要点を整理します。</p>



<ul class="wp-block-list"><li><code>#VALUE!</code> は「<strong>渡されたデータの型が合っていない</strong>」という1点だけを知らせるサイン</li><li><code>#N/A</code>（見つからない）・<code>#REF!</code>（参照できない）・<code>#NUM!</code>（計算できない数値）とは原因も直し方も別物</li><li>原因は<strong>文字列の混入・スペースや非表示文字・日付の型違い・範囲サイズの不一致・引数の型違い</strong>の5パターン</li><li>TRIMは半角スペースのみ、CLEANは制御文字のみが対象。<strong>全角スペースとノーブレークスペースはSUBSTITUTEで個別に指定する</strong></li><li>VLOOKUPは列番号1未満、XLOOKUPは範囲サイズ不一致、DATEDIFは日付が文字列のときに <code>#VALUE!</code></li><li>場所の特定には「数式の検証」（デスクトップ版）と <code>F9</code> の部分評価、ISTEXT・LENの作業列が効く</li></ul>



<p class="wp-block-paragraph">原因の幅が広いぶん戸惑いやすいエラーですが、症状さえ言葉にできれば探す場所は絞り込めます。まずはそのセルの中身が数値なのか文字列なのか、確かめるところから始めてみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-value-error/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのIF・IFS・IFERROR・IFNAの使い分け完全ガイド｜条件分岐フローチャート付き</title>
		<link>https://mashukabu.com/sheets-if-ifs-iferror-ifna/</link>
					<comments>https://mashukabu.com/sheets-if-ifs-iferror-ifna/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 30 Apr 2026 21:31:34 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[IFERROR]]></category>
		<category><![CDATA[IFNA]]></category>
		<category><![CDATA[IFS]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[条件分岐]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6436</guid>

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



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



<p class="wp-block-paragraph">この記事では、Googleスプレッドシートの条件分岐に登場する6つの関数（IF・IFS・IFERROR・IFNA・AND・OR）を1ページで横串に整理します。選び方フローチャート、6関数の比較表、実務でよく使う5つの組み合わせパターンまで、ここでまとめて決着をつけてしまいましょう。</p>




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

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">「IFを書きすぎて、もう何の判定をしているか自分でも分からない」状態は、IFS への書き換えで一気に整理できます。まずは手元の壊れかけ数式を1つ、IFS で書き直してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/sheets-if-ifs-iferror-ifna/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートの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 class="wp-block-paragraph">「社員番号を入れたら、部署名が自動で表示される」。こうした仕組みをGoogleスプレッドシートで作るなら、VLOOKUP関数が定番の選択肢です。Excelで使ったことがある方なら、ほぼ同じ感覚で使えます。</p>



<p class="wp-block-paragraph">この記事ではスプレッドシートの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-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">スプレッドシートの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 class="wp-block-paragraph">VLOOKUPは「Vertical Lookup（垂直検索）」の略です。読み方は「ブイルックアップ」です。</p>



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



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



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



<p class="wp-block-paragraph">VLOOKUP関数でできる主な操作をまとめました。</p>



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



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



<p class="wp-block-paragraph">スプレッドシートの基本操作から確認したい方は、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 class="wp-block-paragraph">VLOOKUP関数の構文は以下のとおりです。</p>



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



<p class="wp-block-paragraph">引数は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 class="wp-block-paragraph">第4引数「検索の型」の使い分けを説明します。</p>



<p class="wp-block-paragraph"><strong>完全一致（FALSE）</strong></p>



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



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



<p class="wp-block-paragraph"><strong>近似一致（TRUE）</strong></p>



<p class="wp-block-paragraph">検索値以下の最大値を返します。料金表や成績ランクの判定などに使います。先頭列が昇順（小→大）でソートされている必要があります。</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 class="wp-block-paragraph">この記事では「社員名簿」を例に使います。シートには社員番号（A列）・氏名（B列）・部署（C列）・役職（D列）が入力されています。</p>



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">各引数の意味は次のとおりです。</p>



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">役職（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 class="wp-block-paragraph">実務では社員名簿が別シートにあるケースが多いです。別シートの範囲は <code>シート名!範囲</code> の形式で指定します。</p>



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



<p class="wp-block-paragraph">シート名に空白や特殊文字がある場合は、シングルクォーテーションで囲みます。</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 class="wp-block-paragraph"><strong>数式を下方向にコピーする場合</strong></p>



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



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



<p class="wp-block-paragraph">検索値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 class="wp-block-paragraph">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 class="wp-block-paragraph">第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 class="wp-block-paragraph">検索の型をFALSEにした状態でワイルドカードが使えます。ワイルドカードとは、任意の文字に一致する特殊記号です。</p>



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



<p class="wp-block-paragraph">「営業」を含む部署の社員を検索する例です。</p>



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



<p class="wp-block-paragraph">セル参照と組み合わせる場合は <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 class="wp-block-paragraph">ARRAYFORMULA関数（配列数式を一括処理する関数）とVLOOKUPを組み合わせます。1つの数式を入力するだけで、複数行に結果を出力できます。</p>



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



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">ARRAYFORMULAの詳しい使い方は、<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数の使い方</a>をご覧ください。</p>



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



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



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



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



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



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



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">最もよく出るエラーです。主な原因と対処法をまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>確認方法</th><th>対処法</th></tr></thead><tbody><tr><td>検索値がデータに存在しない</td><td>マスタ側に該当データがあるか確認</td><td>データを追加するか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 class="wp-block-paragraph">列番号が範囲の列数を超えると発生します。たとえば3列の範囲（A:C）に対して列番号4を指定した場合です。</p>



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



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



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



<p class="wp-block-paragraph">列番号に0以下の数値を指定した場合に発生します。</p>



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



<p class="wp-block-paragraph">列番号は1以上の整数を指定してください。</p>



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



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



<p class="wp-block-paragraph">ただし、細かい点でいくつか違いがあります。</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 class="wp-block-paragraph">スピルとは、数式1つで複数セルに結果を自動展開する機能です。</p>



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



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



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



<p class="wp-block-paragraph">詳しい比較は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 class="wp-block-paragraph">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 class="wp-block-paragraph">INDEX/MATCHはINDEX関数とMATCH関数を組み合わせた手法です。INDEX関数（指定した行・列の値を返す関数）とMATCH関数（検索値の行番号を返す関数）を組み合わせます。</p>



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



<p class="wp-block-paragraph">社員番号からC列（部署）を取得する例です。</p>



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



<p class="wp-block-paragraph">VLOOKUPとの主な違いをまとめます。</p>



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



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



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



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



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



<p class="wp-block-paragraph">社員番号から部署を取得する例です。</p>



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">用途に応じて関数を選びましょう。</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 class="wp-block-paragraph">新規で数式を組む場合は、XLOOKUPを選ぶのが現在のベストプラクティスです。</p>



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



<p class="wp-block-paragraph">スプレッドシートの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 class="wp-block-paragraph">まずは基本の完全一致検索からはじめてみてください。IFERROR関数を組み合わせれば、実務の多くの場面に対応できます。</p>



<p class="wp-block-paragraph">基本構文だけ確認したい方は、<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 class="wp-block-paragraph">スプレッドシートで「#VALUE!」や「#REF!」などのエラーが出たとき、原因がすぐにわからなくて困った経験はありませんか。</p>



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



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



<p class="wp-block-paragraph">この記事では、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-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">スプレッドシートの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 class="wp-block-paragraph">ERROR.TYPE関数（読み方: えらー たいぷ）は、<strong>セルのエラー種類に対応する数値を返す関数</strong>です。</p>



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



<p class="wp-block-paragraph">ERROR.TYPE関数が返す値の一覧は次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>返り値</th><th>エラーの種類</th><th>主な原因</th></tr></thead><tbody><tr><td>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 class="wp-block-paragraph">エラーでないセルを渡すと#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 class="wp-block-paragraph">カッコの中にエラーかどうか調べたいセルや数式を指定します。</p>



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



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



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



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



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



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>理由</th></tr></thead><tbody><tr><td><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 class="wp-block-paragraph">最後の2行がポイントです。エラーでない値を渡すと、ERROR.TYPE関数自体が#N/Aを返します。</p>



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



<p class="wp-block-paragraph">実務ではセルを指定して使うケースがほとんどです。</p>



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



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



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



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



<p class="wp-block-paragraph">ERROR.TYPE関数の引数に数式を直接入れることもできます。</p>



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">A2 がエラーなら対応する日本語メッセージを表示します。エラーでなければ「正常」です。</p>



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



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">エラーの種類に応じて具体的な対処法を表示できるので、エラーチェックシートを作るときに便利です。</p>



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



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



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



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



<p class="wp-block-paragraph">この数式をB列に下までコピーしたら、COUNTIFで集計します。</p>



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



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



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



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">A2 がエラーでなければそのまま値を表示します。#N/Aエラーなら「検索値なし」、それ以外のエラーなら「その他のエラー」と表示します。</p>



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



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



<p class="wp-block-paragraph">エラー処理に使える関数は複数あります。それぞれの役割を比較してみましょう。</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 class="wp-block-paragraph"><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 class="wp-block-paragraph">ERROR.TYPE関数で「思った結果にならない」ケースをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#N/A が返る</td><td>引数がエラーではない</td><td>仕様どおりの動作。エラーでないセルには#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 class="wp-block-paragraph">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 class="wp-block-paragraph">引数名の表記が若干異なるだけで、機能は同じです。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 class="wp-block-paragraph">ERROR.TYPE関数は、エラーの種類を数値で取得できる関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</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 class="wp-block-paragraph">まずは <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 class="wp-block-paragraph">スプレッドシートで数式を入れたら「#N/A」や「#VALUE!」が表示されてしまった。こんな経験はありませんか？</p>



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



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



<p class="wp-block-paragraph">この記事では基本の書き方から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-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">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 class="wp-block-paragraph">ISERROR関数（読み方: イズエラー関数）は、<strong>指定した値がエラーかどうかを判定する関数</strong>です。</p>



<p class="wp-block-paragraph">名前はIS（〜かどうか）+ ERROR（エラー）が由来です。</p>



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



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">カッコの中にエラーかどうかを判定したいセルや数式を指定するだけです。</p>



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



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



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



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



<p class="wp-block-paragraph">どんな値が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 class="wp-block-paragraph">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 class="wp-block-paragraph">もっともシンプルな使い方です。A1がエラーかどうかを確認します。</p>



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



<p class="wp-block-paragraph">A1がエラー値ならTRUE、正常な値ならFALSEが返ります。</p>



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



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



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



<p class="wp-block-paragraph">A2がエラーなら「エラーあり」、正常な値なら「正常」と表示します。</p>



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



<p class="wp-block-paragraph">数式のエラーを非表示にしたいときに使えます。</p>



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



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



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



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



<p class="wp-block-paragraph">手順:</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 class="wp-block-paragraph">これでエラーが出ているセルがひと目でわかります。エラーが解消されるとハイライトが自動で消えます。</p>



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



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">ERROR.TYPE関数はエラーの種類を番号で返します。主な番号は次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>番号</th><th>エラー値</th><th>意味</th></tr></thead><tbody><tr><td>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 class="wp-block-paragraph">この処理はIFERROR関数では実現できません。エラーの内容に応じて対応を変えたいときはISERROR関数の出番です。</p>



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">A列にデータがある行だけを対象に、B列のエラーチェックを実行します。数式を下方向にコピーする必要がないので便利です。</p>



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">同じ処理を書いたときの違いを見てみましょう。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 class="wp-block-paragraph">比較すると次のような違いがあります。</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 class="wp-block-paragraph">IFERRORでは代替できない、ISERROR関数ならではの使い方があります。</p>



<p class="wp-block-paragraph"><strong>1. エラーの種類ごとに処理を分ける</strong></p>



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



<p class="wp-block-paragraph"><strong>2. エラーかどうかだけを知りたい</strong></p>



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



<p class="wp-block-paragraph"><strong>3. NOT+ISERRORで「正常なデータ」を抽出する</strong></p>



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



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



<p class="wp-block-paragraph">実務での使い分けは次のとおりです。</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 class="wp-block-paragraph">迷ったら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 class="wp-block-paragraph">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 class="wp-block-paragraph">データの種類に応じたチェックをしたいときは、IS系関数を使い分けてみてください。</p>



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



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



<p class="wp-block-paragraph">ポイントをおさらいしましょう。</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 class="wp-block-paragraph">エラー処理の基本として、ぜひ活用してみてください。</p>



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



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



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



<p class="wp-block-paragraph">条件によって表示を切り替えたい場合は、<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 class="wp-block-paragraph">Excelでピボットテーブルのセルを参照しようとしたら、見慣れない「GETPIVOTDATA」という関数が勝手に入力された。そんな経験はありませんか？</p>



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



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




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">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 class="wp-block-paragraph">GETPIVOTDATA関数（読み方：ゲット・ピボット・データ）は、ピボットテーブルからデータを取り出す専用の関数です。名前のとおり「Get（取得）＋ Pivot Data（ピボットのデータ）」という意味ですね。</p>



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



<p class="wp-block-paragraph">対応バージョンはExcel 2016以降（Microsoft 365含む）です。</p>



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



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



<p class="wp-block-paragraph">具体的な発生手順は次のとおりです。</p>



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



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



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



<p class="wp-block-paragraph">GETPIVOTDATA関数の構文は次のとおりです。</p>



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



<p class="wp-block-paragraph">各引数の意味を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>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 class="wp-block-paragraph"><code>data_field</code>と<code>field</code>/<code>item</code>は文字列なので、ダブルクォーテーションで囲みます。日付や数値の場合はクォーテーション不要ですよ。</p>



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



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



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



<p class="wp-block-paragraph">すべてのブックに対して一括で無効化する方法です。頻繁にピボットテーブルを使う方はこちらがおすすめです。</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 class="wp-block-paragraph">これで、どのブックでも<code>=B5</code>のような通常のセル参照が使われるようになります。</p>



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



<p class="wp-block-paragraph">特定のブックだけ無効化したい場合はこちらの方法です。</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 class="wp-block-paragraph">方法①は全体設定、方法②はブック単位の設定です。状況に応じて使い分けてみてください。</p>



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



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



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



<p class="wp-block-paragraph">たとえば、ピボットテーブルから「東京」の「売上」合計を取り出す場合は次のように書きます。</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 class="wp-block-paragraph">通常の<code>=B5</code>のようなセル参照だと、ピボットテーブルの行や列を入れ替えた瞬間にずれてしまいます。GETPIVOTDATA関数ならフィールド名で指定するので、レイアウト変更に強いのが最大のメリットです。</p>



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



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



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



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



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



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



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



<p class="wp-block-paragraph">「営業部」の「4月」売上を取り出す例です。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">ピボットテーブルのデータを参照するなら、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 class="wp-block-paragraph">GETPIVOTDATA関数で発生する主なエラーは2つです。</p>



<p class="wp-block-paragraph"><strong>#REF! エラー</strong></p>



<p class="wp-block-paragraph">最も多いエラーです。次のいずれかが原因で発生します。</p>



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



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



<p class="wp-block-paragraph"><strong>#VALUE! エラー</strong></p>



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



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



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



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



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



<p class="wp-block-paragraph">この記事のポイントを振り返りましょう。</p>



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



<p class="wp-block-paragraph">「自動挿入がうざい」と思って無効化するだけではもったいない関数です。ぜひ一度、レポート作成に活用してみてくださいね。</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 class="wp-block-paragraph">Excelで「金額をタイ語のテキストに変換したい」と思ったことはありませんか。タイの請求書やインボイスでは、金額をタイ語で表記する必要があります。</p>



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



<p class="wp-block-paragraph">この記事は次のような人におすすめ</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-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">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 class="wp-block-paragraph">BAHTTEXT（バーツテキスト）関数は、数値をタイ語の通貨テキストに変換する関数です。名前は「Baht（バーツ＝タイの通貨単位）」と「Text（文字列）」を組み合わせた造語です。</p>



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



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



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



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



<p class="wp-block-paragraph">主に次のような場面で活躍します。</p>



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



<p class="wp-block-paragraph">日本語版の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 class="wp-block-paragraph">引数は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 class="wp-block-paragraph">数値の指定方法は3パターンあります。</p>



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



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



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



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>入力値</th><th>数式</th><th>出力結果</th></tr></thead><tbody><tr><td>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 class="wp-block-paragraph">「บาท」は通貨単位「バーツ」を意味します。</p>



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



<p class="wp-block-paragraph">小数を渡すと、小数部分が「สตางค์（サタン）」として変換されます。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 class="wp-block-paragraph">小数第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 class="wp-block-paragraph">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 class="wp-block-paragraph">この数式は、負の数のときに先頭に「ลบ（マイナス）」を付けて変換します。</p>



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">タイ向けの請求書テンプレートに組み込む流れを紹介します。</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 class="wp-block-paragraph">タイ語が文字化けする場合は、フォントの設定を確認してみてください。TahomaやCordia Newなど、タイ語に対応したフォントを選ぶと正しく表示されます。</p>



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



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



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



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>目的</th><th>出力例</th></tr></thead><tbody><tr><td>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 class="wp-block-paragraph">BAHTTEXT関数は「数値→タイ語テキスト」という特殊な変換を行う唯一の関数です。DOLLAR関数やTEXT関数では、タイ語の金額テキストは生成できません。</p>



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



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



<p class="wp-block-paragraph">ポイントを整理しておきましょう。</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 class="wp-block-paragraph">エラーが心配な場合は <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 class="wp-block-paragraph">数式がエラーになったとき、「とりあえずIFERRORで非表示にする」で済ませていませんか？</p>



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



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



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




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

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">ERROR.TYPE関数そのものでエラーが出るケースをまとめました。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">エラーの種類ごとに処理を変えたいときは、ERROR.TYPE関数の出番です。「とりあえずエラーを非表示にしたい」だけなら<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>、「エラーかどうかだけ知りたい」なら<a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数</a>を使いましょう。</p>



<p class="wp-block-paragraph">エラー処理全般の使い分けを知りたい方は、<a href="https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/">IF・IFS・IFERROR・IFNAの使い分け</a>も参考にしてみてください。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数の使い方</a> &#8212; すべてのエラーをまとめて判定</li><li><a href="https://mashukabu.com/excel-function-howto-use-iserr/">ISERR関数の使い方</a> &#8212; #N/A以外のエラーを判定</li><li><a href="https://mashukabu.com/excel-function-howto-use-isna/">ISNA関数の使い方</a> &#8212; #N/Aだけを判定</li><li><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数の使い方</a> &#8212; エラーを代替値に置き換え</li><li><a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数の使い方</a> &#8212; #N/Aだけを代替値に置き換え</li><li><a href="https://mashukabu.com/excel-error-value-list/">Excelのエラー値一覧</a> &#8212; 7種類のエラーの原因と対処法</li><li><a href="https://mashukabu.com/excel-function-howto-use-type/">TYPE関数の使い方</a> &#8212; セルのデータ型を番号で判別</li><li><a href="https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/">IF・IFS・IFERROR・IFNAの使い分け</a> &#8212; エラー処理関数の選び方フロー</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-error-type/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのIFNA関数の使い方｜#N/Aだけを処理してエラーを見逃さない方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-ifna/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-ifna/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 30 May 2022 12:02:31 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[#N/A]]></category>
		<category><![CDATA[IFERROR]]></category>
		<category><![CDATA[IFNA関数]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[XLOOKUP]]></category>
		<category><![CDATA[エラー処理]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2050</guid>

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



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



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




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

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



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



<p class="wp-block-paragraph">Excelのエラーは全部で7種類あります。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph"><strong>サンプルデータ（商品マスタ）</strong></p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">使い分けのポイントは次のとおりです。</p>



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">移行の目安をまとめておきます。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">VLOOKUPやMATCHを使う場面では、IFERRORよりIFNAを選ぶクセをつけておくと、数式ミスの見落としを防げますよ。ぜひ普段の業務で活用してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-ifna/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Excelの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 class="wp-block-paragraph">数式を組んだらセルに「#VALUE!」や「#REF!」が表示された&#8230;&#8230;。Excelで関数を使っていると、さまざまなエラーに遭遇しますよね。</p>



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



<p class="wp-block-paragraph">この記事では、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-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">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 class="wp-block-paragraph">ISERROR（いず えらー）関数は、指定した値が<strong>エラー値</strong>かどうかを判定する関数です。</p>



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



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



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



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



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



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



<p class="wp-block-paragraph">さまざまなエラーを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>



<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 class="wp-block-paragraph">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 class="wp-block-paragraph">セル参照を使えば、特定のセルがエラーかどうかを確認できます。</p>



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



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



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">たとえば割り算の結果がエラーなら「計算不可」と表示し、正常なら計算結果を返す数式は次のとおりです。</p>



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



<p class="wp-block-paragraph">C2 が 0 や空白のとき #DIV/0! になりますが、ISERROR で検知して「計算不可」と表示します。正常に割り算できた場合はそのまま結果を返しますよ。</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 class="wp-block-paragraph">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 class="wp-block-paragraph">どの種類のエラーが発生しても「未登録」と表示します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>単にエラーを代替値に置き換えるだけなら <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 class="wp-block-paragraph">データ範囲の中でエラーが何件あるか数えたいとき、SUMPRODUCT関数と組み合わせて使えます。</p>



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



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



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



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



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">数式が入った列でエラーになっているセルだけを目立たせたい場合に使えます。条件付き書式は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 class="wp-block-paragraph">エラーが入ったセルだけが色付きになります。エラーの種類を問わず検知できるので、データのクレンジング作業に役立ちますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>条件付き書式では <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 class="wp-block-paragraph">エラー判定に使える関数は複数あります。それぞれの違いを把握しておくと、場面に応じて最適な関数を選べますよ。</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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">特定のエラーだけを検知したい場合は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>
	</channel>
</rss>
