<?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>IS関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/is%e9%96%a2%e6%95%b0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 07:38:14 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>IS関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのISREF関数の使い方｜参照判定</title>
		<link>https://mashukabu.com/spreadsheet-isref-function/</link>
					<comments>https://mashukabu.com/spreadsheet-isref-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 20 Apr 2026 02:30:51 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[INDIRECT]]></category>
		<category><![CDATA[ISREF]]></category>
		<category><![CDATA[IS関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[参照判定]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6116</guid>

					<description><![CDATA[GoogleスプレッドシートのISREF関数の使い方を初心者向けに解説。参照判定の基本構文から、INDIRECT関数との組み合わせ、エラー防止の活用パターン、ISNUMBERなどIS系関数との違いまで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「INDIRECT関数で組み立てたシート名、本当に存在しているのかな&#8230;&#8230;」。動的に参照先を切り替えるシートで、リンク切れエラーに悩まされた経験はありませんか。</p>



<p class="wp-block-paragraph">参照先が有効かどうかを事前に判定できれば、エラーが画面に出る前に対処できますよね。そんなときに便利なのがISREF関数です。</p>



<p class="wp-block-paragraph">スプレッドシートのISREF関数を使えば、指定した値が有効なセル参照かどうかをTRUE/FALSEで判定できます。この記事では、基本構文からINDIRECT関数との組み合わせ、IS系関数との違いまでまとめて紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのISREF関数とは？</a></li><li><a href="#toc2" tabindex="0">ISREF関数の書き方（構文と引数）</a></li><li><a href="#toc3" tabindex="0">ISREF関数の基本的な使い方</a></li><li><a href="#toc4" tabindex="0">INDIRECT関数との組み合わせがいちばん便利</a></li><li><a href="#toc5" tabindex="0">IF関数と組み合わせてエラーを未然に防ぐ</a></li><li><a href="#toc6" tabindex="0">IS系関数との違い（ISNUMBER・ISBLANK・ISTEXTとの比較）</a></li><li><a href="#toc7" tabindex="0">ISREF関数の実務的な活用例</a><ol><li><a href="#toc8" tabindex="0">活用例1: 月次シート切り替えダッシュボード</a></li><li><a href="#toc9" tabindex="0">活用例2: 名前付き範囲の存在チェック</a></li><li><a href="#toc10" tabindex="0">活用例3: フォーム入力されたシート名の検証</a></li></ol></li><li><a href="#toc11" tabindex="0">ISREF関数でよくあるエラーと対処法</a><ol><li><a href="#toc12" tabindex="0">文字列を渡してしまいFALSEが返る</a></li><li><a href="#toc13" tabindex="0">#REF!エラーが出てしまう</a></li><li><a href="#toc14" tabindex="0">#NAME?エラーが出る</a></li></ol></li><li><a href="#toc15" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ISREF関数（読み方: いず りふ）は、<strong>指定した値が有効なセル参照かどうかを判定する関数</strong>です。</p>



<p class="wp-block-paragraph">名前は英語の「IS REFerence（参照ですか？）」からきています。</p>



<p class="wp-block-paragraph">引数に渡した値がセル参照（A1やSheet2!B3など）ならTRUE。文字列・数値・無効な参照ならFALSEを返します。</p>



<p class="wp-block-paragraph">ISREF関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>セル参照かどうかをTRUE/FALSEで返す</li><li>INDIRECT関数で組み立てた参照先が有効かを事前に確認する</li><li>存在しないシート名や範囲名を指す参照を検出する</li><li>IF関数と組み合わせて参照エラーを未然に防ぐ</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>ISREF関数はGoogleスプレッドシートとExcelの両方で使えます。同じ構文で動くので、ファイルをやり取りするときも安心ですよ。</p></blockquote>



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



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



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



<p class="wp-block-paragraph">引数は1つだけ、判定したい値や式を入れるだけです。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>説明</th></tr></thead><tbody><tr><td>値</td><td>必須</td><td>参照かどうかを判定したい値・式・セル参照</td></tr></tbody></table></figure>



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



<figure class="wp-block-table"><table><thead><tr><th>引数の種類</th><th>戻り値</th></tr></thead><tbody><tr><td>セル参照（A1、B2:C5など）</td><td>TRUE</td></tr><tr><td>別シートの参照（Sheet2!A1）</td><td>TRUE</td></tr><tr><td>INDIRECT関数で生成した有効な参照</td><td>TRUE</td></tr><tr><td>文字列・数値・論理値</td><td>FALSE</td></tr><tr><td>存在しないシート名・範囲名</td><td>FALSE</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数を直接書くか、INDIRECT関数の結果を渡すかで使い方の幅が広がりますよ。</p>



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



<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>=ISREF(A1)</code></td><td>TRUE</td><td>A1セルへの参照なのでTRUE</td></tr><tr><td><code>=ISREF(B2:C5)</code></td><td>TRUE</td><td>範囲もセル参照として扱われる</td></tr><tr><td><code>=ISREF("A1")</code></td><td>FALSE</td><td>文字列なのでFALSE</td></tr><tr><td><code>=ISREF(123)</code></td><td>FALSE</td><td>数値はセル参照ではない</td></tr><tr><td><code>=ISREF(Sheet2!A1)</code></td><td>TRUE</td><td>別シートの参照もTRUE</td></tr><tr><td><code>=ISREF(INDIRECT("A1"))</code></td><td>TRUE</td><td>INDIRECTで生成した有効な参照</td></tr><tr><td><code>=ISREF(INDIRECT("ZZZ1"))</code></td><td>TRUE</td><td>存在する列なのでTRUE</td></tr><tr><td><code>=ISREF(NoSheet!A1)</code></td><td>FALSE</td><td>存在しないシート名はFALSE</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポイントは、<strong>引数を「<code>"A1"</code>」のように文字列で渡すとFALSEになる</strong>ことです。あくまで参照そのものを判定する関数なので、文字列リテラルは参照として扱われません。</p>



<h2 class="wp-block-heading"><span id="toc4">INDIRECT関数との組み合わせがいちばん便利</span></h2>



<p class="wp-block-paragraph">ISREF関数の真価が発揮されるのは、INDIRECT関数と組み合わせたときです。</p>



<p class="wp-block-paragraph">INDIRECT関数は文字列をセル参照に変換する関数で、シート名やセル番地を動的に組み立てるときに使います。ただ、参照先が存在しないと「#REF!」エラーになってしまうのが弱点ですよね。</p>



<p class="wp-block-paragraph">ISREFを使えば、INDIRECTの結果が有効な参照かを事前に確認できます。</p>



<pre class="wp-block-code"><code>=ISREF(INDIRECT(A1&amp;&quot;!B2&quot;))</code></pre>



<p class="wp-block-paragraph">この式は、A1セルに入ったシート名と「!B2」を組み合わせた参照が有効かを判定します。シート名が存在すればTRUE、存在しなければFALSEになります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>INDIRECTでよくあるトラブルは、シート名の打ち間違いや、削除済みシートを参照してしまうケースです。ISREFを噛ませておくと「画面にエラーが出る前に気付ける」ようになりますよ。</p></blockquote>



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



<p class="wp-block-paragraph">ISREFをIF関数とセットで使うと、参照エラーを表示せずにメッセージへ置き換えられます。</p>



<pre class="wp-block-code"><code>=IF(ISREF(INDIRECT(A1&amp;&quot;!B2&quot;)), INDIRECT(A1&amp;&quot;!B2&quot;), &quot;シート名が見つかりません&quot;)</code></pre>



<p class="wp-block-paragraph">A1のシート名が存在すれば該当セルの値を表示し、見つからなければ「シート名が見つかりません」と表示します。</p>



<p class="wp-block-paragraph">ダッシュボードや集計表で参照先を切り替える運用をしているとき、このパターンを覚えておくと表のレイアウトが崩れないので便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc6">IS系関数との違い（ISNUMBER・ISBLANK・ISTEXTとの比較）</span></h2>



<p class="wp-block-paragraph">ISREF以外にもIS系関数はたくさんあります。それぞれの判定対象を整理しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>判定対象</th><th>TRUEになる例</th></tr></thead><tbody><tr><td>ISREF</td><td>セル参照かどうか</td><td><code>=ISREF(A1)</code></td></tr><tr><td>ISNUMBER</td><td>数値かどうか</td><td><code>=ISNUMBER(123)</code></td></tr><tr><td>ISTEXT</td><td>文字列かどうか</td><td><code>=ISTEXT("abc")</code></td></tr><tr><td>ISBLANK</td><td>空白セルかどうか</td><td><code>=ISBLANK(A1)</code>（A1が空のとき）</td></tr><tr><td>ISFORMULA</td><td>数式が入っているか</td><td><code>=ISFORMULA(A1)</code>（A1が<code>=B1+C1</code>のとき）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ISREFが他のIS系関数と違うのは、<strong>「セルの中身」ではなく「引数として渡された式そのもの」を見る</strong>点です。</p>



<p class="wp-block-paragraph">たとえば<code>=ISNUMBER(A1)</code>はA1の中身が数値かを見ますが、<code>=ISREF(A1)</code>はA1という参照表現そのものが有効な参照かを見ます。判定の視点が一段違うことを意識しておくと混乱しませんよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>論理値（TRUE/FALSE）の判定には<a href="https://mashukabu.com/spreadsheet-true-function/">TRUE関数</a>や<a href="https://mashukabu.com/spreadsheet-false-function/">FALSE関数</a>の理解も役立ちます。IS系関数とセットで覚えておくと、論理判定の幅が広がりますよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc7">ISREF関数の実務的な活用例</span></h2>



<p class="wp-block-paragraph">実際の業務で使えるパターンを3つ紹介しますね。</p>



<h3 class="wp-block-heading"><span id="toc8">活用例1: 月次シート切り替えダッシュボード</span></h3>



<p class="wp-block-paragraph">「2026年04月」「2026年05月」のように月ごとにシートを分けて運用しているとき、INDIRECTで参照先を切り替えるダッシュボードを作るパターンです。</p>



<pre class="wp-block-code"><code>=IF(ISREF(INDIRECT(A1&amp;&quot;!売上合計&quot;)), INDIRECT(A1&amp;&quot;!売上合計&quot;), &quot;未作成&quot;)</code></pre>



<p class="wp-block-paragraph">A1にシート名を入れておけば、該当月のシートが作成済みなら売上を表示、未作成なら「未作成」と表示できます。</p>



<h3 class="wp-block-heading"><span id="toc9">活用例2: 名前付き範囲の存在チェック</span></h3>



<p class="wp-block-paragraph">スプレッドシートでは「データ」→「名前付き範囲」で範囲に名前を付けられます。ただ、名前付き範囲が削除されると参照先がエラーになりますよね。</p>



<pre class="wp-block-code"><code>=IF(ISREF(INDIRECT(&quot;売上テーブル&quot;)), &quot;範囲OK&quot;, &quot;範囲が見つかりません&quot;)</code></pre>



<p class="wp-block-paragraph">このように事前確認しておくと、テンプレートの引き継ぎ時にもトラブルを防げますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">活用例3: フォーム入力されたシート名の検証</span></h3>



<p class="wp-block-paragraph">ユーザーが入力フォームでシート名を指定するような運用では、入力ミスへの備えが欠かせません。ISREFで参照可能性を判定し、エラーがあれば入力者に通知するフローを作れます。</p>



<pre class="wp-block-code"><code>=IF(ISREF(INDIRECT(B2&amp;&quot;!A1&quot;)), &quot;シート名OK&quot;, &quot;シート名を確認してください&quot;)</code></pre>



<p class="wp-block-paragraph">入力チェックを関数だけで実現できるので、Apps Scriptを書くほどでもない簡易検証に向いていますよ。</p>



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



<p class="wp-block-paragraph">ISREFを使っていて遭遇しやすいトラブルをまとめます。</p>



<h3 class="wp-block-heading"><span id="toc12">文字列を渡してしまいFALSEが返る</span></h3>



<p class="wp-block-paragraph"><code>=ISREF("A1")</code>のように文字列リテラルを渡すと必ずFALSEになります。セル参照そのものを評価したいときは引用符を外すか、INDIRECT関数で文字列を参照に変換してから渡しましょう。</p>



<h3 class="wp-block-heading"><span id="toc13">#REF!エラーが出てしまう</span></h3>



<p class="wp-block-paragraph">INDIRECTで存在しないシート名を渡すと、ISREFはFALSEを返してくれます。ただしINDIRECT単体を別の場所で使っていると#REF!エラーが出てしまいます。エラーが出る場所を特定して、その箇所もIF+ISREFでガードしましょう。</p>



<h3 class="wp-block-heading"><span id="toc14">#NAME?エラーが出る</span></h3>



<p class="wp-block-paragraph">関数名のスペルミス（「ISREFF」など）が原因です。関数候補のサジェストをよく確認しながら入力するのが確実ですよ。</p>



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



<p class="wp-block-paragraph">スプレッドシートのISREF関数について、基本構文から実務での活用パターンまで紹介してきました。最後にポイントを振り返っておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>ポイント</th><th>内容</th></tr></thead><tbody><tr><td>構文</td><td><code>=ISREF(値)</code></td></tr><tr><td>戻り値</td><td>参照ならTRUE、それ以外はFALSE</td></tr><tr><td>主な用途</td><td>INDIRECT関数の参照先チェック・エラー防止</td></tr><tr><td>相棒の関数</td><td>INDIRECT・IF・名前付き範囲</td></tr><tr><td>似た関数</td><td>ISNUMBER・ISTEXT・ISBLANK・ISFORMULA</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ISREF関数は単体で使う場面はあまり多くありませんが、INDIRECT関数と組み合わせると一気に活躍の場が広がります。動的に参照先を切り替えるダッシュボードや、名前付き範囲を多用するテンプレートで重宝する関数ですよ。</p>



<p class="wp-block-paragraph">参照エラーで画面が崩れる前に、ISREFをIF関数とセットで仕込んでおきましょう。</p>



<p class="wp-block-paragraph">関連記事もぜひ参考にしてみてください。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-isnumber-function/">スプレッドシートのISNUMBER関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-isblank-function/">スプレッドシートのISBLANK関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-istext-function/">スプレッドシートのISTEXT関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-isformula-function/">スプレッドシートのISFORMULA関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-true-function/">スプレッドシートのTRUE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-false-function/">スプレッドシートのFALSE関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-isref-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのISFORMULA関数の使い方｜数式判定</title>
		<link>https://mashukabu.com/spreadsheet-isformula-function/</link>
					<comments>https://mashukabu.com/spreadsheet-isformula-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 22 Mar 2026 01:13:54 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[FORMULATEXT]]></category>
		<category><![CDATA[ISFORMULA]]></category>
		<category><![CDATA[IS関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[数式判定]]></category>
		<category><![CDATA[条件付き書式]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5001</guid>

					<description><![CDATA[GoogleスプレッドシートのISFORMULA関数の使い方を初心者向けに解説。数式判定の基本構文から、IF関数との組み合わせ、条件付き書式での色分け、FORMULATEXT関数との使い分けまで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「あれ、ここ数式が入ってたはずなのに&#8230;&#8230;」。共有シートで数式が値に貼り替えられていた経験、ありますよね。</p>



<p class="wp-block-paragraph">数百行のシートを1セルずつ確認するのは大変です。そんなときに便利なのがISFORMULA関数です。</p>



<p class="wp-block-paragraph">スプレッドシートのISFORMULA関数を使えば、セルに数式が入っているかどうかをTRUE/FALSEで瞬時に判定できます。この記事では、基本から実務で役立つ活用パターンまでまとめて紹介します。</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">スプレッドシートのISFORMULA関数とは？</a></li><li><a href="#toc2" tabindex="0">ISFORMULA関数の書き方（構文と引数）</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">ISFORMULA関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">セルの内容ごとの判定結果</a></li><li><a href="#toc7" tabindex="0">数式の「結果」ではなく「有無」を判定する</a></li></ol></li><li><a href="#toc8" tabindex="0">ISFORMULA関数の実践的な使い方・応用例</a><ol><li><a href="#toc9" tabindex="0">IF関数と組み合わせて数式セルを判別する</a></li><li><a href="#toc10" tabindex="0">条件付き書式で数式セルを色分けする</a></li><li><a href="#toc11" tabindex="0">値の貼り付けミスを検出する</a></li><li><a href="#toc12" tabindex="0">FORMULATEXT関数と組み合わせて数式一覧を作る</a></li></ol></li><li><a href="#toc13" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc14" tabindex="0">Excelとの違い</a></li><li><a href="#toc15" tabindex="0">まとめ</a><ol><li><a href="#toc16" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ISFORMULA関数（読み方: いず ふぉーみゅら）は、<strong>指定したセルに数式が入っているかどうかを判定する関数</strong>です。</p>



<p class="wp-block-paragraph">名前は英語の「IS FORMULA（数式ですか？）」からきています。</p>



<p class="wp-block-paragraph">セルに数式（=で始まる式）が入っていればTRUEを返します。値・文字列・空白セルなど、数式以外はすべてFALSEです。</p>



<p class="wp-block-paragraph">ISFORMULA関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>セルに数式が入っているかをTRUE/FALSEで返す</li><li>IF関数と組み合わせて数式セルと値セルを判別する</li><li>条件付き書式で数式セルだけを色分けする</li><li>FORMULATEXT関数と組み合わせて数式の一覧表を作る</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>ISFORMULA関数はGoogleスプレッドシートの全バージョンで使えます。Excelでも2013以降で同じ関数が使えるので、ファイルのやり取りでも安心です。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=ISFORMULA(セル)</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>TIP</strong></p><p>ISFORMULA関数の引数には<strong>セル参照</strong>を指定します。直接値（<code>=ISFORMULA(100)</code> など）を入れると正しく判定できません。この点がISNUMBER関数やISTEXT関数など、他のIS系関数と異なるポイントです。</p></blockquote>



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



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



<h3 class="wp-block-heading"><span id="toc6">セルの内容ごとの判定結果</span></h3>



<p class="wp-block-paragraph">さまざまなセルをISFORMULA関数で判定すると、次のような結果になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>セルの内容</th><th>数式バーの表示</th><th>ISFORMULA の結果</th><th>理由</th></tr></thead><tbody><tr><td>=SUM(A1:A5)</td><td>=SUM(A1:A5)</td><td><strong>TRUE</strong></td><td>数式が入っている</td></tr><tr><td>100（直接入力）</td><td>100</td><td><strong>FALSE</strong></td><td>値なので数式ではない</td></tr><tr><td>東京（文字列）</td><td>東京</td><td><strong>FALSE</strong></td><td>文字列なので数式ではない</td></tr><tr><td>（空白セル）</td><td>&nbsp;</td><td><strong>FALSE</strong></td><td>空白なので数式ではない</td></tr><tr><td>=IF(B1>50,&#8221;合格&#8221;,&#8221;不合格&#8221;)</td><td>=IF(B1>50,&#8230;</td><td><strong>TRUE</strong></td><td>結果が文字列でも数式は数式</td></tr><tr><td>=1+1</td><td>=1+1</td><td><strong>TRUE</strong></td><td>計算結果が2でも数式</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc7">数式の「結果」ではなく「有無」を判定する</span></h3>



<p class="wp-block-paragraph">ここが重要なポイントです。ISFORMULA関数は数式の計算結果ではなく、<strong>数式の有無</strong>を見ています。</p>



<p class="wp-block-paragraph">上の表の <code>=1+1</code> がわかりやすい例です。結果は2でも数式だからTRUE。<code>2</code> と直接入力すればFALSEです。</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-istext-function/">ISTEXT関数</a>や<a href="https://mashukabu.com/spreadsheet-isnumber-function/">ISNUMBER関数</a>を使いましょう。ISFORMULA関数は「数式かどうか」だけに特化した関数ですよ。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc9">IF関数と組み合わせて数式セルを判別する</span></h3>



<p class="wp-block-paragraph">セルの内容に応じてラベルを表示したい場面で使えます。</p>



<pre class="wp-block-code"><code>=IF(ISFORMULA(B2),&quot;数式&quot;,&quot;値&quot;)</code></pre>



<p class="wp-block-paragraph">B2に数式が入っていれば「数式」と表示します。値が直接入力されていれば「値」です。</p>



<p class="wp-block-paragraph">テンプレートシートの検品に便利ですよ。数式であるべきセルに値が混ざっていないかを確認できます。</p>



<h3 class="wp-block-heading"><span id="toc10">条件付き書式で数式セルを色分けする</span></h3>



<p class="wp-block-paragraph">数式が入っているセルだけをハイライトしたい場合に使えます。</p>



<ol class="wp-block-list"><li>対象範囲を選択します</li><li>「表示形式」メニュー →「条件付き書式」を選択します</li><li>「カスタム数式」を選びます</li><li>数式欄に <code>=ISFORMULA(A1)</code> と入力します</li><li>好きな書式（薄い青の塗りつぶしなど）を設定します</li></ol>



<p class="wp-block-paragraph">これで数式セルだけが色分けされます。値セルだけを色分けするなら <code>=NOT(ISFORMULA(A1))</code> にしましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>値の貼り付けで数式が消えていないかを視覚的にチェックできます。共有シートの管理に活用してみてください。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc11">値の貼り付けミスを検出する</span></h3>



<p class="wp-block-paragraph">共有シートで「数式が値に貼り替えられた」トラブルを見つけるパターンです。</p>



<p class="wp-block-paragraph">C列が本来すべて数式であるべき場合、次のように書きます。</p>



<pre class="wp-block-code"><code>=IF(AND(C2&lt;&gt;&quot;&quot;,NOT(ISFORMULA(C2))),&quot;要確認&quot;,&quot;OK&quot;)</code></pre>



<p class="wp-block-paragraph">C2が空白でなく、かつ数式でもない場合に「要確認」と表示します。値が直接入力されたセルを効率よく見つけられますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">FORMULATEXT関数と組み合わせて数式一覧を作る</span></h3>



<p class="wp-block-paragraph">数式の中身をテキストとして表示したい場面があります。<a href="https://mashukabu.com/spreadsheet-formulatext-function/">FORMULATEXT関数</a>と組み合わせると便利です。</p>



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



<p class="wp-block-paragraph">B2に数式が入っていれば、その数式のテキストを表示します。値のセルは「&#8212;」です。</p>



<p class="wp-block-paragraph">FORMULATEXT関数は対象セルに数式がないとエラーになります。ISFORMULA関数で先に「数式があるか」を判定してから使うのが安全なパターンです。</p>



<p class="wp-block-paragraph">シート保護前の数式チェックリスト作りに重宝しますよ。</p>



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



<p class="wp-block-paragraph">ISFORMULA関数で「思った結果にならない」ケースをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>値のセルなのにTRUEが返る</td><td><code>=100</code> のように =で始まる式が入っている</td><td>数式バーで確認。<code>=100</code> も数式扱い</td></tr><tr><td>数式セルなのにFALSEが返る</td><td>値の貼り付けで数式が消えている</td><td>数式バーでセルの内容を確認する</td></tr><tr><td>空白セルでFALSEが返る</td><td>空白セルには数式がない</td><td>空白判定には<a href="https://mashukabu.com/spreadsheet-isblank-function/">ISBLANK関数</a>を使う</td></tr><tr><td>直接値を引数に入れて判定できない</td><td>引数にセル参照ではなく値を入れた</td><td>セル参照のみ指定可能。<code>=ISFORMULA(A1)</code> のようにセルを指定する</td></tr><tr><td>ARRAYFORMULAのゴーストセルでFALSEが返る</td><td>数式の先頭セルのみがTRUE</td><td>値が展開されただけのセルはFALSEになる。先頭セルを確認する</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">ISFORMULA関数は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>=ISFORMULA(参照)</td><td>=ISFORMULA(セル)</td></tr><tr><td>動作</td><td>数式ならTRUE</td><td>数式ならTRUE</td></tr><tr><td>直接値を渡した場合</td><td>#VALUE! エラー</td><td>FALSE（エラーにならない）</td></tr><tr><td>対応バージョン</td><td>Excel 2013以降</td><td>全バージョン対応</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">大きな違いは、直接値を引数に渡した場合の挙動です。ExcelではエラーになりますがスプレッドシートではFALSEを返します。とはいえ、セル参照を使うのが正しい使い方なので、実務上の影響はほとんどありません。</p>



<p class="wp-block-paragraph">Excelでの使い方は<a href="https://mashukabu.com/excel-function-howto-use-isformula/">ExcelのISFORMULA関数の記事</a>で詳しく解説しています。</p>



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



<p class="wp-block-paragraph">ISFORMULA関数は、セルに数式が入っているかどうかを判定するシンプルな関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=ISFORMULA(セル)</code> で、引数は1つだけ</li><li>数式が入っていればTRUE、値や空白ならFALSE</li><li>数式の「結果」ではなく「有無」を判定する</li><li>IF関数や条件付き書式と組み合わせるのが実務での定番パターン</li><li>値の貼り付けミスの検出やテンプレート検品に便利</li><li>数式の中身を見たいときは<a href="https://mashukabu.com/spreadsheet-formulatext-function/">FORMULATEXT関数</a>と組み合わせる</li><li><a href="https://mashukabu.com/excel-function-howto-use-isformula/">ExcelのISFORMULA関数</a>とほぼ同じ動作で、互換性も安心</li></ul>



<p class="wp-block-paragraph">まずは <code>=ISFORMULA(A1)</code> で、数式が入っているかどうかの確認から試してみてください。</p>



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



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-isformula/">ExcelのISFORMULA関数の使い方｜セルに数式が入っているか判定する方法</a></li><li><a href="https://mashukabu.com/spreadsheet-formulatext-function/">スプレッドシートのFORMULATEXT関数の使い方｜数式をテキスト表示する方法</a></li><li><a href="https://mashukabu.com/spreadsheet-isblank-function/">スプレッドシートのISBLANK関数の使い方｜空白セル判定</a></li><li><a href="https://mashukabu.com/spreadsheet-isnumber-function/">スプレッドシートのISNUMBER関数の使い方｜数値判定</a></li><li><a href="https://mashukabu.com/spreadsheet-istext-function/">スプレッドシートのISTEXT関数の使い方｜文字列判定</a></li><li><a href="https://mashukabu.com/spreadsheet-iserror-function/">スプレッドシートのISERROR関数の使い方｜エラー判定</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-isformula-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのISDATE関数の使い方｜セルが日付かどうかを判定する完全ガイド</title>
		<link>https://mashukabu.com/spreadsheet-isdate-function/</link>
					<comments>https://mashukabu.com/spreadsheet-isdate-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 22 Mar 2026 01:13:48 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ISDATE]]></category>
		<category><![CDATA[IS関数]]></category>
		<category><![CDATA[Sheets独自]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[データ検証]]></category>
		<category><![CDATA[日付判定]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4999</guid>

					<description><![CDATA[GoogleスプレッドシートのISDATE関数の使い方を初心者向けに解説。日付判定の基本構文から、IF関数との組み合わせ、データ入力チェック、FILTER関数による日付抽出、ExcelのISNUMBER関数による代替まで実例付きで紹介します。Excelにはない独自関数です。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「このセルに入っている値、日付として認識されている？」と気になったことはありませんか。</p>



<p class="wp-block-paragraph">見た目は日付っぽいのに、計算するとエラーになる。並べ替えたら順番がバラバラ。フィルターをかけても日付として絞り込めない。こうしたトラブルは、セルの値が<strong>本当に日付データ型</strong>かどうかを確認すれば防げます。</p>



<p class="wp-block-paragraph">スプレッドシートのISDATE関数を使えば、セルの値が日付かどうかを一発で判定できますよ。</p>



<p class="wp-block-paragraph">この記事では、ISDATE関数の基本構文から、IF関数・FILTER関数・ARRAYFORMULA関数との組み合わせ、データ入力チェック、Excelとの違いまでまとめて紹介します。</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">スプレッドシートのISDATE関数とは？</a></li><li><a href="#toc2" tabindex="0">ISDATE関数の書き方（構文と引数）</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">ISDATE関数の基本的な使い方</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><li><a href="#toc9" tabindex="0">DATE関数の結果を判定する</a></li></ol></li><li><a href="#toc10" tabindex="0">ISDATE関数の実践的な使い方・応用例</a><ol><li><a href="#toc11" tabindex="0">IF関数と組み合わせて日付チェックする</a></li><li><a href="#toc12" tabindex="0">入力データのバリデーションに使う</a></li><li><a href="#toc13" tabindex="0">条件付き書式と組み合わせて目立たせる</a></li><li><a href="#toc14" tabindex="0">FILTER関数で日付データだけ抽出する</a></li><li><a href="#toc15" tabindex="0">ARRAYFORMULA関数で一括判定する</a></li><li><a href="#toc16" tabindex="0">DATEVALUE関数と組み合わせて文字列を日付に変換する</a></li></ol></li><li><a href="#toc17" tabindex="0">ISDATE関数でよくあるエラーと対処法</a></li><li><a href="#toc18" tabindex="0">ExcelとのISDATE関数の違い</a></li><li><a href="#toc19" tabindex="0">ISDATE関数とISNUMBER関数の違い</a></li><li><a href="#toc20" tabindex="0">ISDATE関数のよくある質問（FAQ）</a><ol><li><a href="#toc21" tabindex="0">Q. 「2026-03-22」と「2026/03/22」で結果が変わりますか？</a></li><li><a href="#toc22" tabindex="0">Q. ISDATE関数で時刻だけのセルもTRUEになるのを防ぎたい</a></li><li><a href="#toc23" tabindex="0">Q. ISDATE関数の処理が重いです。軽くする方法は？</a></li><li><a href="#toc24" tabindex="0">Q. ISDATE関数とDATEVALUE関数はどう使い分ける？</a></li><li><a href="#toc25" tabindex="0">Q. ISDATE関数の結果をTRUE/FALSEではなく日本語で表示したい</a></li><li><a href="#toc26" tabindex="0">Q. 株価やレートのデータを取り込んだら日付列がFALSEだらけになります</a></li></ol></li><li><a href="#toc27" tabindex="0">まとめ</a><ol><li><a href="#toc28" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ISDATE関数（読み方: いず でいと）は、<strong>指定した値が日付かどうかを判定する関数</strong>です。</p>



<p class="wp-block-paragraph">名前は英語の「IS DATE（日付ですか？）」からきています。対象が日付データであれば <code>TRUE</code> を返し、日付でなければ <code>FALSE</code> を返します。日付だけでなく、日時（日付+時刻）の値も <code>TRUE</code> になります。</p>



<p class="wp-block-paragraph">ISDATE関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>セルの値が日付データかどうかを <code>TRUE</code>/<code>FALSE</code> で返す</li><li><a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>と組み合わせて日付・非日付で処理を分岐する</li><li>入力データのバリデーション（日付チェック）に使う</li><li><a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>で日付データだけ抽出する</li><li><a href="https://mashukabu.com/spreadsheet-countif-function/">COUNTIF関数</a>と組み合わせて不正データの件数をカウントする</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>ISDATE関数は<strong>Googleスプレッドシート独自の関数</strong>です。Excelには存在しません。Excelでの代替方法は記事の後半で詳しく解説しています。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=ISDATE(値)</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>TIP</strong></p><p>ISDATE関数が判定するのは「セルの値が日付型かどうか」です。見た目が日付っぽい文字列（例: <code>"2026/3/22"</code> のような半角スラッシュ区切り文字列）でも、スプレッドシートが日付型として認識していなければ <code>FALSE</code> になります。</p></blockquote>



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



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>A1 の中身</th><th>結果</th><th>理由</th></tr></thead><tbody><tr><td><code>=ISDATE(A1)</code></td><td>日付「2026/3/22」</td><td><strong>TRUE</strong></td><td>スプレッドシートが日付として認識している</td></tr><tr><td><code>=ISDATE(A1)</code></td><td>数値「100」</td><td><strong>FALSE</strong></td><td>数値は日付ではない</td></tr><tr><td><code>=ISDATE(A1)</code></td><td>文字列「こんにちは」</td><td><strong>FALSE</strong></td><td>文字列は日付ではない</td></tr><tr><td><code>=ISDATE(A1)</code></td><td>日時「2026/3/22 10:30」</td><td><strong>TRUE</strong></td><td>日時も日付型として扱われる</td></tr><tr><td><code>=ISDATE(A1)</code></td><td>空白</td><td><strong>FALSE</strong></td><td>空白セルは日付ではない</td></tr><tr><td><code>=ISDATE(A1)</code></td><td>文字列「3月22日」</td><td><strong>FALSE</strong></td><td>表示形式が日付風でも文字列ならFALSE</td></tr><tr><td><code>=ISDATE(A1)</code></td><td>エラー（#N/Aなど）</td><td><strong>エラー伝播</strong></td><td>エラー値はそのまま伝播する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポイントは「見た目」ではなく「データ型」で判定されることです。</p>



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



<p class="wp-block-paragraph">セル参照を使えば、特定のセルの値が日付かどうかを確認できます。</p>



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



<p class="wp-block-paragraph">A1 にカレンダーから入力した日付や、<code>2026/3/22</code> のように自動的に日付認識された値が入っていれば <code>TRUE</code> を返します。文字列として手入力されたものは <code>FALSE</code> です。</p>



<h3 class="wp-block-heading"><span id="toc8">直接値を判定する</span></h3>



<p class="wp-block-paragraph">セル参照を使わず、ISDATE関数のカッコ内に値を直接書くこともできます。</p>



<pre class="wp-block-code"><code>=ISDATE(&quot;2026/3/22&quot;)</code></pre>



<p class="wp-block-paragraph">ただし、ダブルクォートで囲んだ値は<strong>文字列として扱われる</strong>ため、この式は <code>FALSE</code> を返します。直接値を使う場合は、後述の <a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a> で日付を作るのが確実です。</p>



<h3 class="wp-block-heading"><span id="toc9">DATE関数の結果を判定する</span></h3>



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



<pre class="wp-block-code"><code>=ISDATE(DATE(2026,3,22))</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a>は日付型の値を返すので、この結果は <code>TRUE</code> です。同じく <a href="https://mashukabu.com/spreadsheet-today-function/">TODAY関数</a> や <a href="https://mashukabu.com/spreadsheet-now-function/">NOW関数</a> の結果もすべて <code>TRUE</code> になります。</p>



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



<h3 class="wp-block-heading"><span id="toc11">IF関数と組み合わせて日付チェックする</span></h3>



<p class="wp-block-paragraph">データ入力が日付かどうかに応じてラベルを付けたい場面で使えます。</p>



<pre class="wp-block-code"><code>=IF(ISDATE(A2),&quot;OK&quot;,&quot;日付を入力してください&quot;)</code></pre>



<p class="wp-block-paragraph">A2 が日付なら「OK」と表示します。日付でなければ「日付を入力してください」と表示されます。</p>



<p class="wp-block-paragraph">申込フォームの回答チェックや、勤怠表の入力チェックに便利ですよ。複数条件を組みたい場合は <a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS関数</a> と組み合わせると見通しがよくなります。</p>



<h3 class="wp-block-heading"><span id="toc12">入力データのバリデーションに使う</span></h3>



<p class="wp-block-paragraph">複数人で共有するシートでは、日付欄に文字列やおかしな値が入ることがあります。ISDATE関数で一括チェックできます。</p>



<ol class="wp-block-list"><li>B列に <code>=ISDATE(A2)</code> を入力します</li><li>下方向にコピーします</li><li><code>FALSE</code> が表示された行が「日付として認識されていない」データです</li></ol>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-countif-function/">COUNTIF関数</a>と組み合わせれば、不正データの件数もすぐわかります。</p>



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



<p class="wp-block-paragraph">これで日付として認識されていないセルの数が出ます。データクレンジングの第一歩として活用してみてください。</p>



<h3 class="wp-block-heading"><span id="toc13">条件付き書式と組み合わせて目立たせる</span></h3>



<p class="wp-block-paragraph">ISDATE関数は条件付き書式のカスタム数式にも使えます。日付以外のセルだけ赤く塗ると、ミスがひと目で見つかります。</p>



<ol class="wp-block-list"><li>範囲 A2:A100 を選択する</li><li>「表示形式」→「条件付き書式」→「カスタム数式」を選ぶ</li><li>数式に <code>=NOT(ISDATE(A2))</code> を入力する</li><li>背景色を赤に設定する</li></ol>



<p class="wp-block-paragraph">これで「日付ではない＝赤」になります。チェック専用列を増やさずに済むので、シートがスッキリしますよ。</p>



<h3 class="wp-block-heading"><span id="toc14">FILTER関数で日付データだけ抽出する</span></h3>



<p class="wp-block-paragraph">日付が入っている行だけを取り出したい場面があります。<a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>と組み合わせると便利です。</p>



<pre class="wp-block-code"><code>=FILTER(A2:C20,ISDATE(A2:A20))</code></pre>



<p class="wp-block-paragraph">A列の値が日付のデータだけが抽出されます。日付と文字列が混在するリストの整理に役立ちますよ。</p>



<p class="wp-block-paragraph">逆に「日付<strong>ではない</strong>行」だけ抽出したい場合は、<code>NOT(ISDATE(...))</code> でラップします。</p>



<pre class="wp-block-code"><code>=FILTER(A2:C20,NOT(ISDATE(A2:A20)))</code></pre>



<p class="wp-block-paragraph">不正データの行だけを取り出せるので、修正担当者にそのまま渡せます。</p>



<h3 class="wp-block-heading"><span id="toc15">ARRAYFORMULA関数で一括判定する</span></h3>



<p class="wp-block-paragraph">大量のデータを一括で判定したいときは、<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a>と組み合わせます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(ISDATE(A2:A100))</code></pre>



<p class="wp-block-paragraph">A2からA100まで、すべてのセルに対して日付判定が一括で実行されます。1つずつ数式をコピーする手間が省けます。データの追加に強い「動的な数式」を作りたいときの定番パターンです。</p>



<h3 class="wp-block-heading"><span id="toc16">DATEVALUE関数と組み合わせて文字列を日付に変換する</span></h3>



<p class="wp-block-paragraph">「ISDATE で <code>FALSE</code> だったら、<a href="https://mashukabu.com/spreadsheet-datevalue-function/">DATEVALUE関数</a> で日付に変換する」という処理もよく使われます。</p>



<pre class="wp-block-code"><code>=IF(ISDATE(A2),A2,DATEVALUE(A2))</code></pre>



<p class="wp-block-paragraph">A2 がすでに日付ならそのまま、文字列なら日付に変換した値を返します。Webからコピーしてきた日付文字列を一気に正規化したいときに便利です。</p>



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



<p class="wp-block-paragraph">ISDATE関数で「思った結果にならない」ケースをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>日付っぽいのに <code>FALSE</code> になる</td><td>セルの値が文字列として入力されている</td><td>セルを選択して「表示形式」→「数値」→「日付」に変更する。または<a href="https://mashukabu.com/spreadsheet-datevalue-function/">DATEVALUE関数</a>で日付型に変換する</td></tr><tr><td>数値なのに <code>TRUE</code> になる</td><td>セルの表示形式が「日付」に設定されている</td><td>表示形式を「数値」に戻す。ISDATE関数はセルの内部型を見るため、表示形式によっては数値でも <code>TRUE</code> になる</td></tr><tr><td>時刻だけ入力したセルが <code>TRUE</code> になる</td><td>時刻のみ（例: <code>10:30</code>）も内部では日付+時刻として扱われる</td><td>時刻のみのセルもTRUEになることがある。日付だけを判定したい場合は <code>=AND(ISDATE(A1),A1>=DATE(2000,1,1))</code> のように範囲を絞る</td></tr><tr><td>空白セルで <code>FALSE</code> になる</td><td>空白は日付ではない</td><td>仕様どおりの動作。空白を許容したい場合は <code>=IF(A1="","未入力",IF(ISDATE(A1),"OK","日付ではありません"))</code></td></tr><tr><td><code>2026/13/01</code> で <code>FALSE</code> になる</td><td>存在しない月のため、スプレッドシートが日付として認識しない</td><td>正しい日付を入力し直す</td></tr><tr><td>インポートしたCSVの日付が全部 <code>FALSE</code></td><td>テキスト形式で取り込まれている</td><td>A列を選択し「データ」→「列を分割」→「自動検出」、または<a href="https://mashukabu.com/spreadsheet-datevalue-function/">DATEVALUE関数</a>で一括変換</td></tr><tr><td><code>#N/A</code> などのエラーが返る</td><td>引数のセルがエラー値</td><td><a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a>でラップする: <code>=IFERROR(ISDATE(A1),FALSE)</code></td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc18">ExcelとのISDATE関数の違い</span></h2>



<p class="wp-block-paragraph">ISDATE関数は<strong>Googleスプレッドシート独自の関数</strong>です。Excelには存在しません。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Googleスプレッドシート</th><th>Excel</th></tr></thead><tbody><tr><td>ISDATE関数</td><td>使える</td><td><strong>存在しない</strong></td></tr><tr><td>構文</td><td><code>=ISDATE(値)</code></td><td>―</td></tr><tr><td>代替方法</td><td>―</td><td>ISNUMBER関数で代用する</td></tr><tr><td>結果がエラー値の挙動</td><td>エラー伝播</td><td>―</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Excelで同じことをしたい場合は、<a href="https://mashukabu.com/excel-function-howto-use-isnumber/">ISNUMBER関数</a>を使って代用できます。</p>



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



<p class="wp-block-paragraph">日付はExcel内部でもシリアル値（数値）として管理されています。そのため、ISNUMBER関数が <code>TRUE</code> を返せば日付の可能性があります。</p>



<p class="wp-block-paragraph">ただし、ISNUMBER関数は普通の数値でも <code>TRUE</code> を返すため、日付だけを正確に判定することはできません。より厳密に日付かどうかを判定したい場合は、次の数式を使います。</p>



<pre class="wp-block-code"><code>=AND(ISNUMBER(A1),A1&gt;=1,A1&lt;=2958465)</code></pre>



<p class="wp-block-paragraph">この数式は、数値でありかつExcelの日付範囲（1900/1/1～9999/12/31）に収まるかを判定します。完璧ではありませんが、ISDATEの代わりとして実用的ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>Googleスプレッドシートで作成したISDATE関数入りのファイルをExcelで開くと、ISDATE関数の部分は <code>#NAME?</code> エラーになります。Excel環境との共有が前提のファイルでは、ISNUMBER関数による代替式を使いましょう。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc19">ISDATE関数とISNUMBER関数の違い</span></h2>



<p class="wp-block-paragraph">ISDATE関数と<a href="https://mashukabu.com/spreadsheet-isnumber-function/">ISNUMBER関数</a>は、どちらもデータ型を判定するIS系関数です。判定する対象が異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>ISDATE関数</th><th>ISNUMBER関数</th></tr></thead><tbody><tr><td>判定対象</td><td>日付型かどうか</td><td>数値型かどうか</td></tr><tr><td>日付セルに対して</td><td><code>TRUE</code></td><td><code>TRUE</code>（日付はシリアル値=数値）</td></tr><tr><td>数値セルに対して</td><td><code>FALSE</code></td><td><code>TRUE</code></td></tr><tr><td>文字列セルに対して</td><td><code>FALSE</code></td><td><code>FALSE</code></td></tr><tr><td>Excel互換</td><td>なし（Sheets独自）</td><td>あり</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">注目すべきポイントは、日付セルに対する動作の違いです。ISNUMBER関数は日付セルでも <code>TRUE</code> を返します。日付はスプレッドシート内部で数値（シリアル値）として管理されているためです。</p>



<p class="wp-block-paragraph">「日付かどうか」だけを判定したい場合はISDATE関数を使いましょう。「数値全般（日付含む）かどうか」を判定したい場合はISNUMBER関数が適しています。</p>



<p class="wp-block-paragraph">ほかのIS系関数として <a href="https://mashukabu.com/spreadsheet-istext-function/">ISTEXT関数</a>（文字列判定）、<a href="https://mashukabu.com/spreadsheet-isblank-function/">ISBLANK関数</a>（空白判定）も合わせて覚えておくと、データ検証のレパートリーが広がります。</p>



<h2 class="wp-block-heading"><span id="toc20">ISDATE関数のよくある質問（FAQ）</span></h2>



<h3 class="wp-block-heading"><span id="toc21">Q. 「2026-03-22」と「2026/03/22」で結果が変わりますか？</span></h3>



<p class="wp-block-paragraph">スプレッドシートの設定ロケール（言語と地域）によって変わります。日本ロケールでは両方とも自動的に日付として認識されることが多いですが、英語ロケールでは <code>2026-03-22</code> が引き算と解釈されるケースがあります。「ファイル」→「設定」→「言語と地域」を日本に揃えておくと安全です。</p>



<h3 class="wp-block-heading"><span id="toc22">Q. ISDATE関数で時刻だけのセルもTRUEになるのを防ぎたい</span></h3>



<p class="wp-block-paragraph">時刻のみ（例: <code>10:30:00</code>）はシリアル値として 0以上1未満の小数になります。次の式で「整数部分があるか」をチェックすれば、純粋な時刻を除外できます。</p>



<pre class="wp-block-code"><code>=AND(ISDATE(A1),INT(A1)&gt;0)</code></pre>



<h3 class="wp-block-heading"><span id="toc23">Q. ISDATE関数の処理が重いです。軽くする方法は？</span></h3>



<p class="wp-block-paragraph">ISDATE関数自体は軽量ですが、何千行に対して個別の数式を入れると再計算が遅くなります。<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a>でまとめて1つの数式にする、または列ごとフィルターで対象を絞ってから判定するのがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc24">Q. ISDATE関数とDATEVALUE関数はどう使い分ける？</span></h3>



<p class="wp-block-paragraph">ISDATE関数は「<strong>判定</strong>するだけ」、<a href="https://mashukabu.com/spreadsheet-datevalue-function/">DATEVALUE関数</a>は「<strong>変換</strong>する」関数です。文字列を日付に変えたいときはDATEVALUE、現状の型を確認したいときはISDATEを使います。両者を <code>IF</code> で組み合わせると「すでに日付ならそのまま、違うなら変換」という処理が書けます。</p>



<h3 class="wp-block-heading"><span id="toc25">Q. ISDATE関数の結果をTRUE/FALSEではなく日本語で表示したい</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>でラップするのが定番です。</p>



<pre class="wp-block-code"><code>=IF(ISDATE(A1),&quot;日付&quot;,&quot;日付ではない&quot;)</code></pre>



<p class="wp-block-paragraph">これで <code>TRUE</code>/<code>FALSE</code> ではなく日本語ラベルで表示できます。社内の共有シートでは日本語表示にしておくと、他の人にも伝わりやすいですよ。</p>



<h3 class="wp-block-heading"><span id="toc26">Q. 株価やレートのデータを取り込んだら日付列がFALSEだらけになります</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-googlefinance-function/">GOOGLEFINANCE関数</a>や外部CSVから取り込んだ日付は、まれにテキストとして扱われることがあります。<code>DATEVALUE</code> で正規化するか、列を選択して「データ」→「列を分割」→「自動検出」で再認識させてください。</p>



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



<p class="wp-block-paragraph">ISDATE関数は、セルの値が日付かどうかを判定するシンプルな関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=ISDATE(値)</code> で、引数は1つだけ</li><li>日付型なら <code>TRUE</code>、それ以外は <code>FALSE</code> を返す</li><li>「見た目」ではなく「データ型」で判定される</li><li>日時（日付+時刻）の値も <code>TRUE</code> になる</li><li><a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>と組み合わせて入力データのバリデーションに使うのが定番</li><li><a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>や<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a>との組み合わせも便利</li><li>条件付き書式の「カスタム数式」でミスを色分け表示できる</li><li><strong>Googleスプレッドシート独自の関数</strong>でExcelには存在しない</li><li>Excelでの代替は<a href="https://mashukabu.com/excel-function-howto-use-isnumber/">ISNUMBER関数</a>を使う</li></ul>



<p class="wp-block-paragraph">まずは <code>=ISDATE(A1)</code> で、セルの値が日付として認識されているか確認してみてください。日付計算がうまくいかないときの「最初の一手」として覚えておくと、データクレンジングのスピードがぐっと上がりますよ。</p>



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



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-isnumber-function/">スプレッドシートのISNUMBER関数の使い方｜数値判定</a></li><li><a href="https://mashukabu.com/spreadsheet-istext-function/">スプレッドシートのISTEXT関数の使い方｜テキスト判定</a></li><li><a href="https://mashukabu.com/spreadsheet-isblank-function/">スプレッドシートのISBLANK関数の使い方｜空白判定</a></li><li><a href="https://mashukabu.com/spreadsheet-datevalue-function/">スプレッドシートのDATEVALUE関数の使い方｜文字列→日付変換</a></li><li><a href="https://mashukabu.com/spreadsheet-date-function/">スプレッドシートのDATE関数の使い方｜月末日・Nヶ月後も自動計算</a></li><li><a href="https://mashukabu.com/spreadsheet-filter-function/">スプレッドシートのFILTER関数の使い方｜条件で抽出する完全ガイド</a></li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方｜一括処理の決定版</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-isnumber/">ExcelのISNUMBER関数の使い方｜数値と文字列型数字の見分け方も解説</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-isdate-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのISURL関数の使い方｜URL判定</title>
		<link>https://mashukabu.com/spreadsheet-isurl-function/</link>
					<comments>https://mashukabu.com/spreadsheet-isurl-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 22 Mar 2026 01:13:43 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ISURL]]></category>
		<category><![CDATA[IS関数]]></category>
		<category><![CDATA[Sheets独自]]></category>
		<category><![CDATA[URL判定]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4997</guid>

					<description><![CDATA[GoogleスプレッドシートのISURL関数の使い方を初心者向けに解説。URL判定の基本構文から、IF関数との組み合わせ、HYPERLINK関数との連携、データクレンジングでの活用まで実例付きで紹介します。Sheets独自関数のためExcelには存在しません。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「このセルに入っているのはURLなの？ ただの文字列なの？」を目視で確認していませんか。</p>



<p class="wp-block-paragraph">数件なら見ればわかりますが、数百行のリストになると見落としやミスが出てきます。</p>



<p class="wp-block-paragraph">スプレッドシートにはセルの値がURLかどうかを一発で判定できるISURL関数があります。</p>



<p class="wp-block-paragraph">この記事では、ISURL関数の基本から実務で使える活用パターンまでまとめて紹介します。</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">スプレッドシートのISURL関数とは？</a></li><li><a href="#toc2" tabindex="0">ISURL関数の書き方（構文と引数）</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">ISURL関数の基本的な使い方</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">ISURL関数の実践的な使い方・応用例</a><ol><li><a href="#toc10" tabindex="0">IF関数と組み合わせてURL有無を表示する</a></li><li><a href="#toc11" tabindex="0">HYPERLINK関数と組み合わせて安全にリンクを作成する</a></li><li><a href="#toc12" tabindex="0">FILTER関数でURLが入った行だけ抽出する</a></li><li><a href="#toc13" tabindex="0">URLの件数をカウントする</a></li><li><a href="#toc14" tabindex="0">データクレンジングでURL以外を除外する</a></li></ol></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">スプレッドシートのISURL関数とは？</span></h2>



<p class="wp-block-paragraph">ISURL関数（読み方: いず ゆーあーるえる）は、<strong>指定した値が有効なURL形式かどうかを判定する関数</strong>です。</p>



<p class="wp-block-paragraph">名前は英語の「IS URL（URLですか？）」からきています。</p>



<p class="wp-block-paragraph">対象がURL形式であれば TRUE を返し、URL形式でなければ FALSE を返します。</p>



<p class="wp-block-paragraph">ISURL関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>セルの値がURL形式かどうかをTRUE/FALSEで返す</li><li>IF関数と組み合わせてURLの有無で処理を分岐する</li><li>HYPERLINK関数と組み合わせて安全にリンクを作成する</li><li>FILTER関数でURL入りの行だけ抽出する</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>ISURL関数は<strong>Googleスプレッドシート独自の関数</strong>です。Excelには存在しないので注意してください。</p></blockquote>



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



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



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



<p class="wp-block-paragraph">カッコの中にURLかどうか判定したい値を指定します。</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>URLかどうか判定したい文字列またはセル参照</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>ISURL関数は「http://」「https://」「ftp://」などのプロトコルで始まる文字列を URL と判定します。プロトコルがない「example.com」のような文字列は FALSE になりますよ。</p></blockquote>



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



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>理由</th></tr></thead><tbody><tr><td><code>=ISURL("https://example.com")</code></td><td><strong>TRUE</strong></td><td>https:// で始まる有効なURL形式</td></tr><tr><td><code>=ISURL("http://example.com")</code></td><td><strong>TRUE</strong></td><td>http:// で始まるURL形式もTRUE</td></tr><tr><td><code>=ISURL("ftp://files.example.com")</code></td><td><strong>TRUE</strong></td><td>ftp:// プロトコルも対応</td></tr><tr><td><code>=ISURL("example.com")</code></td><td><strong>FALSE</strong></td><td>プロトコルがないため FALSE</td></tr><tr><td><code>=ISURL("こんにちは")</code></td><td><strong>FALSE</strong></td><td>URLではない通常の文字列</td></tr><tr><td><code>=ISURL("")</code></td><td><strong>FALSE</strong></td><td>空文字はFALSE</td></tr><tr><td><code>=ISURL(123)</code></td><td><strong>FALSE</strong></td><td>数値はFALSE</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">プロトコル（<code>https://</code> や <code>http://</code>）が付いているかどうかが判定のカギになります。</p>



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



<p class="wp-block-paragraph">セル参照を使えば、特定のセルの値がURLかどうかを確認できます。</p>



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



<p class="wp-block-paragraph">A1 に「https://example.com」が入っていれば TRUE を返します。「ただの文字列」なら FALSE です。</p>



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



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



<pre class="wp-block-code"><code>=ISURL(A1&amp;B1)</code></pre>



<p class="wp-block-paragraph">A1 に「https://」、B1 に「example.com」が入っていれば、結合した結果「https://example.com」がURL形式なので TRUE になります。</p>



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



<h3 class="wp-block-heading"><span id="toc10">IF関数と組み合わせてURL有無を表示する</span></h3>



<p class="wp-block-paragraph">リストの中にURLが含まれているかどうかをラベルで表示したい場面で使えます。</p>



<pre class="wp-block-code"><code>=IF(ISURL(A2),&quot;URL&quot;,&quot;URL以外&quot;)</code></pre>



<p class="wp-block-paragraph">A2 がURL形式なら「URL」と表示します。そうでなければ「URL以外」です。</p>



<p class="wp-block-paragraph">アンケート回答やフォーム入力のデータチェックに便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc11">HYPERLINK関数と組み合わせて安全にリンクを作成する</span></h3>



<p class="wp-block-paragraph">URLが入っているセルにだけリンクを付けたい場面があります。URL以外のセルにHYPERLINK関数を使うとエラーになるので、事前にISURL関数で判定しておくと安心です。</p>



<pre class="wp-block-code"><code>=IF(ISURL(A2),HYPERLINK(A2,&quot;リンクを開く&quot;),&quot;URLなし&quot;)</code></pre>



<p class="wp-block-paragraph">A2 がURL形式のときだけクリック可能なリンクを作成します。URL以外なら「URLなし」と表示します。</p>



<h3 class="wp-block-heading"><span id="toc12">FILTER関数でURLが入った行だけ抽出する</span></h3>



<p class="wp-block-paragraph">大量のデータからURLが含まれている行だけを取り出したいときに活用できます。</p>



<pre class="wp-block-code"><code>=FILTER(A2:B20,ISURL(A2:A20))</code></pre>



<p class="wp-block-paragraph">A列にURL形式の値がある行だけが抽出されます。参考サイトリストの整理などに使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc13">URLの件数をカウントする</span></h3>



<p class="wp-block-paragraph">リストの中にURLがいくつ含まれているかを数えたいときは、COUNTIF関数の代わりにCOUNTIFS関数とISURL関数を組み合わせます。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(1*ISURL(A2:A100))</code></pre>



<p class="wp-block-paragraph">ISURL関数が各セルに対してTRUE/FALSEの配列を返します。<code>1*</code> を掛けることでTRUE=1、FALSE=0に変換されるため、合計がURLの件数になります。</p>



<h3 class="wp-block-heading"><span id="toc14">データクレンジングでURL以外を除外する</span></h3>



<p class="wp-block-paragraph">フォームの「WebサイトURL」欄に、URLではない値（会社名や「なし」など）が混ざっていることがあります。ISURL関数で正しい入力かどうかを検証できます。</p>



<pre class="wp-block-code"><code>=IF(ISURL(A2),A2,&quot;要確認: URL形式ではありません&quot;)</code></pre>



<p class="wp-block-paragraph">URL形式ならそのまま表示し、そうでなければ警告メッセージを出します。入力データの品質チェックに役立ちますよ。</p>



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



<p class="wp-block-paragraph">ISURL関数で「思った結果にならない」ケースをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>URLなのに FALSE になる</td><td>プロトコル（https:// 等）が付いていない</td><td><code>="https://"&A1</code> でプロトコルを補完してから判定する</td></tr><tr><td>空白セルで FALSE が返る</td><td>空白はURL形式ではない</td><td>仕様どおりの動作。空白を別扱いしたい場合は <code>=IF(A1="","未入力",ISURL(A1))</code></td></tr><tr><td>数値セルで FALSE が返る</td><td>数値はURL形式ではない</td><td>文字列として入力されているか確認する</td></tr><tr><td>不正なURLでも TRUE になる</td><td>ISURL関数はURL形式かどうかだけを判定する</td><td>リンク先が存在するかどうかは判定できない。形式チェック専用と割り切る</td></tr><tr><td>HYPERLINK付きセルで FALSE になる</td><td>HYPERLINK関数で表示テキストが設定されている</td><td>表示テキストがURL形式でない場合はFALSEになる。元のURLを別セルに保持しておくと安心</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>ISURL関数は<strong>URL形式のチェック専用</strong>です。リンク先が実際に存在するか（404かどうか）までは判定できません。あくまで「URLっぽい文字列か？」を確認する関数として使いましょう。</p></blockquote>



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



<p class="wp-block-paragraph">ISURL関数は<strong>Googleスプレッドシート独自の関数</strong>です。Excelには同等の関数が存在しません。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Excel</th><th>Googleスプレッドシート</th></tr></thead><tbody><tr><td>ISURL関数</td><td><strong>なし</strong></td><td>あり</td></tr><tr><td>URL判定の代替手段</td><td>数式で自作する必要がある</td><td>ISURL関数で一発判定</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ExcelでURLかどうかを判定したい場合は、FIND関数やLEFT関数を組み合わせて自作する方法があります。</p>



<pre class="wp-block-code"><code>=OR(LEFT(A1,8)=&quot;https://&quot;,LEFT(A1,7)=&quot;http://&quot;)</code></pre>



<p class="wp-block-paragraph">ただし、この方法はプロトコル部分しかチェックできないため、スプレッドシートのISURL関数ほど正確ではありません。</p>



<p class="wp-block-paragraph">ExcelファイルをGoogleスプレッドシートに変換して使う場合、ISURL関数を含む数式はExcelでは動作しない点に注意してください。</p>



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



<p class="wp-block-paragraph">ISURL関数は、セルの値がURL形式かどうかを判定するシンプルな関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=ISURL(値)</code> で、引数は1つだけ</li><li>URL形式なら TRUE、そうでなければ FALSE を返す</li><li>「https://」「http://」「ftp://」などプロトコル付きの文字列がTRUEになる</li><li>プロトコルなしの「example.com」はFALSEになる</li><li>IF関数と組み合わせてURLの有無で処理を分岐するのが定番パターン</li><li><a href="https://mashukabu.com/spreadsheet-hyperlink-function/">HYPERLINK関数</a>と組み合わせれば、安全にリンクを作成できる</li><li>Googleスプレッドシート独自の関数で、Excelには存在しない</li><li>URLの形式チェック専用で、リンク先の存在確認はできない</li></ul>



<p class="wp-block-paragraph">まずは <code>=ISURL("https://example.com")</code> で TRUE が返ることから試してみてください。</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-hyperlink-function/">スプレッドシートのHYPERLINK関数の使い方｜リンク作成を自動化</a></li><li><a href="https://mashukabu.com/spreadsheet-istext-function/">スプレッドシートのISTEXT関数の使い方｜テキスト判定</a></li><li><a href="https://mashukabu.com/spreadsheet-isformula-function/">スプレッドシートのISFORMULA関数の使い方｜数式判定</a></li><li><a href="https://mashukabu.com/spreadsheet-isdate-function/">スプレッドシートのISDATE関数の使い方｜日付判定</a></li><li><a href="https://mashukabu.com/spreadsheet-regexmatch-function/">スプレッドシートのREGEXMATCH関数の使い方｜正規表現でパターン判定</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-isurl-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのTYPE関数の使い方｜データ型取得</title>
		<link>https://mashukabu.com/spreadsheet-type-function/</link>
					<comments>https://mashukabu.com/spreadsheet-type-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 22 Mar 2026 01:13:32 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ISNUMBER]]></category>
		<category><![CDATA[IS関数]]></category>
		<category><![CDATA[TYPE]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[データ型]]></category>
		<category><![CDATA[データ検証]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4993</guid>

					<description><![CDATA[GoogleスプレッドシートのTYPE関数の使い方を初心者向けに解説。データ型を数値コードで取得する基本構文から、IF関数との組み合わせ、データ検証、ISNUMBERなどIS系関数との違い、Excelとの相違点まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「このセルに入っているのは数値？ テキスト？」と手作業で確認していませんか。</p>



<p class="wp-block-paragraph">数件ならセルをクリックすれば書式バーの右寄せ・左寄せでだいたい見分けがつきますが、データが数百行になると一つひとつ目で追うのは現実的ではありません。</p>



<p class="wp-block-paragraph">数値に見えて実はテキストだった、というミスは集計エラーや SUM 関数の結果がゼロになる原因になりがちですよね。そんなときに便利なのが<strong>TYPE関数</strong>です。</p>



<p class="wp-block-paragraph">この記事では、TYPE関数の基本から実務で役立つ活用パターン、よくあるエラーの対処法、ISNUMBER関数などIS系関数との使い分けまでまとめて紹介します。データチェックの作業をぐっと効率化できますよ。</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">スプレッドシートのTYPE関数とは？</a></li><li><a href="#toc2" tabindex="0">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">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">TYPE関数の実践的な使い方・応用例</a><ol><li><a href="#toc10" tabindex="0">IF関数と組み合わせてデータ型を日本語で表示する</a></li><li><a href="#toc11" tabindex="0">数値であるべきセルにテキストが混入していないかチェックする</a></li><li><a href="#toc12" tabindex="0">ARRAYFORMULA と組み合わせて列全体を一括チェックする</a></li><li><a href="#toc13" tabindex="0">条件付き書式でテキスト混入を可視化する</a></li><li><a href="#toc14" tabindex="0">エラー値の検出に使う</a></li></ol></li><li><a href="#toc15" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc16" tabindex="0">TYPE関数とIS系関数の使い分け</a></li><li><a href="#toc17" tabindex="0">Excelとの違い</a></li><li><a href="#toc18" tabindex="0">TYPE関数のFAQ</a><ol><li><a href="#toc19" tabindex="0">Q1. TYPE関数は数式そのものの種類を判定できますか？</a></li><li><a href="#toc20" tabindex="0">Q2. なぜ空白セルで 1（数値）が返るのですか？</a></li><li><a href="#toc21" tabindex="0">Q3. 文字列の数字（&#8221;100&#8243; など）を数値に変換するにはどうすればよいですか？</a></li><li><a href="#toc22" tabindex="0">Q4. ARRAYFORMULA で TYPE 関数を使うときの注意点は？</a></li><li><a href="#toc23" tabindex="0">Q5. 数値か日付かを区別したいときは？</a></li><li><a href="#toc24" tabindex="0">Q6. TYPE関数の結果を条件付き書式で活用できますか？</a></li></ol></li><li><a href="#toc25" tabindex="0">まとめ</a><ol><li><a href="#toc26" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">TYPE関数は、<strong>指定した値のデータ型を数値コードで返す関数</strong>です。</p>



<p class="wp-block-paragraph">セルの中身が数値なのかテキストなのか、論理値なのかエラーなのかを 1 桁から 2 桁の番号で教えてくれます。</p>



<p class="wp-block-paragraph">TYPE関数が返す数値コードは次の5種類です。</p>



<figure class="wp-block-table"><table><thead><tr><th>返り値</th><th>データ型</th><th>具体例</th></tr></thead><tbody><tr><td>1</td><td>数値</td><td>100、3.14、日付（シリアル値）、時刻</td></tr><tr><td>2</td><td>テキスト</td><td>&#8220;こんにちは&#8221;、&#8221;123&#8243;（文字列の数字）、空文字 &#8220;&#8221;</td></tr><tr><td>4</td><td>論理値</td><td>TRUE、FALSE</td></tr><tr><td>16</td><td>エラー値</td><td>#VALUE!、#REF!、#N/A、#DIV/0! など</td></tr><tr><td>64</td><td>配列</td><td>{1,2,3}、ARRAYFORMULA の結果</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">TYPE関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>セルのデータ型を数値コード（1/2/4/16/64）で返す</li><li>IF関数やSWITCH関数と組み合わせてデータ型ごとに処理を分岐する</li><li>入力データの検証（数値であるべきセルにテキストが入っていないかチェック）</li><li>エラー値の検出と分類</li><li>条件付き書式と組み合わせて型違いのセルをハイライト</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>TYPE関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、返り値のコードも完全に同じなので、ファイルのやり取りでも安心です。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=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>TIP</strong></p><p>TYPE関数はエラー値を渡しても自身はエラーにならず、必ず 16 を返します。<code><a href="https://mashukabu.com/spreadsheet-iserror-function/">ISERROR関数</a></code> と違い、エラーの種類にかかわらず一律で検出できますよ。エラー処理の前段として使うと数式がシンプルになります。</p></blockquote>



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



<p class="wp-block-paragraph">まずはシンプルな例で動きを確認してみましょう。実際にセルに入力すると感覚がつかめます。</p>



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



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



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>理由</th></tr></thead><tbody><tr><td>=TYPE(100)</td><td>1</td><td>整数の数値</td></tr><tr><td>=TYPE(3.14)</td><td>1</td><td>小数の数値</td></tr><tr><td>=TYPE(&#8220;こんにちは&#8221;)</td><td>2</td><td>テキスト</td></tr><tr><td>=TYPE(&#8220;123&#8221;)</td><td>2</td><td>文字列として入力された数字</td></tr><tr><td>=TYPE(TRUE)</td><td>4</td><td>論理値</td></tr><tr><td>=TYPE(#N/A)</td><td>16</td><td>エラー値</td></tr><tr><td>=TYPE({1,2,3})</td><td>64</td><td>配列リテラル</td></tr><tr><td>=TYPE(TODAY())</td><td>1</td><td>日付はシリアル値（数値）として扱われる</td></tr><tr><td>=TYPE(NOW())</td><td>1</td><td>時刻も数値（小数）として扱われる</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">日付と時刻の扱いに注意しましょう。スプレッドシートでは日付は内部的に数値（シリアル値）で管理されています。たとえば 2026/3/22 は内部的には 46107 という数値で、見た目だけが日付フォーマットになっています。そのためTYPE関数は 1（数値）を返します。</p>



<h3 class="wp-block-heading"><span id="toc7">セル参照で確認する</span></h3>



<p class="wp-block-paragraph">セル参照を使えば、特定のセルのデータ型を調べられます。</p>



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



<p class="wp-block-paragraph">A1 に「100」が入っていれば 1 を返します。「こんにちは」なら 2 です。データが入っているシートを直接調べたいときはこちらの形式が便利です。</p>



<h3 class="wp-block-heading"><span id="toc8">空白セルの場合</span></h3>



<p class="wp-block-paragraph">空白セルを指定すると、TYPE関数は 1（数値）を返します。空白は内部的に 0 として扱われるためです。これは少し意外ですが、計算式での扱いを考えるとつじつまが合っています。</p>



<pre class="wp-block-code"><code>=TYPE(A1)  → A1が空白なら 1 を返す</code></pre>



<p class="wp-block-paragraph">空白セルと数値を区別したい場合は、IF関数で先に空白チェックをしましょう。次のように書けば「空白」と表示されます。</p>



<pre class="wp-block-code"><code>=IF(A1=&quot;&quot;,&quot;空白&quot;,TYPE(A1))</code></pre>



<p class="wp-block-paragraph">ISBLANK関数を使う方法もあります。<code><a href="https://mashukabu.com/spreadsheet-isblank-function/">ISBLANK関数</a></code> は完全に空のセルだけを TRUE と判定するので、より厳密に空白を見分けたいときに役立ちますよ。</p>



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



<p class="wp-block-paragraph">実務でよく使うパターンを 5 つ紹介します。コピペして列名やセル範囲だけ書き換えれば、すぐ使えます。</p>



<h3 class="wp-block-heading"><span id="toc10">IF関数と組み合わせてデータ型を日本語で表示する</span></h3>



<p class="wp-block-paragraph">数値コードだけでは分かりにくいので、日本語ラベルに変換すると便利です。レビュー作業や引き継ぎ資料で重宝します。</p>



<pre class="wp-block-code"><code>=IF(TYPE(A2)=1,&quot;数値&quot;,IF(TYPE(A2)=2,&quot;テキスト&quot;,IF(TYPE(A2)=4,&quot;論理値&quot;,IF(TYPE(A2)=16,&quot;エラー&quot;,&quot;配列&quot;))))</code></pre>



<p class="wp-block-paragraph">ちょっと長い数式に見えますが、やっていることはシンプルです。TYPE関数の返り値（1/2/4/16/64）に応じて対応するラベルを返しているだけですよ。</p>



<p class="wp-block-paragraph">SWITCH関数を使うともっとすっきり書けます。</p>



<pre class="wp-block-code"><code>=SWITCH(TYPE(A2),1,&quot;数値&quot;,2,&quot;テキスト&quot;,4,&quot;論理値&quot;,16,&quot;エラー&quot;,64,&quot;配列&quot;)</code></pre>



<p class="wp-block-paragraph">SWITCH関数は値ごとに結果を切り替えられるので、IFのネストを避けたいときに便利です。条件が増えても見通しが良いまま保てます。</p>



<h3 class="wp-block-heading"><span id="toc11">数値であるべきセルにテキストが混入していないかチェックする</span></h3>



<p class="wp-block-paragraph">売上データや数量の列に、数値に見えるテキスト（&#8221;100&#8243; など）が混ざっていると集計がズレます。CSVをインポートしたときによくある事故です。TYPE関数で一括チェックできます。</p>



<pre class="wp-block-code"><code>=IF(TYPE(B2)&lt;&gt;1,&quot;要確認&quot;,&quot;OK&quot;)</code></pre>



<p class="wp-block-paragraph">B2 のデータ型が数値（1）でなければ「要確認」と表示します。これを列全体にコピーすれば、テキスト混入をまとめて検出できますよ。</p>



<p class="wp-block-paragraph">数値かどうかを判定するなら <code><a href="https://mashukabu.com/spreadsheet-isnumber-function/">ISNUMBER関数</a></code> のほうが直感的ですが、TYPE関数なら他のデータ型と一緒にチェックできるのが強みです。</p>



<h3 class="wp-block-heading"><span id="toc12">ARRAYFORMULA と組み合わせて列全体を一括チェックする</span></h3>



<p class="wp-block-paragraph">1行ずつ数式をコピーする代わりに、ARRAYFORMULAで列全体を一括処理できます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(B2:B100=&quot;&quot;,&quot;&quot;,IF(TYPE(B2:B100)&lt;&gt;1,&quot;要確認&quot;,&quot;OK&quot;)))</code></pre>



<p class="wp-block-paragraph">B2からB100まで一気にデータ型をチェックします。空白セルはスキップしているので、不要な「要確認」が出ないようになっています。</p>



<p class="wp-block-paragraph">データ件数が変わるシートなら範囲を <code>B2:B</code> に広げてもよいでしょう。大量のデータを扱うときに便利な方法です。</p>



<h3 class="wp-block-heading"><span id="toc13">条件付き書式でテキスト混入を可視化する</span></h3>



<p class="wp-block-paragraph">「要確認」と表示するだけでなく、セルの色を変えて目立たせる方法もあります。条件付き書式で次のカスタム数式を設定します。</p>



<pre class="wp-block-code"><code>=AND(B2&lt;&gt;&quot;&quot;,TYPE(B2)&lt;&gt;1)</code></pre>



<p class="wp-block-paragraph">数値以外のセルが薄い赤色になり、ぱっと見で問題箇所がわかります。データ入力チームと共有するシートに仕込んでおくと、間違いに気づいてもらいやすくなります。</p>



<h3 class="wp-block-heading"><span id="toc14">エラー値の検出に使う</span></h3>



<p class="wp-block-paragraph">TYPE関数はエラー値を渡しても自身はエラーにならないという特徴があります。これを利用して、エラーの有無を判定できます。</p>



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



<p class="wp-block-paragraph"><code><a href="https://mashukabu.com/spreadsheet-iserror-function/">ISERROR関数</a></code> でも同じことができます。ただしTYPE関数なら、エラー判定と他のデータ型判定を1つの数式でまとめられるのが利点です。</p>



<p class="wp-block-paragraph">たとえば「エラーなら『エラー』、テキストなら『要数値化』、それ以外は空白」のように複数条件を組み合わせたいときに便利です。</p>



<pre class="wp-block-code"><code>=SWITCH(TYPE(A2),16,&quot;エラー&quot;,2,&quot;要数値化&quot;,&quot;&quot;)</code></pre>



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



<p class="wp-block-paragraph">TYPE関数で「思った結果にならない」ケースをまとめました。ほとんどは TYPE 関数の仕様を理解すれば解決できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>数値のはずなのに 2（テキスト）が返る</td><td>セルにテキスト形式の数字（&#8221;100&#8243;）が入っている</td><td>VALUE関数で数値に変換する。<code>=VALUE(A1)</code></td></tr><tr><td>日付セルで 1 が返る</td><td>日付はシリアル値（数値）で管理されている</td><td>仕様どおりの動作。日付かどうかを調べるなら <code><a href="https://mashukabu.com/spreadsheet-isdate-function/">ISDATE関数</a></code> を使う</td></tr><tr><td>空白セルで 1 が返る</td><td>空白は 0（数値）として扱われる</td><td>空白を区別するなら <code>=IF(A1="","空白",TYPE(A1))</code></td></tr><tr><td>配列で 64 が返らない</td><td>セルに配列数式の結果が表示されている場合、個々のセルは要素の型を返す</td><td>配列全体を確認するには <code>=TYPE({1,2,3})</code> のように直接指定する</td></tr><tr><td>ハイパーリンクで 2 が返る</td><td>ハイパーリンクは内部的にテキストとして扱われる</td><td>URL を判定したいなら <code><a href="https://mashukabu.com/spreadsheet-isurl-function/">ISURL関数</a></code> を使う</td></tr><tr><td>数式そのものを判定したい</td><td>TYPE関数は数式の結果のみを判定する</td><td>数式かどうかは <code><a href="https://mashukabu.com/spreadsheet-isformula-function/">ISFORMULA関数</a></code> を使う</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc16">TYPE関数とIS系関数の使い分け</span></h2>



<p class="wp-block-paragraph">スプレッドシートにはデータ型を判定する関数が複数あります。TYPE関数との違いを整理しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>返り値</th><th>用途</th></tr></thead><tbody><tr><td>TYPE</td><td>数値コード（1/2/4/16/64）</td><td>データ型を数値で分類したいとき</td></tr><tr><td>ISNUMBER</td><td>TRUE/FALSE</td><td>数値かどうかだけを判定したいとき</td></tr><tr><td>ISTEXT</td><td>TRUE/FALSE</td><td>テキストかどうかだけを判定したいとき</td></tr><tr><td>ISERROR</td><td>TRUE/FALSE</td><td>エラーかどうかだけを判定したいとき</td></tr><tr><td>ISLOGICAL</td><td>TRUE/FALSE</td><td>論理値かどうかだけを判定したいとき</td></tr><tr><td>ISDATE</td><td>TRUE/FALSE</td><td>日付として認識できるかを判定したいとき</td></tr><tr><td>ISBLANK</td><td>TRUE/FALSE</td><td>完全に空のセルかを判定したいとき</td></tr></tbody></table></figure>



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



<ol class="wp-block-list"><li><strong>単一の型をチェックするだけなら IS 系関数</strong>: 「数値かどうかだけ知りたい」なら <code><a href="https://mashukabu.com/spreadsheet-isnumber-function/">ISNUMBER関数</a></code> のほうがシンプルで読みやすいです。</li><li><strong>複数のデータ型を一度に分岐したいときは TYPE 関数</strong>: 「数値なら計算、テキストならそのまま表示、エラーなら警告」のように 3 つ以上に分岐する場合は、TYPE関数とSWITCH関数の組み合わせがすっきり書けます。</li><li><strong>日付やURLなど特殊な型は専用関数を使う</strong>: 日付なら <code><a href="https://mashukabu.com/spreadsheet-isdate-function/">ISDATE関数</a></code>、URL なら <code><a href="https://mashukabu.com/spreadsheet-isurl-function/">ISURL関数</a></code>、数式そのものを判定するなら <code><a href="https://mashukabu.com/spreadsheet-isformula-function/">ISFORMULA関数</a></code> が便利です。</li></ol>



<p class="wp-block-paragraph">迷ったら「型を 1 つだけチェック → IS 系」「複数の型で分岐 → TYPE」と覚えておけばOKです。</p>



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



<p class="wp-block-paragraph">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>=TYPE(値)</td><td>=TYPE(値)</td></tr><tr><td>数値</td><td>1</td><td>1</td></tr><tr><td>テキスト</td><td>2</td><td>2</td></tr><tr><td>論理値</td><td>4</td><td>4</td></tr><tr><td>エラー値</td><td>16</td><td>16</td></tr><tr><td>配列</td><td>64</td><td>64</td></tr><tr><td>引数の数</td><td>1（必須）</td><td>1（必須）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">返り値のコードも完全に同じです。Excelファイルとして共有してもTYPE関数の挙動はそのまま維持されます。安心して使ってください。</p>



<h2 class="wp-block-heading"><span id="toc18">TYPE関数のFAQ</span></h2>



<h3 class="wp-block-heading"><span id="toc19">Q1. TYPE関数は数式そのものの種類を判定できますか？</span></h3>



<p class="wp-block-paragraph">いいえ、TYPE関数は<strong>数式の結果</strong>を判定するだけです。たとえば <code>=A1+1</code> というセルを TYPE 関数で調べると、計算結果が数値なら 1、エラーなら 16 が返ります。「そのセルに数式が入っているかどうか」を判定したい場合は <code><a href="https://mashukabu.com/spreadsheet-isformula-function/">ISFORMULA関数</a></code> を使ってください。</p>



<h3 class="wp-block-heading"><span id="toc20">Q2. なぜ空白セルで 1（数値）が返るのですか？</span></h3>



<p class="wp-block-paragraph">スプレッドシートでは空白セルは内部的に 0（数値）として扱われるためです。SUM関数で空白セルが含まれていてもエラーにならないのと同じ理由です。空白を厳密に区別したい場合は IF関数で <code>=""</code> のチェックを先に行うか、<code><a href="https://mashukabu.com/spreadsheet-isblank-function/">ISBLANK関数</a></code> を使いましょう。</p>



<h3 class="wp-block-heading"><span id="toc21">Q3. 文字列の数字（&#8221;100&#8243; など）を数値に変換するにはどうすればよいですか？</span></h3>



<p class="wp-block-paragraph">VALUE関数を使います。<code>=VALUE("100")</code> と書けば数値の 100 が返ります。CSVインポートで数字がテキスト扱いになってしまった列は、別の列で <code>=VALUE(A2)</code> を行ってから値貼り付けで上書きするのが定番のテクニックです。TYPE関数で 2 が返ったセルが対象、と覚えておくと作業しやすいですね。</p>



<h3 class="wp-block-heading"><span id="toc22">Q4. ARRAYFORMULA で TYPE 関数を使うときの注意点は？</span></h3>



<p class="wp-block-paragraph">ARRAYFORMULA の中で TYPE 関数を使う場合、範囲全体に対して一括で評価されます。<code>=ARRAYFORMULA(TYPE(A2:A))</code> のように書けば各セルの型コードがずらっと返ります。ただし配列の中身を 64 として扱いたい場合は、配列リテラル <code>{1,2,3}</code> のように直接指定する必要があります。</p>



<h3 class="wp-block-heading"><span id="toc23">Q5. 数値か日付かを区別したいときは？</span></h3>



<p class="wp-block-paragraph">TYPE関数では区別できません。日付はシリアル値（数値）として扱われるためです。日付かどうかを判定するなら <code><a href="https://mashukabu.com/spreadsheet-isdate-function/">ISDATE関数</a></code> を使うか、書式や値の範囲で判定するロジックを組む必要があります。「2020年以降の日付か」のように厳密にチェックしたい場合は、シリアル値の数値範囲（例: <code>>=43831</code>）で比較する方法もありますよ。</p>



<h3 class="wp-block-heading"><span id="toc24">Q6. TYPE関数の結果を条件付き書式で活用できますか？</span></h3>



<p class="wp-block-paragraph">はい、できます。条件付き書式の「カスタム数式」に <code>=TYPE(A1)<>1</code> のように指定すれば、数値以外のセルだけ色をつけられます。データ入力ミスを発見したいシートに仕込んでおくと、目視チェックの手間が大きく減りますよ。</p>



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



<p class="wp-block-paragraph">TYPE関数は、セルのデータ型を数値コードで返すシンプルな関数です。シンプルですが、データ検証や型分岐のロジックを組むときの土台になる便利な関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=TYPE(値)</code> で、引数は1つだけ</li><li>返り値は 1（数値）、2（テキスト）、4（論理値）、16（エラー）、64（配列）の5種類</li><li>日付や時刻はシリアル値として扱われるため 1（数値）を返す</li><li>空白セルは 0（数値）として扱われるため 1 を返す</li><li>IF関数やSWITCH関数と組み合わせてデータ型ごとに処理を分岐できる</li><li>「数値かどうかだけ」なら ISNUMBER関数、複数型の分岐なら TYPE関数</li><li>日付やURLなど特殊な型は IS 系の専用関数を使うとよい</li><li>ExcelのTYPE関数と完全に同じ動作で、互換性も安心</li></ul>



<p class="wp-block-paragraph">まずは <code>=TYPE(A1)</code> で手元のデータの型を調べるところから試してみてください。データ集計の前段にこの一手間を入れるだけで、ミスが大幅に減らせますよ。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-isnumber-function/">スプレッドシートのISNUMBER関数の使い方｜数値判定</a></li><li><a href="https://mashukabu.com/spreadsheet-istext-function/">スプレッドシートのISTEXT関数の使い方｜テキスト判定</a></li><li><a href="https://mashukabu.com/spreadsheet-iserror-function/">スプレッドシートのISERROR関数の使い方｜エラー判定</a></li><li><a href="https://mashukabu.com/spreadsheet-islogical-function/">スプレッドシートのISLOGICAL関数の使い方｜論理値判定</a></li><li><a href="https://mashukabu.com/spreadsheet-isblank-function/">スプレッドシートのISBLANK関数の使い方｜空白判定</a></li><li><a href="https://mashukabu.com/spreadsheet-isdate-function/">スプレッドシートのISDATE関数の使い方｜日付判定</a></li><li><a href="https://mashukabu.com/spreadsheet-isformula-function/">スプレッドシートのISFORMULA関数の使い方｜数式判定</a></li><li><a href="https://mashukabu.com/spreadsheet-isurl-function/">スプレッドシートのISURL関数の使い方｜URL判定</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-type-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのISERR関数の使い方｜#N/A以外のエラーだけを判定する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-iserr/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-iserr/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 12 Apr 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[ISERROR]]></category>
		<category><![CDATA[ISERR関数]]></category>
		<category><![CDATA[IS関数]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[エラー判定]]></category>
		<category><![CDATA[データ検証]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1600</guid>

					<description><![CDATA[ExcelのISERR関数の使い方を初心者向けに解説。#N/Aを除くエラーだけを判定する基本構文から、VLOOKUP/XLOOKUPでの精緻なエラーハンドリング、ISERROR・ISNA・IFERRORとの違い、エラー種類ごとの判定結果まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">VLOOKUPで「#N/A」が出るのは想定どおり。でも「#VALUE!」や「#REF!」が出たら、それは数式の構造ミスかもしれません。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>ですべてまとめて処理してしまうと、こうした構造ミスに気づけなくなります。そんなときに頼りになるのがISERR関数です。</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>この記事は次のような人におすすめ</p><p>&#8211; #VALUE! や #REF! などのエラーを検知したいが、#N/A は除外したい<br>&#8211; VLOOKUPで「値が見つからない」と「数式の構造ミス」を区別したい<br>&#8211; ISERROR関数や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-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">ISERR関数とは？</a></li><li><a href="#toc2" tabindex="0">ISERR関数の書き方（構文と引数）</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">ISERR関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">エラー種類ごとの判定結果</a></li></ol></li><li><a href="#toc7" tabindex="0">ISERR関数の実務活用パターン</a><ol><li><a href="#toc8" tabindex="0">パターン1: VLOOKUPで「見つからない」と「数式ミス」を区別する</a></li><li><a href="#toc9" tabindex="0">パターン2: ISNA + ISERRでエラーの種類に応じたメッセージを出す</a></li><li><a href="#toc10" tabindex="0">パターン3: 条件付き書式で数式エラーだけをハイライトする</a></li><li><a href="#toc11" tabindex="0">パターン4: SUMPRODUCTで構造エラーをカウントする</a></li><li><a href="#toc12" tabindex="0">パターン5: XLOOKUPで構造エラーを先に処理する</a></li></ol></li><li><a href="#toc13" tabindex="0">ISERR関数と似た関数との違い・使い分け</a><ol><li><a href="#toc14" tabindex="0">ISERROR・ISNA・ISERRの対応範囲を比較</a></li><li><a href="#toc15" tabindex="0">IFERRORとの使い分け</a></li><li><a href="#toc16" tabindex="0">使い分けの判断フロー</a></li></ol></li><li><a href="#toc17" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc18" tabindex="0">IS系12関数の違い・使い分け</a></li><li><a href="#toc19" tabindex="0">まとめ</a><ol><li><a href="#toc20" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ISERR（いず えらー）関数は、指定した値が <strong>#N/A 以外のエラー値</strong>かどうかを判定する関数です。</p>



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



<p class="wp-block-paragraph"><strong>#N/A だけを除外する</strong>のが最大の特徴です。#VALUE!、#REF!、#DIV/0!、#NAME?、#NUM!、#NULL! の6種類で TRUE を返しますが、#N/A では FALSE になります。</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>ISERR関数は Excel 2003 以降のすべてのバージョンで使用できます。Microsoft 365 や Googleスプレッドシートでも同じ書き方で使えます。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=ISERR(テストの対象)</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>#N/A以外のエラーかどうか判定したい値またはセル参照</td></tr></tbody></table></figure>



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



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



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>A列の値</th><th>数式</th><th>ISERR の結果</th><th>理由</th></tr></thead><tbody><tr><td>=10/0 (#DIV/0!)</td><td>=ISERR(A2)</td><td>TRUE</td><td>ゼロ除算エラー</td></tr><tr><td>=&#8221;あ&#8221;+1 (#VALUE!)</td><td>=ISERR(A3)</td><td>TRUE</td><td>データ型が不正</td></tr><tr><td>#REF!</td><td>=ISERR(A4)</td><td>TRUE</td><td>参照先が無効</td></tr><tr><td>=ABC (#NAME?)</td><td>=ISERR(A5)</td><td>TRUE</td><td>関数名が不正</td></tr><tr><td>=SQRT(-1) (#NUM!)</td><td>=ISERR(A6)</td><td>TRUE</td><td>数値が範囲外</td></tr><tr><td>=VLOOKUP(&#8220;Z&#8221;,D:E,2,0) (#N/A)</td><td>=ISERR(A7)</td><td><strong>FALSE</strong></td><td>#N/A は対象外</td></tr><tr><td>100</td><td>=ISERR(A8)</td><td>FALSE</td><td>正常な数値</td></tr><tr><td>東京</td><td>=ISERR(A9)</td><td>FALSE</td><td>正常な文字列</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">#N/A のときだけ FALSE になっているのがポイントです。ISERR関数は #N/A <strong>以外</strong>の6種類のエラーに反応します。</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/excel-function-howto-use-iserror/">ISERROR関数</a> を使いましょう。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc8">パターン1: VLOOKUPで「見つからない」と「数式ミス」を区別する</span></h3>



<p class="wp-block-paragraph">VLOOKUPは「検索値が見つからない」ときも「数式の構造に問題がある」ときもエラーを返します。ISERRを使えば、この2つを区別できます。</p>



<pre class="wp-block-code"><code>=IF(ISERR(VLOOKUP(B2,商品マスタ!A:C,2,FALSE)),&quot;数式エラー&quot;,IF(ISNA(VLOOKUP(B2,商品マスタ!A:C,2,FALSE)),&quot;該当なし&quot;,VLOOKUP(B2,商品マスタ!A:C,2,FALSE)))</code></pre>



<p class="wp-block-paragraph">#VALUE! や #REF! なら「数式エラー」、#N/A なら「該当なし」、正常ならVLOOKUPの結果を返します。</p>



<p class="wp-block-paragraph">これがISERR関数の真価です。<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>ではすべてのエラーがまとめて処理されるため、この区別ができません。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>「見つからない」だけでなく「列番号が範囲外（#REF!）」「検索値のデータ型が不正（#VALUE!）」なども発生しうるのがVLOOKUPです。IFERRORで全部まとめてしまうと、数式の構造ミスに気づけなくなりますよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc9">パターン2: ISNA + ISERRでエラーの種類に応じたメッセージを出す</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-isna/">ISNA関数</a>と組み合わせれば、エラーの種類に応じて処理を完全に分岐できます。</p>



<pre class="wp-block-code"><code>=IF(ISERR(A2),&quot;構造エラー: 数式を見直してください&quot;,IF(ISNA(A2),&quot;検索エラー: データを確認してください&quot;,A2))</code></pre>



<p class="wp-block-paragraph">この数式は3つの状態を区別します。</p>



<ul class="wp-block-list"><li>#VALUE! や #REF! → 「構造エラー: 数式を見直してください」</li><li>#N/A → 「検索エラー: データを確認してください」</li><li>正常値 → そのまま表示</li></ul>



<p class="wp-block-paragraph">VLOOKUPやXLOOKUPの結果列に設定しておくと、エラーの原因を一目で判別できます。運用担当者への引き継ぎ資料にも便利ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>この「ISERR + ISNA」パターンは、<a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数</a>1つでは実現できない精緻なエラー分岐です。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc10">パターン3: 条件付き書式で数式エラーだけをハイライトする</span></h3>



<p class="wp-block-paragraph">数式が入った列で #VALUE! や #REF! などの構造的なエラーだけを目立たせたい場合に使えます。#N/A は「該当なし」の正常な結果として扱いたいケースです。</p>



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



<p class="wp-block-paragraph">#VALUE! や #REF! のセルだけが色付きになります。#N/A は色が付かないので、「見つからない」と「壊れている」を視覚的に区別できます。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン4: SUMPRODUCTで構造エラーをカウントする</span></h3>



<p class="wp-block-paragraph">大量のデータ範囲で、#N/A 以外の「修正が必要なエラー」が何件あるか確認できます。</p>



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



<p class="wp-block-paragraph">C2:C100 の中で #VALUE!、#REF!、#DIV/0! などが何セルあるかを返します。#N/A は数えないので、「数式の問題だけ」を把握できます。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン5: XLOOKUPで構造エラーを先に処理する</span></h3>



<p class="wp-block-paragraph">XLOOKUPには第4引数（見つからない場合の値）がありますが、これで処理されるのは #N/A だけです。#VALUE! や #REF! は第4引数では処理されません。</p>



<pre class="wp-block-code"><code>=IF(ISERR(XLOOKUP(B2,商品マスタ!A:A,商品マスタ!B:B)),&quot;数式を確認&quot;,XLOOKUP(B2,商品マスタ!A:A,商品マスタ!B:B,&quot;該当なし&quot;))</code></pre>



<p class="wp-block-paragraph">まずISERRで構造エラーを先に判定します。構造エラーでなければ、XLOOKUPの第4引数で #N/A を「該当なし」に置き換えます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>XLOOKUPの第4引数は <a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数</a> に近い動作です。#N/A しか処理しないため、構造エラーの検知にはISERR関数が必要です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc13">ISERR関数と似た関数との違い・使い分け</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>ISERR（この記事）</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-iserror/">ISERROR</a></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-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>



<h3 class="wp-block-heading"><span id="toc14">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="toc15">IFERRORとの使い分け</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>ISERR</th><th>IFERROR</th></tr></thead><tbody><tr><td>戻り値</td><td>TRUE / FALSE</td><td>正常値 or 代替値</td></tr><tr><td>#N/A への反応</td><td>FALSE（除外）</td><td>代替値を返す（含む）</td></tr><tr><td>エラーの区別</td><td>ISNA と組み合わせて可能</td><td>できない</td></tr><tr><td>主な用途</td><td>エラー種類の判定・分岐</td><td>エラー表示の回避</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">IFERROR ですべてのエラーをまとめて処理するのが手軽です。一方、「#N/A とそれ以外を区別したい」場面では ISERR + ISNA の組み合わせが必要です。</p>



<h3 class="wp-block-heading"><span id="toc16">使い分けの判断フロー</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> → <a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数</a></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> → <strong>ISERR関数</strong>（この記事）</li></ol>



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#N/A で TRUE が返らない</td><td>ISERR は #N/A を除外する</td><td>#N/A を判定するには <a href="https://mashukabu.com/excel-function-howto-use-isna/">ISNA関数</a> を使う</td></tr><tr><td>すべてのエラーで TRUE にしたい</td><td>ISERR は #N/A のみ除外する</td><td>すべて判定したいなら <a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数</a> を使う</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>数式で #NAME? が表示される</td><td>関数名のスペルミス</td><td><code>ISERR</code> のスペルを確認する。<code>ISERROR</code> との混同に注意</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc18">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><a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR</a></td><td>任意のエラー値か</td><td>#N/A, #VALUE!, #REF! など</td></tr><tr><td>ISERR（この記事）</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兄弟を覚えておきましょう。<a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR</a>（全エラー）= <a href="https://mashukabu.com/excel-function-howto-use-isna/">ISNA</a>（#N/A のみ）+ <strong>ISERR</strong>（#N/A 以外）。この関係がわかれば使い分けに迷いません。</p></blockquote>



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



<p class="wp-block-paragraph">ISERR関数は、セルの値が #N/A 以外のエラーかどうかを判定する関数です。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>内容</th></tr></thead><tbody><tr><td>構文</td><td><code>=ISERR(テストの対象)</code></td></tr><tr><td>対象エラー</td><td>#VALUE!, #REF!, #DIV/0!, #NAME?, #NUM!, #NULL!（6種類）</td></tr><tr><td>除外エラー</td><td>#N/A（FALSE を返す）</td></tr><tr><td>戻り値</td><td>TRUE または FALSE</td></tr><tr><td>関係式</td><td>ISERROR = ISNA + ISERR</td></tr></tbody></table></figure>



<ul class="wp-block-list"><li>ISNA関数と組み合わせれば、エラーの種類に応じた精緻な分岐が可能</li><li>XLOOKUPの第4引数は #N/A しか処理しないので、構造エラーの検知にはISERRが必要</li><li>IFERRORですべてまとめて処理するか、ISERR + ISNAで区別するかがポイント</li></ul>



<p class="wp-block-paragraph">VLOOKUPやXLOOKUPで「#N/A は正常な結果だけど、それ以外のエラーは問題」という場面は意外と多いです。そんなときにISERR関数を使ってみてください。</p>



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



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数の使い方｜すべてのエラーをまとめて判定する方法</a></li><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-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-isblank/">ISBLANK関数の使い方｜空白セルを判定する方法</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-iserr/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-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">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>
		<item>
		<title>ExcelのISLOGICAL関数の使い方｜TRUE/FALSEの論理値を判定する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-islogical/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-islogical/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 08 Apr 2022 21:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[ISLOGICAL関数]]></category>
		<category><![CDATA[IS関数]]></category>
		<category><![CDATA[TRUE FALSE]]></category>
		<category><![CDATA[データ検証]]></category>
		<category><![CDATA[論理値]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1594</guid>

					<description><![CDATA[ExcelのISLOGICAL関数の使い方を初心者向けに解説。セルの値がTRUE/FALSEの論理値かどうかを判定する基本構文から、IF関数との組み合わせ、CSVインポート後のデータ検証、IS系12関数の比較まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「このセルの値って本当にTRUE/FALSEなの？」と気になったことはありませんか。見た目はTRUEでも、文字列の&#8221;TRUE&#8221;が入っているだけかもしれません。文字列のままだと計算に使えず、意図しない結果になることがあります。</p>



<p class="wp-block-paragraph">そんなときに頼れるのがISLOGICAL関数です。セルの値が本物の論理値かどうかを一発で見分けられます。</p>



<p class="wp-block-paragraph">この記事では、ISLOGICAL関数の基本から実務で役立つ活用パターンまで解説します。IF関数との組み合わせやCSVインポート後のデータ検証、IS系12関数の使い分けもカバーします。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>この記事は次のような人におすすめ</p><p>&#8211; セルの値が本当に論理値（TRUE/FALSE）か確認したい<br>&#8211; 文字列の&#8221;TRUE&#8221;と論理値のTRUEを区別したい<br>&#8211; IF関数やデータ入力規則と組み合わせて使いたい<br>&#8211; IS系関数の違いを整理したい</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">ISLOGICAL関数とは？</a></li><li><a href="#toc2" tabindex="0">ISLOGICAL関数の書き方（構文と引数）</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">ISLOGICAL関数の基本的な使い方</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">ISLOGICAL関数の実務活用パターン</a><ol><li><a href="#toc10" tabindex="0">パターン1: IF関数と組み合わせてデータ種別を表示する</a></li><li><a href="#toc11" tabindex="0">パターン2: 文字列&#8221;TRUE&#8221;と論理値TRUEを区別する</a></li><li><a href="#toc12" tabindex="0">パターン3: データ入力規則で論理値のみに制限する</a></li><li><a href="#toc13" tabindex="0">パターン4: SUMPRODUCTと組み合わせて論理値の個数を数える</a></li><li><a href="#toc14" tabindex="0">パターン5: 条件付き書式で論理値セルをハイライトする</a></li></ol></li><li><a href="#toc15" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc16" tabindex="0">ISLOGICAL関数とTYPE関数の使い分け</a></li><li><a href="#toc17" tabindex="0">IS系12関数の違い・使い分け</a></li><li><a href="#toc18" tabindex="0">まとめ</a><ol><li><a href="#toc19" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ISLOGICAL（いず・ろじかる）関数は、指定した値が論理値かどうかを判定する関数です。論理値とはTRUEまたはFALSEのことです。判定結果はTRUEかFALSEで返ります。「IS（〜かどうか）+ LOGICAL（論理的な）」が名前の由来です。</p>



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



<p class="wp-block-paragraph">ExcelのIS系関数（情報関数）の1つで、セルに入っているデータの種類を確認するファミリーに属しています。CSVインポート後のデータ検証や、チェックボックスの値確認に使えます。「見た目ではわからない型の違い」を見抜くときに活躍します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>ISLOGICAL関数はExcel 2003以降のすべてのバージョンで使用できます。Excel 2021 / Microsoft 365はもちろん、Googleスプレッドシートでも同じ構文で利用可能です。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=ISLOGICAL(テストの対象)</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">ISLOGICAL関数の基本的な使い方</span></h2>



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>入力値</th><th>数式</th><th>結果</th><th>理由</th></tr></thead><tbody><tr><td>TRUE</td><td>=ISLOGICAL(TRUE)</td><td><strong>TRUE</strong></td><td>論理値のTRUE</td></tr><tr><td>FALSE</td><td>=ISLOGICAL(FALSE)</td><td><strong>TRUE</strong></td><td>論理値のFALSE</td></tr><tr><td>&#8220;TRUE&#8221;</td><td>=ISLOGICAL(&#8220;TRUE&#8221;)</td><td><strong>FALSE</strong></td><td>文字列の&#8221;TRUE&#8221;</td></tr><tr><td>1</td><td>=ISLOGICAL(1)</td><td><strong>FALSE</strong></td><td>数値</td></tr><tr><td>0</td><td>=ISLOGICAL(0)</td><td><strong>FALSE</strong></td><td>数値</td></tr><tr><td>&#8220;&#8221;</td><td>=ISLOGICAL(&#8220;&#8221;)</td><td><strong>FALSE</strong></td><td>空文字列</td></tr><tr><td>（空白セル）</td><td>=ISLOGICAL(A1)</td><td><strong>FALSE</strong></td><td>空白</td></tr><tr><td>#N/A</td><td>=ISLOGICAL(#N/A)</td><td><strong>FALSE</strong></td><td>エラー値</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポイントは、<strong>論理値のTRUEとFALSEだけがTRUEになる</strong>ということです。数値の0や1、文字列の&#8221;TRUE&#8221;は論理値ではないためFALSEになります。</p>



<p class="wp-block-paragraph">ここで「論理値」とは何かを整理しておきましょう。論理値はTRUEとFALSEの2つだけです。0や1は数値であり、論理値ではありません。&#8221;TRUE&#8221;のようにダブルクォーテーションで囲まれたものは文字列です。この3つの違いを意識すると、判定結果に迷わなくなります。</p>



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



<p class="wp-block-paragraph">セル参照を使えば、特定のセルの値が論理値かどうかを確認できます。</p>



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



<p class="wp-block-paragraph">A1に <code>TRUE</code> が入っていればTRUE、<code>100</code> や <code>"完了"</code> が入っていればFALSEです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>空白セルを指定した場合もFALSEになります。空白かどうかの判定には<a href="https://mashukabu.com/excel-function-howto-use-isblank/">ISBLANK関数</a>を使いましょう。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=ISLOGICAL(A1&gt;100)</code></pre>



<p class="wp-block-paragraph"><code>A1>100</code> の結果はTRUEかFALSE（論理値）です。そのため、この数式は常に<strong>TRUE</strong>を返します。比較演算子の結果は必ず論理値になるためです。</p>



<p class="wp-block-paragraph">同じ理由で、<code>=ISLOGICAL(AND(A1>0,B1>0))</code> もTRUEを返します。<code>=ISLOGICAL(ISNUMBER(C1))</code> も同様です。これらの関数の戻り値が論理値だからです。ISLOGICAL関数は「中身の値が論理値かどうか」を見ている、と覚えておきましょう。</p>



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



<h3 class="wp-block-heading"><span id="toc10">パターン1: IF関数と組み合わせてデータ種別を表示する</span></h3>



<p class="wp-block-paragraph">セルの内容が論理値かどうかに応じて処理を分けたい場面で使えます。</p>



<pre class="wp-block-code"><code>=IF(ISLOGICAL(B2),&quot;論理値です&quot;,&quot;論理値ではありません&quot;)</code></pre>



<p class="wp-block-paragraph">B2がTRUEやFALSEなら「論理値です」と表示します。それ以外なら「論理値ではありません」と表示します。</p>



<p class="wp-block-paragraph">アンケートの回答欄やチェックボックスの結果など、TRUE/FALSEが入るべきセルの検証に便利です。データ検証の結果に応じて処理を切り替えるパターンは、<a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>の記事でも詳しく解説しています。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン2: 文字列&#8221;TRUE&#8221;と論理値TRUEを区別する</span></h3>



<p class="wp-block-paragraph">CSVファイルをインポートすると、論理値だったはずのTRUEが文字列&#8221;TRUE&#8221;に変わることがあります。見た目は同じでも中身が違うため、計算に使えません。</p>



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



<p class="wp-block-paragraph">論理値のTRUEならTRUE、文字列の&#8221;TRUE&#8221;ならFALSEが返ります。この結果で問題のあるセルを特定できます。</p>



<p class="wp-block-paragraph">文字列の&#8221;TRUE&#8221;を論理値に変換したい場合は、次のように書きます。</p>



<pre class="wp-block-code"><code>=EXACT(C2,&quot;TRUE&quot;)*1=1</code></pre>



<p class="wp-block-paragraph">あるいは、もっとシンプルに <code>=C2=TRUE</code> でも判定できます。ただし、この式は文字列&#8221;TRUE&#8221;でもTRUEを返す場合があります。厳密な判定にはISLOGICAL関数が確実です。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン3: データ入力規則で論理値のみに制限する</span></h3>



<p class="wp-block-paragraph">特定の列にTRUE/FALSEだけを入力させたいときに活用できます。</p>



<p class="wp-block-paragraph">データの入力規則（データタブ → データの入力規則）で、「ユーザー設定」の数式に次のように入力します。</p>



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



<p class="wp-block-paragraph">この設定をすると、D2に論理値以外の値を入力した場合にエラーメッセージが表示されます。チェックリストのようなTRUE/FALSEだけが入るべき列の入力制限に使えます。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン4: SUMPRODUCTと組み合わせて論理値の個数を数える</span></h3>



<p class="wp-block-paragraph">範囲内に論理値がいくつ含まれるかを数えるには、SUMPRODUCT関数と組み合わせます。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(ISLOGICAL(A2:A20)*1)</code></pre>



<p class="wp-block-paragraph"><code>ISLOGICAL(A2:A20)</code> が各セルに対してTRUE/FALSEの配列を返します。<code>*1</code> で数値に変換し、SUMPRODUCTで合計すると論理値のセル数がわかります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>数値の個数を数えるにはCOUNT関数が使えますが、論理値の個数を直接数える専用関数はありません。<a href="https://mashukabu.com/excel-function-howto-use-sumproduct/">SUMPRODUCT関数</a>+ISLOGICALの組み合わせが定番パターンです。</p></blockquote>



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



<p class="wp-block-paragraph">論理値が入っているセルだけを色分けしたい場合に使えます。</p>



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



<p class="wp-block-paragraph">これで論理値が入っているセルだけが色分けされます。データクレンジングの際に「論理値が入るべき列に文字列が混ざっていないか」を視覚的に確認できます。</p>



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



<p class="wp-block-paragraph">ISLOGICAL関数自体がエラーを返すことはほとんどありません。ただし「思った結果にならない」ケースがあるので確認しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>文字列&#8221;TRUE&#8221;でFALSEが返る</td><td>セルに論理値ではなく文字列が入っている</td><td>CSVインポート後のデータを確認。<code>=C2=TRUE</code> で再変換するか、<a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>で条件処理する</td></tr><tr><td>チェックボックスの値でFALSEが返る</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>数値の0や1でFALSEが返る</td><td>0/1は数値であり論理値ではない</td><td>論理値に変換するには <code>=A1=1</code> のように比較式を使う</td></tr><tr><td>数式が入っているセルでTRUEが返る</td><td>数式の<strong>結果</strong>が論理値である</td><td>ISLOGICAL関数はセルの内容ではなく結果を判定する。数式かどうかの判定には<a href="https://mashukabu.com/excel-function-howto-use-isformula/">ISFORMULA関数</a>を使う</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc16">ISLOGICAL関数とTYPE関数の使い分け</span></h2>



<p class="wp-block-paragraph">論理値かどうかの判定にはISLOGICAL関数のほかに、<a href="https://mashukabu.com/excel-function-howto-use-type/">TYPE関数</a>を使う方法もあります。</p>



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



<p class="wp-block-paragraph">TYPE関数はセルの値の種類を数値コードで返します。論理値のコードは <strong>4</strong> です。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>ISLOGICAL</th><th>TYPE関数</th></tr></thead><tbody><tr><td>戻り値</td><td>TRUE/FALSE</td><td>数値コード（1=数値, 2=文字列, 4=論理値, 16=エラー, 64=配列）</td></tr><tr><td>論理値の判定</td><td>=ISLOGICAL(A1)</td><td>=TYPE(A1)=4</td></tr><tr><td>使い分け</td><td>「論理値かどうか」だけ知りたいとき</td><td>値の種類を分岐処理したいとき</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「論理値かどうか」だけを判定するならISLOGICAL関数がシンプルです。複数の型を条件分岐したい場合は、TYPE関数が便利です。TYPE関数の詳しい使い方は<a href="https://mashukabu.com/excel-function-howto-use-type/">TYPE関数の記事</a>で解説しています。</p>



<h2 class="wp-block-heading"><span id="toc17">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><a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR</a></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>ISLOGICAL（この記事）</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>エラー判定には<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>のほうが実務では便利です。ISERROR関数はTRUE/FALSEを返すだけですが、IFERROR関数はエラー時の代替値をそのまま指定できます。</p></blockquote>



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



<p class="wp-block-paragraph">ISLOGICAL関数は、セルの値が論理値（TRUE/FALSE）かどうかを判定するシンプルな関数です。</p>



<ul class="wp-block-list"><li>引数は1つだけ。論理値ならTRUE、それ以外ならFALSE</li><li>文字列の&#8221;TRUE&#8221;と論理値のTRUEを区別できる</li><li>IF関数やデータ入力規則と組み合わせるのが実務での定番パターン</li><li>SUMPRODUCTとの組み合わせで論理値の個数カウントも可能</li></ul>



<p class="wp-block-paragraph">IS系関数ファミリーの中でも使用頻度は高くありません。それでも、CSVインポート後のデータ検証やチェックリストの入力制限など、ここぞという場面で役立ちます。</p>



<p class="wp-block-paragraph">「このデータ、本当にTRUE/FALSEなの？」と迷ったら、まずISLOGICAL関数で確認してみてください。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-isblank/">ISBLANK関数の使い方｜空白セルを判定する方法</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-istext/">ISTEXT関数の使い方｜文字列かどうかを確認する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数の使い方｜エラー値を判定する方法</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-type/">TYPE関数の使い方｜セルのデータ型を調べる方法</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-if/">IF関数の使い方｜条件分岐の基本</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-islogical/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのISNA関数の使い方｜#N/Aエラーだけをピンポイントで判定する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-isna/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-isna/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 08 Apr 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[#N/A]]></category>
		<category><![CDATA[IFERROR]]></category>
		<category><![CDATA[ISNA関数]]></category>
		<category><![CDATA[IS関数]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[エラー判定]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1591</guid>

					<description><![CDATA[ExcelのISNA関数の使い方を解説。#N/Aエラーだけを判定する基本構文から、VLOOKUPとの組み合わせ、IFERRORやIFNAとの違い・使い分け判断フロー、IS系12関数の比較まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">VLOOKUPやMATCH関数を使ったら「#N/A」がセルに表示された&#8230;&#8230;。検索系の関数ではよくあることですよね。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>でまとめて消す方法もありますが、それだと #VALUE! や #REF! のような「数式自体のミス」まで隠れてしまいます。「#N/A だけを検知して、他のエラーは残しておきたい」。そんなときに活躍するのが <strong>ISNA関数</strong> です。</p>



<p class="wp-block-paragraph">この記事では、ISNA関数の基本から、VLOOKUPとの組み合わせ、IFERROR・IFNAとの使い分けまで、実例付きでまるっと解説します。</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">ISNA関数とは？#N/Aエラーを判定する関数</a><ol><li><a href="#toc2" tabindex="0">ISNAの戻り値はTRUE/FALSEだけ</a></li></ol></li><li><a href="#toc3" tabindex="0">ISNA関数の書き方（構文と引数）</a><ol><li><a href="#toc4" tabindex="0">基本構文</a></li><li><a href="#toc5" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc6" tabindex="0">ISNA関数の基本的な使い方</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">ISNA関数の実務活用パターン</a><ol><li><a href="#toc10" tabindex="0">パターン1: VLOOKUPの#N/Aだけを判定して処理を分岐する</a></li><li><a href="#toc11" tabindex="0">パターン2: #N/Aだけ処理して他のエラーは残す</a></li><li><a href="#toc12" tabindex="0">パターン3: MATCH関数と組み合わせてリストの存在チェック</a></li><li><a href="#toc13" tabindex="0">パターン4: COUNTIFで代用できないケースでの存在チェック</a></li><li><a href="#toc14" tabindex="0">パターン5: 条件付き書式で#N/Aセルをハイライトする</a></li></ol></li><li><a href="#toc15" tabindex="0">ISNAとIFERROR・IFNA・ISERRORの違い</a><ol><li><a href="#toc16" tabindex="0">比較表</a></li><li><a href="#toc17" tabindex="0">使い分けの判断フロー</a></li><li><a href="#toc18" tabindex="0">XLOOKUPならISNAが不要になるケースも</a></li></ol></li><li><a href="#toc19" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc20" tabindex="0">IS系12関数の違い・使い分け</a></li><li><a href="#toc21" tabindex="0">INDEX+MATCH関数とISNA関数の組み合わせ</a><ol><li><a href="#toc22" tabindex="0">INDEX+MATCHの基本とISNAの役割</a></li><li><a href="#toc23" tabindex="0">VLOOKUPとINDEX+MATCHでISNAを使う理由の違い</a></li><li><a href="#toc24" tabindex="0">IFNAで書き換えるとシンプルになる</a></li></ol></li><li><a href="#toc25" tabindex="0">ISNA関数のよくある質問（FAQ）</a><ol><li><a href="#toc26" tabindex="0">Q1. ISNA関数とIFNA関数は何が違う？</a></li><li><a href="#toc27" tabindex="0">Q2. VLOOKUP以外でISNA関数を使うシーンは？</a></li><li><a href="#toc28" tabindex="0">Q3. ISNAで TRUE になったセルの数を数えるには？</a></li><li><a href="#toc29" tabindex="0">Q4. ISNAは Google スプレッドシートでも同じ書き方で使える？</a></li></ol></li><li><a href="#toc30" tabindex="0">まとめ</a><ol><li><a href="#toc31" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ISNA関数とは？#N/Aエラーを判定する関数</span></h2>



<p class="wp-block-paragraph">ISNA（イズ エヌエー）関数は、指定した値が <strong>#N/Aエラーかどうか</strong> を判定する関数です。NAは「Not Available（利用できない）」の略で、主にVLOOKUPやMATCHで検索値が見つからなかったときに表示されます。</p>



<p class="wp-block-paragraph">対象が #N/A エラーであれば <strong>TRUE</strong> を返し、それ以外の値（数値・文字列・他のエラーなど）はすべて <strong>FALSE</strong> を返します。</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>ISNA関数は Excel 2003 以降のすべてのバージョンで使用できます。Microsoft 365 や Google スプレッドシートでも同じ書き方で利用可能です。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc2">ISNAの戻り値はTRUE/FALSEだけ</span></h3>



<p class="wp-block-paragraph">ここがポイントです。ISNA関数は「#N/A かどうか」をTRUE/FALSEで返すだけの判定関数です。エラーを別の値に置き換える機能はありません。</p>



<p class="wp-block-paragraph">エラーを代替値に置き換えたい場合は、<a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>を使います。ISNAは「#N/A かどうかを知りたい」「条件分岐に使いたい」場面で力を発揮します。</p>



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



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



<pre class="wp-block-code"><code>=ISNA(テストの対象)</code></pre>



<h3 class="wp-block-heading"><span id="toc5">引数の説明</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>#N/A エラーかどうか判定したい値またはセル参照</td></tr></tbody></table></figure>



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



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



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>理由</th></tr></thead><tbody><tr><td><code>=ISNA(#N/A)</code></td><td><strong>TRUE</strong></td><td>#N/A エラーそのもの</td></tr><tr><td><code>=ISNA(VLOOKUP("存在しない値",A:B,2,FALSE))</code></td><td><strong>TRUE</strong></td><td>VLOOKUPが見つからず #N/A を返す</td></tr><tr><td><code>=ISNA(100)</code></td><td><strong>FALSE</strong></td><td>数値</td></tr><tr><td><code>=ISNA("東京")</code></td><td><strong>FALSE</strong></td><td>文字列</td></tr><tr><td><code>=ISNA(1/0)</code></td><td><strong>FALSE</strong></td><td>#DIV/0! エラー（#N/A ではない）</td></tr><tr><td><code>=ISNA(#VALUE!)</code></td><td><strong>FALSE</strong></td><td>#VALUE! エラー（#N/A ではない）</td></tr><tr><td><code>=ISNA(#REF!)</code></td><td><strong>FALSE</strong></td><td>#REF! エラー（#N/A ではない）</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>ISNAは <strong>#N/A だけ</strong> に反応します。#VALUE! や #REF! などの他のエラーには FALSE を返す点がポイントです。すべてのエラーをまとめて判定したい場合は <a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数</a> を使いましょう。</p></blockquote>



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



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



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



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



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



<h3 class="wp-block-heading"><span id="toc10">パターン1: VLOOKUPの#N/Aだけを判定して処理を分岐する</span></h3>



<p class="wp-block-paragraph">VLOOKUPで検索値が見つからなかったときだけ、メッセージを表示する使い方です。</p>



<pre class="wp-block-code"><code>=IF(ISNA(VLOOKUP(B2,商品マスタ!A:C,2,FALSE)),&quot;該当なし&quot;,VLOOKUP(B2,商品マスタ!A:C,2,FALSE))</code></pre>



<p class="wp-block-paragraph">B2 の値がマスタに存在しなければ「該当なし」と表示します。見つかった場合はVLOOKUPの結果をそのまま返します。</p>



<p class="wp-block-paragraph">この書き方の最大のメリットは、<strong>#N/A 以外のエラーがそのまま表示される</strong> こと。たとえば列番号の指定ミスで #REF! が出た場合、エラーが隠れずにすぐ気付けます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>この書き方だとVLOOKUPを2回実行するため、データ量が多いと処理が遅くなることがあります。単にエラーを置き換えるだけなら <a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数</a> のほうがシンプルです。ISNAは「判定結果をTRUE/FALSEで受け取りたい」場面で選びましょう。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc11">パターン2: #N/Aだけ処理して他のエラーは残す</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>を使うと、すべてのエラーがまとめて置き換えられます。しかし #REF! や #VALUE! のように「数式そのものに問題がある」エラーは残しておきたいケースもありますよね。</p>



<pre class="wp-block-code"><code>=IF(ISNA(VLOOKUP(B2,A:C,3,FALSE)),&quot;未登録&quot;,VLOOKUP(B2,A:C,3,FALSE))</code></pre>



<p class="wp-block-paragraph">#N/A（検索値が見つからない）のときだけ「未登録」と表示します。参照先の列がずれて #REF! が出た場合はエラーがそのまま表示されるので、問題に気付けます。</p>



<p class="wp-block-paragraph">これがISNA関数と<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>の最大の違いです。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン3: MATCH関数と組み合わせてリストの存在チェック</span></h3>



<p class="wp-block-paragraph">商品コードや社員番号がマスタに存在するかどうかを確認する場面で使えます。</p>



<pre class="wp-block-code"><code>=IF(ISNA(MATCH(B2,マスタ!A:A,0)),&quot;未登録&quot;,&quot;登録済み&quot;)</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-match/">MATCH関数</a>は値が見つからないと #N/A を返します。ISNAで判定すれば「マスタにあるか・ないか」を表示できますよ。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン4: COUNTIFで代用できないケースでの存在チェック</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-countif/">COUNTIF関数</a>でも存在チェックはできますが、完全一致の検索で「ワイルドカードを無効にしたい」場合はMATCH+ISNAが安全です。</p>



<pre class="wp-block-code"><code>=IF(ISNA(MATCH(B2,A2:A100,0)),&quot;なし&quot;,&quot;あり&quot;)</code></pre>



<p class="wp-block-paragraph">COUNTIFでは <code><em></code> や <code>?</code> がワイルドカードとして扱われます。コード値に <code></em></code> を含むデータがある場合、MATCH+ISNAなら誤判定を防げます。</p>



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



<p class="wp-block-paragraph">VLOOKUPの結果列で #N/A になっているセルだけを目立たせたい場合に使えます。</p>



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



<p class="wp-block-paragraph">#N/A のセルだけが色付きになります。他のエラー（#REF! など）は色が付かないので、問題の種類を区別できます。</p>



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



<p class="wp-block-paragraph">#N/A エラーの処理に使える関数は複数あります。それぞれの違いを把握しておくと、場面に応じて最適な関数を選べますよ。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>対象エラー</th><th>戻り値</th><th>主な用途</th></tr></thead><tbody><tr><td>ISNA（この記事）</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-iserror/">ISERROR</a></td><td>すべてのエラー</td><td>TRUE / FALSE</td><td>エラーかどうかをTRUE/FALSEで返す</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 のほうがシンプルです。「#N/A かどうかを TRUE/FALSE で知りたい」「他のエラーはそのまま残したい」場面で ISNA が活躍します。</p></blockquote>



<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>#N/A だけを隠したい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数</a></li><li><strong>#N/A かどうかを TRUE/FALSE で判定したい</strong> → <strong>ISNA関数</strong>（この記事）</li><li><strong>エラーかどうかを TRUE/FALSE で判定したい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数</a></li><li><strong>#N/A 以外のエラーを判定したい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-iserr/">ISERR関数</a></li></ol>



<h3 class="wp-block-heading"><span id="toc18">XLOOKUPならISNAが不要になるケースも</span></h3>



<p class="wp-block-paragraph">Microsoft 365 や Excel 2021 以降で使える <a href="https://mashukabu.com/excel-function-howto-use-xlookup/">XLOOKUP関数</a> には、第4引数で「見つからなかったときの値」を直接指定できます。</p>



<pre class="wp-block-code"><code>=XLOOKUP(B2,商品マスタ!A:A,商品マスタ!C:C,&quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">この書き方なら、IF+ISNAの組み合わせや、IFNA関数も不要になります。XLOOKUPが使える環境なら検討してみてください。</p>



<p class="wp-block-paragraph">ただし、「#N/A かどうかを条件分岐に使いたい」「条件付き書式に使いたい」といった場面では、XLOOKUPでもISNA関数は引き続き必要です。</p>



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



<p class="wp-block-paragraph">ISNA関数自体がエラーを返すことはほとんどありません。ただし「思った結果にならない」ケースがあるので、確認しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE! で TRUE が返らない</td><td>ISNA は #N/A のみ判定する</td><td>全エラーを判定するには <a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数</a> を使う</td></tr><tr><td>#REF! で TRUE が返らない</td><td>ISNA は #N/A 以外のエラーに FALSE を返す</td><td>すべてのエラーをまとめて処理するなら <a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a> が便利</td></tr><tr><td>VLOOKUPの結果で FALSE が返る</td><td>検索値が見つかっている（#N/A ではない）</td><td>VLOOKUPが値を返せているなら正常動作</td></tr><tr><td>空白セルで FALSE が返る</td><td>空白は #N/A ではない</td><td>空白判定には <a href="https://mashukabu.com/excel-function-howto-use-isblank/">ISBLANK関数</a> を使う</td></tr><tr><td>数式で #NAME? が表示される</td><td>関数名のスペルミス</td><td><code>ISNA</code> のスペルを確認。<code>ISNA</code> と <code>IFNA</code> は別の関数</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc20">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><a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR</a></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>ISNA（この記事）</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>ISNA関数と対になるのは <a href="https://mashukabu.com/excel-function-howto-use-iserr/">ISERR関数</a> です。ISNAが「#N/A だけ TRUE」なのに対し、ISERRは「#N/A 以外のエラーで TRUE」を返します。この2つを組み合わせれば、エラーの種類を細かく分類できます。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc21">INDEX+MATCH関数とISNA関数の組み合わせ</span></h2>



<p class="wp-block-paragraph">VLOOKUPの代わりによく使われる INDEX+MATCH の組み合わせでも、検索値が見つからない場合は #N/A が発生します。ISNA関数との使い方はVLOOKUPと同じ要領で覚えられます。</p>



<h3 class="wp-block-heading"><span id="toc22">INDEX+MATCHの基本とISNAの役割</span></h3>



<p class="wp-block-paragraph">INDEX+MATCH では、MATCH関数が値を見つけられないと #N/A を返します。これをISNA関数で受け取り、IF関数で分岐するパターンが基本です。</p>



<pre class="wp-block-code"><code>=IF(ISNA(MATCH(B2,マスタ!A:A,0)),&quot;未登録&quot;,INDEX(マスタ!B:B,MATCH(B2,マスタ!A:A,0)))</code></pre>



<p class="wp-block-paragraph">B2 の値が「マスタ」シートのA列に存在しなければ「未登録」を表示し、見つかればB列の値を返します。</p>



<h3 class="wp-block-heading"><span id="toc23">VLOOKUPとINDEX+MATCHでISNAを使う理由の違い</span></h3>



<p class="wp-block-paragraph">VLOOKUPでISNAを使う主な理由は「検索値が見つからない場合の処理」です。INDEX+MATCHでも同様ですが、こちらはさらに<strong>列番号が固定でなく動的に変わる構成</strong>に対応できます。</p>



<pre class="wp-block-code"><code>=IF(
  ISNA(MATCH(B2,マスタ!A:A,0)),
  &quot;該当なし&quot;,
  INDEX(マスタ!C:C,MATCH(B2,マスタ!A:A,0))
)</code></pre>



<p class="wp-block-paragraph">たとえば、マスタの「C列」を参照するこの数式は、VLOOKUPと違いマスタに列を追加しても列番号がずれません。ISNA+IF で囲む書き方はVLOOKUPとまったく同じパターンで使えます。</p>



<h3 class="wp-block-heading"><span id="toc24">IFNAで書き換えるとシンプルになる</span></h3>



<p class="wp-block-paragraph">「#N/A のときだけ代替値を返す」目的であれば、<a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数</a>で書き換えるほうが数式が短くなります。</p>



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



<p class="wp-block-paragraph">INDEX+MATCHを1回しか書かなくてよいので、数式が簡潔になります。ISNAはあくまでも「TRUE/FALSEで判定したい」または「他のエラーは残したい」場面で選ぶ関数です。</p>



<h2 class="wp-block-heading"><span id="toc25">ISNA関数のよくある質問（FAQ）</span></h2>



<h3 class="wp-block-heading"><span id="toc26">Q1. ISNA関数とIFNA関数は何が違う？</span></h3>



<p class="wp-block-paragraph">目的が異なります。ISNA関数は「#N/A かどうかを TRUE/FALSE で返すだけ」の判定関数です。エラーを別の値に置き換える機能は持っていません。</p>



<p class="wp-block-paragraph">一方、IFNA関数は「#N/A のときに代わりの値を返す」置き換え関数です。</p>



<pre class="wp-block-code"><code>=ISNA(VLOOKUP(B2,A:C,2,0))      → TRUE または FALSE
=IFNA(VLOOKUP(B2,A:C,2,0),&quot;なし&quot;)  → 見つからなければ「なし」</code></pre>



<p class="wp-block-paragraph">「#N/A のセルを特定の文字列に変えたい」だけなら IFNA がシンプルです。「#N/A かどうかで処理を分岐したい」「条件付き書式に使いたい」「他のエラーは残したい」場面で ISNA を選びましょう。</p>



<h3 class="wp-block-heading"><span id="toc27">Q2. VLOOKUP以外でISNA関数を使うシーンは？</span></h3>



<p class="wp-block-paragraph">VLOOKUP以外でも、#N/A を返す関数と組み合わせる場面は多くあります。代表的なものを挙げます。</p>



<ul class="wp-block-list"><li><strong>MATCH関数</strong>: 値が見つからないと #N/A → <code>=IF(ISNA(MATCH(…)),"未登録","登録済み")</code></li><li><strong>HLOOKUP関数</strong>: 横方向の検索で見つからないと #N/A</li><li><strong>INDEX+MATCH</strong>: MATCHが失敗すると #N/A</li><li><strong>XMATCH関数</strong>: 見つからないと #N/A（XLOOKUP内蔵の場合は発生しにくい）</li></ul>



<p class="wp-block-paragraph">VLOOKUP以外でも「検索して見つからなかったら #N/A」という挙動の関数は多いので、同じ書き方が流用できます。</p>



<h3 class="wp-block-heading"><span id="toc28">Q3. ISNAで TRUE になったセルの数を数えるには？</span></h3>



<p class="wp-block-paragraph">COUNTIF では直接エラーを数えられませんが、SUMPRODUCT+ISNA で実現できます。</p>



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



<p class="wp-block-paragraph"><code>ISNA(C2:C100)</code> で範囲全体をTRUE/FALSEの配列に変換し、<code>*1</code> で数値（1/0）に変えてSUMPRODUCTで合計します。これで「#N/A セルが何件あるか」を一発で確認できます。</p>



<h3 class="wp-block-heading"><span id="toc29">Q4. ISNAは Google スプレッドシートでも同じ書き方で使える？</span></h3>



<p class="wp-block-paragraph">はい。Google スプレッドシートでも <code>=ISNA(値)</code> の構文はまったく同じです。VLOOKUP との組み合わせや、IF+ISNA のパターンも同一の書き方で動作します。</p>



<p class="wp-block-paragraph">スプレッドシート固有の機能として、ARRAYFORMULAと組み合わせると1つの数式で範囲全体を一括判定できます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(ISNA(VLOOKUP(B2:B100,マスタ!A:C,2,0)),&quot;未登録&quot;,VLOOKUP(B2:B100,マスタ!A:C,2,0)))</code></pre>



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



<p class="wp-block-paragraph">ISNA関数は、セルの値が #N/A エラーかどうかを判定するシンプルな関数です。</p>



<ul class="wp-block-list"><li>引数は1つだけ。#N/A なら TRUE、それ以外なら FALSE</li><li>#VALUE! や #REF! など他のエラーには反応しない</li><li>VLOOKUPやMATCHの「見つからない」エラーだけを検知したいときに便利</li><li>IFERRORとの違いは「#N/A 以外のエラーを残せる」こと</li><li>代替値に置き換えるだけなら <a href="https://mashukabu.com/excel-function-howto-use-ifna/">IFNA関数</a> のほうがシンプル</li></ul>



<p class="wp-block-paragraph">IFERRORですべてのエラーをまとめて処理するのが一般的ですが、「#N/A だけを個別に扱いたい」場面ではISNA関数が最適です。ぜひ使い分けてみてください。</p>



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



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数の使い方｜エラー値を判定する方法</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-function-howto-use-xlookup/">XLOOKUP関数の使い方｜VLOOKUPの進化版</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-match/">MATCH関数の使い方</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-isblank/">ISBLANK関数の使い方｜空白セルを判定する方法</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-isna/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのISREF関数の使い方｜セル参照が有効かどうかを判定する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-isref/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-isref/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 Apr 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[ISREF関数]]></category>
		<category><![CDATA[IS関数]]></category>
		<category><![CDATA[セル参照]]></category>
		<category><![CDATA[データ検証]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1584</guid>

					<description><![CDATA[ExcelのISREF関数の使い方を初心者向けに解説。セル参照が有効かどうかを判定する基本構文から、INDIRECT関数との組み合わせによる参照エラー防止、名前の定義の存在検証、IF関数と連携したエラー回避テクニック、IS系12関数との違い・使い分けまで実務で使える活用パターンを紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「INDIRECT関数を使ったら、シート名を間違えて #REF! エラーが出てしまった&#8230;&#8230;」。動的にセル参照を組み立てる数式では、参照先が存在しないトラブルが起きがちですよね。</p>



<p class="wp-block-paragraph">参照が正しいかどうかを1つずつ目視で確認するのは大変です。そんなときに活躍するのがISREF関数です。</p>



<p class="wp-block-paragraph">この記事では、ISREF関数の基本から実務活用パターンまでまとめて紹介します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>この記事は次のような人におすすめ</p><p>&#8211; セル参照が有効かどうかを確認したい<br>&#8211; INDIRECT関数で組み立てた参照が正しいかチェックしたい<br>&#8211; 名前の定義で設定した範囲が存在するか検証したい</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">ISREF関数とは？</a></li><li><a href="#toc2" tabindex="0">ISREF関数の書き方（構文と引数）</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">ISREF関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">値の種類ごとの判定結果</a></li><li><a href="#toc7" tabindex="0">引数の「値」ではなく「参照としての有効性」を判定する</a></li></ol></li><li><a href="#toc8" tabindex="0">ISREF関数の実務活用パターン</a><ol><li><a href="#toc9" tabindex="0">パターン1: INDIRECT関数の参照エラーを事前チェックする</a></li><li><a href="#toc10" tabindex="0">パターン2: 名前の定義が存在するか検証する</a></li><li><a href="#toc11" tabindex="0">パターン3: 複数シートからデータを安全に取得する</a></li><li><a href="#toc12" tabindex="0">パターン4: OFFSET関数の参照範囲を検証する</a></li><li><a href="#toc13" tabindex="0">パターン5: データ入力シートの参照チェックリストを作る</a></li></ol></li><li><a href="#toc14" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc15" tabindex="0">IS系12関数の違い・使い分け</a></li><li><a href="#toc16" tabindex="0">まとめ</a><ol><li><a href="#toc17" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ISREF（いず れふ）関数は、指定した値が<strong>有効なセル参照かどうか</strong>を判定する関数です。ref は「reference（参照）」の略です。</p>



<p class="wp-block-paragraph">引数がセル参照として有効であれば TRUE を返します。数値・文字列・エラー値など、セル参照でないものはすべて FALSE です。</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>ISREF関数は引数の「参照としての有効性」を判定します。セルに入力されている値がセル参照かどうかを判定するものではありません。たとえば <code>=ISREF(A1)</code> は「A1 というセル参照は有効か？」を判定します。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=ISREF(テストの対象)</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>



<p class="wp-block-paragraph">セル参照（A1、Sheet2!B3 など）や名前の定義を指定できます。数値や文字列を直接指定すると FALSE になります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>名前の定義を検証するときはダブルクォーテーションを付けません。<code>=ISREF(売上)</code> は名前の定義「売上」が有効かを判定します。<code>=ISREF("売上")</code> だと文字列扱いになり FALSE です。</p></blockquote>



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



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



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



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



<p class="wp-block-paragraph">セル参照 A1 を指定した場合:</p>



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



<p class="wp-block-paragraph">結果: <strong>TRUE</strong>（A1 は有効なセル参照なので TRUE）</p>



<p class="wp-block-paragraph">数値 100 を直接指定した場合:</p>



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



<p class="wp-block-paragraph">結果: <strong>FALSE</strong>（数値はセル参照ではないので FALSE）</p>



<p class="wp-block-paragraph">文字列を直接指定した場合:</p>



<pre class="wp-block-code"><code>=ISREF(&quot;東京&quot;)</code></pre>



<p class="wp-block-paragraph">結果: <strong>FALSE</strong>（文字列はセル参照ではないので FALSE）</p>



<p class="wp-block-paragraph">名前の定義「売上」が存在する場合:</p>



<pre class="wp-block-code"><code>=ISREF(売上)</code></pre>



<p class="wp-block-paragraph">結果: <strong>TRUE</strong>（名前の定義が有効な範囲を参照していれば TRUE）</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-indirect/">INDIRECT関数</a>の結果を指定した場合:</p>



<pre class="wp-block-code"><code>=ISREF(INDIRECT(&quot;A1&quot;))</code></pre>



<p class="wp-block-paragraph">結果: <strong>TRUE</strong>（INDIRECT が有効なセル参照を返せば TRUE）</p>



<p class="wp-block-paragraph">INDIRECT関数に無効なシート名を指定した場合:</p>



<pre class="wp-block-code"><code>=ISREF(INDIRECT(&quot;存在しないシート!A1&quot;))</code></pre>



<p class="wp-block-paragraph">結果: <strong>FALSE</strong>（参照先が無効なので FALSE）</p>



<h3 class="wp-block-heading"><span id="toc7">引数の「値」ではなく「参照としての有効性」を判定する</span></h3>



<p class="wp-block-paragraph">ここが重要なポイントです。ISREF関数はセルに入っている値ではなく、<strong>引数がセル参照として有効かどうか</strong>を見ています。</p>



<p class="wp-block-paragraph">たとえば A1 に数値 100 が入っていても、<code>=ISREF(A1)</code> は TRUE です。A1 というセル参照自体が有効だからです。一方、<code>=ISREF(100)</code> は FALSE です。数値 100 はセル参照ではありません。</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-istext/">ISTEXT関数</a> や <a href="https://mashukabu.com/excel-function-howto-use-isnumber/">ISNUMBER関数</a> を使いましょう。ISREF関数は「セル参照として有効かどうか」だけに特化した関数です。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc9">パターン1: INDIRECT関数の参照エラーを事前チェックする</span></h3>



<p class="wp-block-paragraph">INDIRECT関数で動的にセル参照を組み立てるとき、参照先が無効だとエラーになります。ISREFで事前にチェックしましょう。</p>



<pre class="wp-block-code"><code>=IF(ISREF(INDIRECT(A2&amp;&quot;!B1&quot;)),INDIRECT(A2&amp;&quot;!B1&quot;),&quot;シート名を確認&quot;)</code></pre>



<p class="wp-block-paragraph">A2 にシート名が入っている場合を想定しています。参照が有効ならそのセルの値を表示します。無効なら「シート名を確認」と表示します。</p>



<p class="wp-block-paragraph">シート名の入力ミスによる #REF! エラーを防げます。</p>



<h3 class="wp-block-heading"><span id="toc10">パターン2: 名前の定義が存在するか検証する</span></h3>



<p class="wp-block-paragraph">名前の定義を使った数式で「名前が削除されていた」トラブルを防ぐパターンです。</p>



<pre class="wp-block-code"><code>=IF(ISREF(売上合計),SUM(売上合計),&quot;名前の定義なし&quot;)</code></pre>



<p class="wp-block-paragraph">名前の定義「売上合計」が有効ならSUMで合計します。削除されていれば「名前の定義なし」と表示します。</p>



<p class="wp-block-paragraph">テンプレートファイルの配布前チェックに便利です。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン3: 複数シートからデータを安全に取得する</span></h3>



<p class="wp-block-paragraph">月別シートからデータを集約するとき、まだ作成されていないシートへの参照でエラーが出る場合があります。</p>



<pre class="wp-block-code"><code>=IF(ISREF(INDIRECT(&quot;'&quot;&amp;B2&amp;&quot;'!C5&quot;)),INDIRECT(&quot;'&quot;&amp;B2&amp;&quot;'!C5&quot;),0)</code></pre>



<p class="wp-block-paragraph">B2 にシート名（例: 4月、5月&#8230;&#8230;）が入っている場合を想定しています。シートが存在すれば C5 の値を取得します。未作成なら 0 を返します。</p>



<p class="wp-block-paragraph">年度途中で月別シートを順次追加していく運用で重宝します。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン4: OFFSET関数の参照範囲を検証する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-offset/">OFFSET関数</a>で動的に範囲を指定するとき、範囲外を参照していないかチェックできます。</p>



<pre class="wp-block-code"><code>=IF(ISREF(OFFSET(A1,D2-1,0)),OFFSET(A1,D2-1,0),&quot;範囲外です&quot;)</code></pre>



<p class="wp-block-paragraph">D2 に行番号を入れて動的にデータを取得する場合を想定しています。参照が有効ならデータを取得します。範囲外なら「範囲外です」と表示します。</p>



<p class="wp-block-paragraph">ユーザーが行番号を手入力するシートでエラーを防げます。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン5: データ入力シートの参照チェックリストを作る</span></h3>



<p class="wp-block-paragraph">複数の名前の定義やシート参照を一括でチェックするリストを作れます。</p>



<p class="wp-block-paragraph">A列に参照名を並べ、B列に次の数式を入れます。</p>



<pre class="wp-block-code"><code>=IF(ISREF(INDIRECT(A2)),&quot;有効&quot;,&quot;無効&quot;)</code></pre>



<p class="wp-block-paragraph">A2 にチェックしたい参照名（例: 売上, 経費, Sheet2!A1 など）を入力します。参照が有効なら「有効」、無効なら「無効」と表示します。</p>



<p class="wp-block-paragraph">テンプレートの配布前やシート構成の変更後に、参照の整合性をまとめて確認できます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>ISREF関数は<a href="https://mashukabu.com/excel-function-howto-use-indirect/">INDIRECT関数</a>と組み合わせるのが最も実用的です。INDIRECT関数が返す動的参照の有効性をISREFで検証するパターンは、多くの実務シーンで使えます。</p></blockquote>



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



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



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>常に TRUE になる</td><td>セル参照（A1 など）を直接指定している</td><td>セル参照は常に有効。動的参照を検証するなら INDIRECT 経由で指定する</td></tr><tr><td>名前の定義で FALSE になる</td><td>ダブルクォーテーションを付けている</td><td><code>=ISREF("売上")</code> ではなく <code>=ISREF(売上)</code> と入力する</td></tr><tr><td>INDIRECT と組み合わせて FALSE になる</td><td>シート名のスペルミスやシートの削除</td><td>INDIRECT に渡すシート名を確認する</td></tr><tr><td>数値や文字列で FALSE になる</td><td>数値・文字列はセル参照ではない</td><td>正常な動作。セル参照以外は FALSE が正しい結果</td></tr><tr><td>#NAME? エラーが出る</td><td>存在しない名前の定義を直接指定した</td><td><code>=ISREF(売上)</code> で「売上」が未定義だと #NAME? になる。INDIRECT 経由にすると FALSE を返せる</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>名前の定義の存在チェックには <code>=ISREF(INDIRECT("売上"))</code> のように INDIRECT 経由で渡すのがおすすめです。名前が未定義でも #NAME? エラーにならず FALSE が返ります。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc15">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><a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR</a></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>ISREF（この記事）</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>ISREF関数は他のIS系関数と性質が異なります。<a href="https://mashukabu.com/excel-function-howto-use-istext/">ISTEXT関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-isnumber/">ISNUMBER関数</a>はセルの<strong>値の種類</strong>を判定しますが、ISREF関数は引数が<strong>セル参照として有効かどうか</strong>を判定します。セルの中身が何であっても、参照自体が有効なら TRUE です。</p></blockquote>



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



<p class="wp-block-paragraph">ISREF関数は、引数が有効なセル参照かどうかを判定するシンプルな関数です。</p>



<ul class="wp-block-list"><li>引数は1つだけ（セル参照・名前の定義・INDIRECT の結果など）</li><li>有効なセル参照なら TRUE、それ以外は FALSE</li><li><a href="https://mashukabu.com/excel-function-howto-use-indirect/">INDIRECT関数</a>と組み合わせるのが実務での定番パターン</li><li>名前の定義の存在チェックやシート参照の検証に便利</li></ul>



<p class="wp-block-paragraph">動的参照のエラー防止に、ぜひ活用してみてください。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-isblank/">ISBLANK関数の使い方｜空白セルを判定する方法</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-istext/">ISTEXT関数の使い方｜文字列かどうかを確認する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-islogical/">ISLOGICAL関数の使い方｜論理値を判定する方法</a></li><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-iserror/">ISERROR関数の使い方｜エラー値を判定する方法</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-indirect/">INDIRECT関数の使い方｜セル参照を文字列で指定する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-offset/">OFFSET関数の使い方｜動的な範囲指定の方法</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-if/">IF関数の使い方｜条件分岐の基本</a></li><li><a href="https://mashukabu.com/excel-error-value-list/">Excelのエラー値一覧と対処法</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-isref/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
