<?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>VLOOKUP &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/vlookup/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 11 Jun 2026 23:50:41 +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>VLOOKUP &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのNA関数の使い方｜意図的に#N/Aエラーを返す4つの活用法</title>
		<link>https://mashukabu.com/excel-function-howto-use-na/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-na/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 12:42:11 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[IFNA]]></category>
		<category><![CDATA[ISNA]]></category>
		<category><![CDATA[NA関数]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[エラー処理]]></category>
		<category><![CDATA[データ検証]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6540</guid>

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



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



<p class="wp-block-paragraph">この記事では、ExcelのNA関数の基本から、グラフのプレースホルダー、VLOOKUPとの連携、データ未入力の可視化まで、4つの実務シーンで使い方を解説します。IFNA・ISNA・IFERRORとの違いも比較表でまとめるので、エラー処理関数の使い分けにも迷わなくなりますよ。</p>




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

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">NA関数を使いこなして、「<strong>エラーを味方にする</strong>」数式設計をぜひ試してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-na/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのVLOOKUP・XLOOKUP・INDEX/MATCH 使い分けガイド｜どの検索関数を選ぶか</title>
		<link>https://mashukabu.com/sheets-vlookup-xlookup-index-match/</link>
					<comments>https://mashukabu.com/sheets-vlookup-xlookup-index-match/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 30 Apr 2026 11:44:10 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[INDEX/MATCH]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[XLOOKUP]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[検索関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6410</guid>

					<description><![CDATA[GoogleスプレッドシートのVLOOKUP・XLOOKUP・INDEX/MATCHを3軸で徹底比較。3ステップ選択フローで迷わず選べる判断基準、書き換え手順、#N/Aエラー対処まで実例付きで解説。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Googleスプレッドシートで「別の表から値を取り出したい」場面、毎日のように出てきますよね。</p>



<p class="wp-block-paragraph">VLOOKUPは定番の検索関数ですが、使い込むほど「左側の列が返せない」「列を挿入したら番号がズレた」「Excelで開いたら#NAME?エラーになった」といった壁にぶつかります。そこでXLOOKUPやINDEX/MATCHが候補に挙がるのですが、「結局3つのうちどれを使えばいいのか」で迷う方も多いのではないでしょうか。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートの3つの検索関数を「検索方向」「複数列返却」「Excel互換性」など7項目で徹底比較します。3つの質問に答えるだけで使うべき関数が決まる選択フロー、VLOOKUPからXLOOKUPへの書き換え手順（4パターン）、#N/Aだけでなく#REF!や#VALUE!も含めたエラー対処、そして実務シーン別のおすすめパターン集まで一気通貫で解説します。</p>



<p class="wp-block-paragraph">読み終わるころには「自分のケースはこれ」と迷いなく選べるようになりますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-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">3つの検索関数の違いを30秒で理解する【結論】</a><ol><li><a href="#toc2" tabindex="0">各関数の役割を一文で言うと</a></li><li><a href="#toc3" tabindex="0">「最新のXLOOKUPだけ使えばいい」が成立しない3つの理由</a></li></ol></li><li><a href="#toc4" tabindex="0">VLOOKUP・XLOOKUP・INDEX/MATCH 機能比較表（7項目）</a><ol><li><a href="#toc5" tabindex="0">検索方向の違い（左方向検索ができるか）</a></li><li><a href="#toc6" tabindex="0">複数列を一度に返せるか（スピル機能）</a></li><li><a href="#toc7" tabindex="0">Excelファイルで開いたときの互換性</a></li><li><a href="#toc8" tabindex="0">列挿入時のズレ耐性</a></li></ol></li><li><a href="#toc9" tabindex="0">3ステップ選択フロー｜どの検索関数を使うか3つの質問で決める</a><ol><li><a href="#toc10" tabindex="0">STEP1：左側の列を検索する必要があるか</a></li><li><a href="#toc11" tabindex="0">STEP2：Excelで開くことがあるか</a></li><li><a href="#toc12" tabindex="0">STEP3：2次元検索が必要か</a></li><li><a href="#toc13" tabindex="0">3ステップを1枚にまとめると</a></li></ol></li><li><a href="#toc14" tabindex="0">VLOOKUPからXLOOKUPへの書き換え手順【4パターン】</a><ol><li><a href="#toc15" tabindex="0">パターン1：基本の書き換え（1列を返す）</a></li><li><a href="#toc16" tabindex="0">パターン2：複数列を一度に返す（スピル活用）</a></li><li><a href="#toc17" tabindex="0">パターン3：エラー処理を組み込む</a></li><li><a href="#toc18" tabindex="0">パターン4：ワイルドカード検索</a></li></ol></li><li><a href="#toc19" tabindex="0">INDEX/MATCHが真価を発揮する3つの場面</a><ol><li><a href="#toc20" tabindex="0">場面1：左方向検索（部署名から社員IDを引く）</a></li><li><a href="#toc21" tabindex="0">場面2：2次元検索（行×列キーで値を特定）</a></li><li><a href="#toc22" tabindex="0">場面3：Excel互換性が必要な複雑な検索</a></li></ol></li><li><a href="#toc23" tabindex="0">検索関数で頻出する#N/A・#REF!・#VALUE!エラーの対処法</a><ol><li><a href="#toc24" tabindex="0">#N/Aエラー（一致する値が見つからない）</a></li><li><a href="#toc25" tabindex="0">#REF!エラー（参照範囲が無効）</a></li><li><a href="#toc26" tabindex="0">#VALUE!エラー（引数の型が不正）</a></li></ol></li><li><a href="#toc27" tabindex="0">ケース別おすすめパターン集（実務シーン6選）</a><ol><li><a href="#toc28" tabindex="0">シーン1：商品マスタから単価を引いてくる（請求書作成など）</a></li><li><a href="#toc29" tabindex="0">シーン2：社員名簿から氏名・部署を一度に取り出す（人事系資料）</a></li><li><a href="#toc30" tabindex="0">シーン3：部署名から代表者の社員IDを逆引きする</a></li><li><a href="#toc31" tabindex="0">シーン4：月×支店のクロス集計から値を取り出す</a></li><li><a href="#toc32" tabindex="0">シーン5：取引先名を「あいまい検索」で引く</a></li><li><a href="#toc33" tabindex="0">シーン6：Excel 2016と共有しつつ左方向検索が必要</a></li></ol></li><li><a href="#toc34" tabindex="0">まとめ｜スプレッドシートでの検索関数ベストプラクティス</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">3つの検索関数の違いを30秒で理解する【結論】</span></h2>



<p class="wp-block-paragraph">まずは結論から押さえましょう。VLOOKUP・XLOOKUP・INDEX/MATCHの3つは、それぞれ得意な場面が違います。</p>



<h3 class="wp-block-heading"><span id="toc2">各関数の役割を一文で言うと</span></h3>



<p class="wp-block-paragraph">3つを乱暴に一言でまとめると、次のようになります。</p>



<ul class="wp-block-list"><li><strong>VLOOKUP</strong>: 表の先頭列で検索して、右側の列の値を返す。シンプルだけど制限が多い「定番」関数</li><li><strong>XLOOKUP</strong>: VLOOKUPの制限を解消した後継。左右どちらにも検索でき、エラー処理も内蔵されている「最新型」</li><li><strong>INDEX/MATCH</strong>: 2つの関数を組み合わせて使う「上級者向け万能ナイフ」。2次元検索や左方向検索に強い</li></ul>



<p class="wp-block-paragraph">VLOOKUPは「範囲の先頭列を検索して、右側の列を返す」関数です。構文がシンプルで、Excelとも互換性が高いのが強みです。ただし、検索キーは必ず先頭列（左端列）に置く必要があり、左方向の検索はできません。</p>



<p class="wp-block-paragraph">XLOOKUPは2022年8月にGoogleスプレッドシートで使えるようになった、比較的新しい関数です。VLOOKUPの制限を解消し、左右どちらの方向にも検索できます。第4引数（missing_value）に値を指定すれば、IFERROR（エラー発生時に代替値を返す関数）なしで#N/A対策ができます。</p>



<p class="wp-block-paragraph">INDEX/MATCHは2つの関数を組み合わせた検索パターンです。INDEX関数（指定した行・列の値を返す関数）とMATCH関数（値の相対位置を返す関数）を組み合わせて使います。検索列と返す列を独立して指定できるため、柔軟性が最も高い方法です。</p>



<h3 class="wp-block-heading"><span id="toc3">「最新のXLOOKUPだけ使えばいい」が成立しない3つの理由</span></h3>



<p class="wp-block-paragraph">「いちばん新しいXLOOKUPを使えば全部解決では？」と思いがちですが、実務ではそう単純ではありません。理由は3つあります。</p>



<ol class="wp-block-list"><li><strong>Excel互換性の壁</strong>: Excel 2016/2019で開くと#NAME?エラーになる</li><li><strong>2次元検索の壁</strong>: 行キー×列キーの検索はINDEX/MATCHのほうがシンプル</li><li><strong>既存資産の壁</strong>: VLOOKUPで組まれた数百本の数式を一気に書き換えるのは現実的でない</li></ol>



<p class="wp-block-paragraph">Excelとのファイル共有が必要な場面では、VLOOKUPかINDEX/MATCHのほうが安全です。XLOOKUPはExcel 2021またはMicrosoft 365以降でしか動かないからです。</p>



<p class="wp-block-paragraph">行と列の両方でキーを指定する2次元検索を1つの数式で完結させたい場合は、INDEX/MATCHが最も扱いやすい選択肢になります。XLOOKUPでも2次元検索はできますが、XLOOKUPを入れ子にする書き方になり、かえって読みにくくなります。</p>



<p class="wp-block-paragraph">また、すでにVLOOKUPで構築された既存テンプレートが社内に多く存在する場合、それを全部XLOOKUPへ置き換える工数とリスクを考えると、新規分だけXLOOKUPを採用する方が現実的なこともあります。</p>



<p class="wp-block-paragraph">つまり「3つを場面で使い分ける」のが最も実務的なんです。次の章で詳しく比較していきましょう。</p>



<h2 class="wp-block-heading"><span id="toc4">VLOOKUP・XLOOKUP・INDEX/MATCH 機能比較表（7項目）</span></h2>



<p class="wp-block-paragraph">3関数の違いを7つの観点で表にまとめました。手元のケースと照らし合わせて、どれが当てはまるか見てみてください。</p>



<figure class="wp-block-table"><table><thead><tr><th>機能</th><th>VLOOKUP</th><th>XLOOKUP</th><th>INDEX/MATCH</th></tr></thead><tbody><tr><td>左側の列を検索できるか</td><td>不可</td><td>可</td><td>可</td></tr><tr><td>複数列を一度に返せるか</td><td>不可</td><td>可（スピル）</td><td>可（要工夫）</td></tr><tr><td>Excel 2016/2019との互換性</td><td>対応</td><td>非対応（#NAME?エラー）</td><td>対応</td></tr><tr><td>#N/Aエラー処理の簡潔さ</td><td>IFERROR/IFNAが必要</td><td>第4引数で直接指定可</td><td>IFERROR/IFNAが必要</td></tr><tr><td>2次元検索（行・列キー指定）</td><td>不可</td><td>可（入れ子で対応）</td><td>可（最も書きやすい）</td></tr><tr><td>列挿入時のズレ耐性</td><td>弱い（列番号が手動）</td><td>強い（列を直接参照）</td><td>強い（列を直接参照）</td></tr><tr><td>数式の複雑さ</td><td>低（単関数）</td><td>低（単関数）</td><td>中〜高（2関数の組み合わせ）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">検索方向の違い（左方向検索ができるか）</span></h3>



<p class="wp-block-paragraph">VLOOKUPで最も多く遭遇する制限が「左方向検索ができない」問題です。</p>



<p class="wp-block-paragraph">たとえば、A列に社員ID、B列に氏名、C列に部署名という名簿があるとします。「部署名から社員IDを調べたい」場合、VLOOKUPでは対応できません。返したい列（A列の社員ID）が、検索したい列（C列の部署名）より左にあるからです。</p>



<p class="wp-block-paragraph">XLOOKUPとINDEX/MATCHはこの制限がなく、どの方向にも検索できます。具体的な書き方は後の章で見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc6">複数列を一度に返せるか（スピル機能）</span></h3>



<p class="wp-block-paragraph">XLOOKUPはresult_range（返す範囲）に複数列を指定すれば、該当行の複数値を一度に返せます。スピル機能（1つの数式で複数セルに値が広がる機能）に対応しているからです。</p>



<pre class="wp-block-code"><code>=XLOOKUP(F2, A2:A100, B2:D100)</code></pre>



<p class="wp-block-paragraph">この数式1本で、商品名・単価・在庫の3列を一度に取り出せます。VLOOKUPは1数式で1列しか返せないため、3列欲しければ3本の数式を書く必要があります。</p>



<p class="wp-block-paragraph">INDEX/MATCHでも複数列を返せますが、MATCHを別セルに切り出して参照する形にするのが一般的です。</p>



<h3 class="wp-block-heading"><span id="toc7">Excelファイルで開いたときの互換性</span></h3>



<p class="wp-block-paragraph">XLOOKUPはExcel 2021またはMicrosoft 365以降でのみ動作します。Excel 2016・2019（永続ライセンス版）は非対応です。</p>



<p class="wp-block-paragraph">スプレッドシートで作成したXLOOKUP数式をExcel形式（.xlsx）でダウンロードし、古いExcelで開くと、#NAME?エラーが表示されます。#NAME?は「関数名を認識できない」ときに出るエラーです。</p>



<p class="wp-block-paragraph">Excelファイルを社外に共有する機会がある場合や、古いバージョンを使う方と協働する場合は、VLOOKUPかINDEX/MATCHを選ぶほうが安心です。</p>



<h3 class="wp-block-heading"><span id="toc8">列挿入時のズレ耐性</span></h3>



<p class="wp-block-paragraph">VLOOKUPの第3引数「2」「3」という列番号指定は、列を追加・削除したときに崩れるリスクがあります。</p>



<p class="wp-block-paragraph">たとえば次の数式を考えてみてください。</p>



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



<p class="wp-block-paragraph">A:Cの範囲でF2を検索し、2列目（B列）を返す数式です。ここでA列とB列の間に「商品略称」列を挿入すると、もともとのB列はC列にズレます。しかしVLOOKUPの「2」はそのままなので、新しい「商品略称」列を返してしまいます。</p>



<p class="wp-block-paragraph">XLOOKUPとINDEX/MATCHは列を直接参照する（<code>B:B</code>のように書く）ため、列の挿入があっても参照が自動更新され、ズレません。この差はメンテナンス性に大きく影響します。</p>



<h2 class="wp-block-heading"><span id="toc9">3ステップ選択フロー｜どの検索関数を使うか3つの質問で決める</span></h2>



<p class="wp-block-paragraph">「比較表は見たけど、結局自分はどれを使えばいいの？」という方のために、3つの質問に答えるだけで決まる選択フローを用意しました。</p>



<h3 class="wp-block-heading"><span id="toc10">STEP1：左側の列を検索する必要があるか</span></h3>



<p class="wp-block-paragraph">「検索キーより左にある列の値を返したい」場合は、VLOOKUPは使えません。XLOOKUPかINDEX/MATCHに進んでください。</p>



<p class="wp-block-paragraph">検索キーが左端列にあり、返す値は右側にある場合は、VLOOKUPも選択肢になります。STEP2へ進みましょう。</p>



<h3 class="wp-block-heading"><span id="toc11">STEP2：Excelで開くことがあるか</span></h3>



<p class="wp-block-paragraph">スプレッドシートだけで完結するなら、XLOOKUPがおすすめです。数式が短く、エラー処理も簡単です。</p>



<p class="wp-block-paragraph">Excel 2016・2019などの古いバージョンでファイルを開く可能性があるなら、VLOOKUPかINDEX/MATCHを選んでください。Excel 2021 / Microsoft 365のみなら、XLOOKUPでも問題ありません。</p>



<h3 class="wp-block-heading"><span id="toc12">STEP3：2次元検索が必要か</span></h3>



<p class="wp-block-paragraph">行と列の両方でキーを指定したい場合（例：「4月×東京支店の売上」を取り出す）は、INDEX/MATCHが最適です。</p>



<p class="wp-block-paragraph">STEP1・2でVLOOKUPやXLOOKUPを選んだ場合でも、2次元検索が必要な場面ではINDEX/MATCHに切り替えましょう。</p>



<h3 class="wp-block-heading"><span id="toc13">3ステップを1枚にまとめると</span></h3>



<p class="wp-block-paragraph">3ステップをまとめると次のようになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>条件の組み合わせ</th><th>おすすめ関数</th></tr></thead><tbody><tr><td>左方向検索が不要 &#038; Excel共有が不要</td><td><strong>XLOOKUP</strong></td></tr><tr><td>左方向検索が不要 &#038; Excel共有が必要（古いExcel含む）</td><td><strong>VLOOKUP</strong></td></tr><tr><td>左方向検索が必要</td><td><strong>INDEX/MATCH</strong>（共有不要ならXLOOKUPも可）</td></tr><tr><td>2次元検索が必要（行×列キー）</td><td><strong>INDEX/MATCH</strong></td></tr><tr><td>Excel 2021 / Microsoft 365のみで共有</td><td><strong>XLOOKUP</strong>（Excelでも動作可）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">迷ったら「Excelとの共有があるかどうか」を最初に確認するのがコツです。社内資料や社外提出が絡む場面では互換性が最優先になりますよ。</p>



<h2 class="wp-block-heading"><span id="toc14">VLOOKUPからXLOOKUPへの書き換え手順【4パターン】</span></h2>



<p class="wp-block-paragraph">XLOOKUPは、スプレッドシート専用でExcel共有が不要なら、VLOOKUPよりシンプルに書けます。既存のVLOOKUP数式をXLOOKUPへ書き換える4つのパターンを見ていきましょう。</p>



<p class="wp-block-paragraph">次のサンプルデータを共通で使います。F2セルに商品コードを入力する想定です。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列（商品コード）</th><th>B列（商品名）</th><th>C列（単価）</th><th>D列（在庫数）</th></tr></thead><tbody><tr><td>A001</td><td>りんご</td><td>120</td><td>50</td></tr><tr><td>A002</td><td>バナナ</td><td>80</td><td>80</td></tr><tr><td>A003</td><td>みかん</td><td>150</td><td>30</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc15">パターン1：基本の書き換え（1列を返す）</span></h3>



<p class="wp-block-paragraph">最もシンプルな書き換えパターンです。</p>



<p class="wp-block-paragraph"><strong>VLOOKUP（ビフォー）</strong></p>



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



<p class="wp-block-paragraph">A:Cの先頭列（A列）でF2を検索し、2列目（B列）の値を返します。</p>



<p class="wp-block-paragraph"><strong>XLOOKUP（アフター）</strong></p>



<pre class="wp-block-code"><code>=XLOOKUP(F2, A:A, B:B)</code></pre>



<p class="wp-block-paragraph">A:AでF2を検索し、B:Bの値を返します。「何列目」ではなく、列を直接指定しているのがポイントです。F2が「A002」のとき、どちらの数式も「バナナ」を返します。</p>



<p class="wp-block-paragraph">VLOOKUPの「2」が、XLOOKUPでは「B:B」という列の直接参照に置き換わっていますね。</p>



<h3 class="wp-block-heading"><span id="toc16">パターン2：複数列を一度に返す（スピル活用）</span></h3>



<p class="wp-block-paragraph">商品名・単価・在庫を1数式で取り出したい場合です。</p>



<p class="wp-block-paragraph"><strong>VLOOKUP（3本必要）</strong></p>



<pre class="wp-block-code"><code>=VLOOKUP(F2, A:D, 2, FALSE)  // 商品名
=VLOOKUP(F2, A:D, 3, FALSE)  // 単価
=VLOOKUP(F2, A:D, 4, FALSE)  // 在庫</code></pre>



<p class="wp-block-paragraph"><strong>XLOOKUP（1本でOK）</strong></p>



<pre class="wp-block-code"><code>=XLOOKUP(F2, A:A, B:D)</code></pre>



<p class="wp-block-paragraph">B:Dという複数列の範囲を指定するだけで、スピル機能により隣の2セルにも値が自動で広がります。数式の本数が3本→1本になり、メンテナンスもラクになります。</p>



<h3 class="wp-block-heading"><span id="toc17">パターン3：エラー処理を組み込む</span></h3>



<p class="wp-block-paragraph">「見つからなかったときに『該当なし』と表示したい」場合の書き換えです。</p>



<p class="wp-block-paragraph"><strong>VLOOKUP + IFERROR</strong></p>



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



<p class="wp-block-paragraph"><strong>XLOOKUP（第4引数）</strong></p>



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



<p class="wp-block-paragraph">XLOOKUPは第4引数（missing_value）にエラー時の値を直接書けるため、IFERRORで外側を囲む必要がありません。数式が1段短くなりますよ。</p>



<h3 class="wp-block-heading"><span id="toc18">パターン4：ワイルドカード検索</span></h3>



<p class="wp-block-paragraph">「商品コードの一部だけ覚えている」場合などに使うワイルドカード（<code>*</code>や<code>?</code>）検索の書き換えです。</p>



<p class="wp-block-paragraph"><strong>VLOOKUP（完全一致モードでワイルドカード可）</strong></p>



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



<p class="wp-block-paragraph">VLOOKUPでは第4引数を <code>FALSE</code>（完全一致）にした状態であれば、<code>*</code>（任意の文字列）や <code>?</code>（任意の1文字）が使えます。</p>



<p class="wp-block-paragraph"><strong>XLOOKUP（一致モードに2を指定）</strong></p>



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



<p class="wp-block-paragraph">XLOOKUPでは第5引数（一致モード）に「2」を指定すると、ワイルドカードが有効になります。指定しないと完全一致モード（既定値0）で動くため、<code>*</code>や<code>?</code>が文字列として扱われてしまいます。</p>



<p class="wp-block-paragraph">書き換え時にこの引数を忘れがちなので注意してくださいね。</p>



<h2 class="wp-block-heading"><span id="toc19">INDEX/MATCHが真価を発揮する3つの場面</span></h2>



<p class="wp-block-paragraph">「INDEX/MATCHは古い・複雑そう」と敬遠されがちですが、3つの場面では今でも最強の選択肢です。</p>



<h3 class="wp-block-heading"><span id="toc20">場面1：左方向検索（部署名から社員IDを引く）</span></h3>



<p class="wp-block-paragraph">A列に社員ID、B列に氏名、C列に部署という名簿で、「営業部の社員IDを取り出したい」場合を考えます。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列（社員ID）</th><th>B列（氏名）</th><th>C列（部署）</th></tr></thead><tbody><tr><td>E001</td><td>山田太郎</td><td>営業部</td></tr><tr><td>E002</td><td>鈴木花子</td><td>経理部</td></tr><tr><td>E003</td><td>佐藤次郎</td><td>総務部</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>INDEX/MATCH</strong></p>



<pre class="wp-block-code"><code>=INDEX(A:A, MATCH(&quot;営業部&quot;, C:C, 0))</code></pre>



<p class="wp-block-paragraph">MATCHで「営業部」がC列の何行目にあるかを調べ、その行のA列の値をINDEXで取り出します。MATCHの第3引数「0」は完全一致を意味します。</p>



<p class="wp-block-paragraph">XLOOKUPでも同じことができますが、INDEX/MATCHは「検索列と返す列を完全に独立して指定する」発想なので、表構造の柔軟性ではINDEX/MATCHのほうが一枚上手です。</p>



<h3 class="wp-block-heading"><span id="toc21">場面2：2次元検索（行×列キーで値を特定）</span></h3>



<p class="wp-block-paragraph">月別×支店別の売上クロス集計表から、「5月の大阪支店の売上」を取り出す場合です。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>4月</th><th>5月</th><th>6月</th></tr></thead><tbody><tr><td>東京</td><td>500</td><td>600</td><td>550</td></tr><tr><td>大阪</td><td>400</td><td>450</td><td>480</td></tr><tr><td>名古屋</td><td>300</td><td>350</td><td>320</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">シート上のA1:D4にこの表があるとします。F2に「大阪」、G2に「5月」が入力されている前提です。</p>



<p class="wp-block-paragraph"><strong>INDEX/MATCH/MATCH</strong></p>



<pre class="wp-block-code"><code>=INDEX(B2:D4, MATCH(F2, A2:A4, 0), MATCH(G2, B1:D1, 0))</code></pre>



<ul class="wp-block-list"><li>1つ目のMATCHで「大阪」が行のどこにあるか（2行目）を調べる</li><li>2つ目のMATCHで「5月」が列のどこにあるか（2列目）を調べる</li><li>INDEXで「2行目・2列目」の値である450を返す</li></ul>



<p class="wp-block-paragraph"><strong>XLOOKUPで書くと（入れ子になる）</strong></p>



<pre class="wp-block-code"><code>=XLOOKUP(F2, A2:A4, XLOOKUP(G2, B1:D1, B2:D4))</code></pre>



<p class="wp-block-paragraph">XLOOKUPでも書けますが、内側のXLOOKUPが配列を返し、それを外側のXLOOKUPが処理する構造で、慣れていないと読みにくいです。INDEX/MATCH/MATCHのほうが「行を決める→列を決める→値を取る」という発想がそのまま数式に表れていて、可読性が高いです。</p>



<h3 class="wp-block-heading"><span id="toc22">場面3：Excel互換性が必要な複雑な検索</span></h3>



<p class="wp-block-paragraph">「Excel 2016を使う取引先と共有するが、左方向検索も必要」という板挟みの状況では、INDEX/MATCH一択になります。XLOOKUPはExcel 2016では#NAME?エラー、VLOOKUPは左方向検索ができないため、両方の制約を満たせるのはINDEX/MATCHだけです。</p>



<p class="wp-block-paragraph">特に経理・人事系のテンプレートはExcelで作られていることが多いので、その業務領域ではINDEX/MATCHを覚えておく価値が高いですよ。</p>



<h2 class="wp-block-heading"><span id="toc23">検索関数で頻出する#N/A・#REF!・#VALUE!エラーの対処法</span></h2>



<p class="wp-block-paragraph">検索関数を使っていると遭遇する3大エラーと、それぞれの対処法をまとめます。</p>



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



<p class="wp-block-paragraph">最も多く遭遇するのが#N/Aです。検索キーが範囲内に存在しない場合に表示されます。</p>



<p class="wp-block-paragraph"><strong>対処法1: IFERROR で全エラーを処理</strong></p>



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



<p class="wp-block-paragraph">ただしIFERRORは#N/A以外のエラー（#REF!や#VALUE!）も同じ「該当なし」に置き換えてしまうため、数式のバグを見逃すリスクがあります。</p>



<p class="wp-block-paragraph"><strong>対処法2: IFNA で #N/A のみ処理（推奨）</strong></p>



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



<p class="wp-block-paragraph">IFNAは#N/Aだけを処理し、他のエラーはそのまま表示します。バグに気づきやすくなるため、こちらの方が安全です。</p>



<p class="wp-block-paragraph"><strong>対処法3: XLOOKUP の第4引数（最もシンプル）</strong></p>



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



<p class="wp-block-paragraph">XLOOKUPなら第4引数を指定するだけで完結します。</p>



<p class="wp-block-paragraph">3つの方法を比較すると次のようになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>方式</th><th>数式の長さ</th><th>#N/A以外のエラー</th><th>デバッグ</th></tr></thead><tbody><tr><td>IFERROR</td><td>長い</td><td>隠れる（危険）</td><td>しにくい</td></tr><tr><td>IFNA</td><td>やや長い</td><td>表示される</td><td>しやすい</td></tr><tr><td>XLOOKUP第4引数</td><td>短い</td><td>表示される</td><td>しやすい</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">XLOOKUPが使える状況ならXLOOKUP第4引数方式、VLOOKUP/INDEX/MATCHならIFNAを使うのが鉄板です。IFERROR/IFNAの詳しい使い分けは<a href="https://mashukabu.com/sheets-if-ifs-iferror-ifna/">スプレッドシートのIF・IFS・IFERROR・IFNAの使い分けガイド</a>も参考にしてみてください。</p>



<h3 class="wp-block-heading"><span id="toc25">#REF!エラー（参照範囲が無効）</span></h3>



<p class="wp-block-paragraph">#REF!は「参照しているセルや列が削除された」「数式の参照範囲が無効になった」場合に発生します。</p>



<p class="wp-block-paragraph">検索関数で発生する典型ケース:</p>



<ul class="wp-block-list"><li>VLOOKUPの範囲内の列を削除した</li><li>別シート参照の元シートを削除した</li><li>スピル範囲が他のセルとぶつかった（XLOOKUPの複数列返却時）</li></ul>



<p class="wp-block-paragraph">対処は「数式の参照を見直す」のが基本です。エラーを覆い隠さず、原因を特定してから修正しましょう。</p>



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



<p class="wp-block-paragraph">#VALUE!は「数値が必要な引数に文字列を入れた」など、引数の型が合わない場合に発生します。</p>



<p class="wp-block-paragraph">検索関数での典型ケース:</p>



<ul class="wp-block-list"><li>VLOOKUPの第3引数（列番号）に数値ではなく文字列を入れた</li><li>検索キーのセルに半角全角の混在がある（見た目が同じでも別物と判定される）</li><li>数値が文字列として保存されている（セルの左上に緑の三角マークが出る）</li></ul>



<p class="wp-block-paragraph">検索キー側と検索範囲側で、数値と文字列の型が一致しているかをまず確認しましょう。</p>



<h2 class="wp-block-heading"><span id="toc27">ケース別おすすめパターン集（実務シーン6選）</span></h2>



<p class="wp-block-paragraph">実務でよくある6つのシーンで、どの関数を選ぶべきかを整理しました。</p>



<h3 class="wp-block-heading"><span id="toc28">シーン1：商品マスタから単価を引いてくる（請求書作成など）</span></h3>



<p class="wp-block-paragraph">検索キー（商品コード）が左端にあり、右側の単価を返すだけのシンプルなケース。</p>



<ul class="wp-block-list"><li><strong>Excel共有なし</strong>: XLOOKUP（短くて読みやすい）</li><li><strong>Excel共有あり</strong>: VLOOKUP（互換性最優先）</li></ul>



<h3 class="wp-block-heading"><span id="toc29">シーン2：社員名簿から氏名・部署を一度に取り出す（人事系資料）</span></h3>



<p class="wp-block-paragraph">社員IDから氏名・部署を引く定番パターン。複数列返却が必要な場面です。</p>



<ul class="wp-block-list"><li><strong>Excel共有なし</strong>: XLOOKUP（スピル機能で1数式にまとめられる）</li><li><strong>Excel共有あり</strong>: VLOOKUP（列数だけ数式を書く）</li></ul>



<h3 class="wp-block-heading"><span id="toc30">シーン3：部署名から代表者の社員IDを逆引きする</span></h3>



<p class="wp-block-paragraph">返したい列（社員ID）が、検索したい列（部署）より左にある左方向検索ケース。</p>



<ul class="wp-block-list"><li><strong>Excel共有なし</strong>: XLOOKUP または INDEX/MATCH</li><li><strong>Excel共有あり（古いExcel含む）</strong>: INDEX/MATCH一択</li></ul>



<h3 class="wp-block-heading"><span id="toc31">シーン4：月×支店のクロス集計から値を取り出す</span></h3>



<p class="wp-block-paragraph">行と列の両方でキー指定が必要な2次元検索ケース。</p>



<ul class="wp-block-list"><li><strong>どの場面でも</strong>: INDEX/MATCH/MATCH（最も読みやすい）</li></ul>



<h3 class="wp-block-heading"><span id="toc32">シーン5：取引先名を「あいまい検索」で引く</span></h3>



<p class="wp-block-paragraph">「株式会社」をつけ忘れた取引先名でも引きたい場合のワイルドカード検索ケース。</p>



<ul class="wp-block-list"><li><strong>Excel共有なし</strong>: XLOOKUP（第5引数に2を指定）</li><li><strong>Excel共有あり</strong>: VLOOKUP（完全一致モードで<code>*</code>や<code>?</code>が使える）</li></ul>



<h3 class="wp-block-heading"><span id="toc33">シーン6：Excel 2016と共有しつつ左方向検索が必要</span></h3>



<p class="wp-block-paragraph">互換性と機能制約のダブルパンチ。INDEX/MATCH一択です。</p>



<ul class="wp-block-list"><li><strong>どの場面でも</strong>: INDEX/MATCH（XLOOKUPは#NAME?、VLOOKUPは方向制限）</li></ul>



<p class="wp-block-paragraph">迷ったらこの6シーンを思い出してみてください。実務の8割はこれでカバーできるはずですよ。</p>



<h2 class="wp-block-heading"><span id="toc34">まとめ｜スプレッドシートでの検索関数ベストプラクティス</span></h2>



<p class="wp-block-paragraph">Googleスプレッドシートの3つの検索関数を改めてまとめます。</p>



<ul class="wp-block-list"><li><strong>XLOOKUP</strong>: Excelとのファイル共有が不要なら第一候補。シンプルな構文と第4引数によるエラー処理、複数列のスピル返却が強みです</li><li><strong>VLOOKUP</strong>: Excelとの互換性を最優先する場面や、既存数式を大量に抱えているときに有効です</li><li><strong>INDEX/MATCH</strong>: 左方向検索・2次元検索・Excel互換性が同時に必要な場面での最強の組み合わせです</li></ul>



<p class="wp-block-paragraph">まずは「Excelファイル共有が必要かどうか」を判定基準の最上位に置きましょう。共有が不要ならXLOOKUPで統一、共有が必要ならVLOOKUPまたはINDEX/MATCHに切り替える、という指針で迷いが激減します。</p>



<p class="wp-block-paragraph">そのうえで、左方向検索や2次元検索といった「特殊な検索パターン」が出てきたら、INDEX/MATCHを取り出してくる、というのが実務の鉄板フローです。</p>



<p class="wp-block-paragraph">各関数の詳細な使い方は以下の記事で解説しています。本記事と合わせてご覧ください。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/sheets-vlookup-guide/">スプレッドシートのVLOOKUP完全ガイド｜基本から応用まで使い方を解説</a></li><li><a href="https://mashukabu.com/spreadsheet-xlookup/">スプレッドシートのXLOOKUP関数の使い方｜VLOOKUPとの違いも解説</a></li><li><a href="https://mashukabu.com/spreadsheet-index-function/">スプレッドシートのINDEX関数の使い方｜行列指定で値を取得する方法</a></li><li><a href="https://mashukabu.com/spreadsheet-match-function/">スプレッドシートのMATCH関数の使い方｜INDEX+MATCHで左側も検索できる</a></li></ul>



<p class="wp-block-paragraph">ExcelでもVLOOKUP・XLOOKUP・INDEX/MATCHを比較したい方は、<a href="https://mashukabu.com/excel-vlookup-xlookup-index-match-comparison/">Excel版の使い分けガイド</a>もあわせてご覧ください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/sheets-vlookup-xlookup-index-match/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのTRUE関数の使い方｜論理値TRUEと=TRUE()の違いを解説</title>
		<link>https://mashukabu.com/spreadsheet-true-function/</link>
					<comments>https://mashukabu.com/spreadsheet-true-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 20 Apr 2026 00:42:29 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[IF関数]]></category>
		<category><![CDATA[TRUE関数]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[論理値]]></category>
		<category><![CDATA[論理関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6090</guid>

					<description><![CDATA[GoogleスプレッドシートのTRUE関数の使い方を基本から解説。論理値TRUEを返す仕組み、=TRUE()とTRUEの違い、IF関数やVLOOKUPでの活用例、TRUE/FALSEを数値1/0として扱うテクニックまで実務目線で紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「スプレッドシートで <code>TRUE関数</code> ってあるけど、何に使うの？」「<code>=TRUE()</code> と <code>TRUE</code> は何が違うの？」。関数を勉強していると、こんな素朴な疑問にぶつかりますよね。</p>



<p class="wp-block-paragraph">スプレッドシートのTRUE関数は、使う場面こそ限られています。ですが、論理値の仕組みを理解するうえで知っておきたい基礎関数なんですよ。VLOOKUPの第4引数やチェックボックスの集計でも顔を出します。</p>



<p class="wp-block-paragraph">この記事ではTRUE関数の基本から、<code>=TRUE()</code> と <code>TRUE</code> と <code>1</code> の違いまでを順に解説します。論理値を数値として扱う応用テクニックも紹介していきますね。</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">スプレッドシートのTRUE関数とは？</a></li><li><a href="#toc2" tabindex="0">スプレッドシートのTRUE関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li><li><a href="#toc5" tabindex="0">戻り値</a></li></ol></li><li><a href="#toc6" tabindex="0">TRUE関数の基本的な使い方</a><ol><li><a href="#toc7" tabindex="0">そのまま論理値TRUEを返す</a></li><li><a href="#toc8" tabindex="0">IF関数の結果としてTRUEを返す</a></li><li><a href="#toc9" tabindex="0">AND関数やOR関数と組み合わせる</a></li></ol></li><li><a href="#toc10" tabindex="0">=TRUE() と TRUE と 1 の違い・使い分け</a><ol><li><a href="#toc11" tabindex="0">3パターン比較表</a></li><li><a href="#toc12" tabindex="0">使い分けの判断基準</a></li></ol></li><li><a href="#toc13" tabindex="0">TRUE関数と論理値の応用テクニック</a><ol><li><a href="#toc14" tabindex="0">TRUE = 1、FALSE = 0 の性質を使う</a></li><li><a href="#toc15" tabindex="0">条件を満たす行数を数える</a></li><li><a href="#toc16" tabindex="0">VLOOKUPの第4引数としてのTRUE</a></li><li><a href="#toc17" tabindex="0">チェックボックスの集計に使う</a></li></ol></li><li><a href="#toc18" tabindex="0">よくある疑問とエラー対処</a><ol><li><a href="#toc19" tabindex="0">疑問・エラー一覧</a></li><li><a href="#toc20" tabindex="0">文字列と論理値を混同しない</a></li><li><a href="#toc21" tabindex="0">アポストロフィの罠</a></li></ol></li><li><a href="#toc22" tabindex="0">TRUE関数と関連する論理関数</a></li><li><a href="#toc23" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">スプレッドシートのTRUE関数（読み方: トゥルー関数）は、<strong>論理値TRUEを返すだけのシンプルな関数</strong>です。論理値とは「TRUE（真）」か「FALSE（偽）」の2値だけを持つ特殊な値で、条件が成立しているかどうかを表します。</p>



<p class="wp-block-paragraph">TRUE関数でできることは、次のとおりです。</p>



<ul class="wp-block-list"><li>論理値TRUEを明示的に数式の中に組み込む</li><li>他の表計算ソフトとの互換性を保つ</li><li>IF関数やVLOOKUPの引数として論理値を指定する</li></ul>



<p class="wp-block-paragraph">実は、スプレッドシートでは <code>=TRUE()</code> と書かなくても大丈夫です。セルに直接 <code>TRUE</code> と入力すれば、論理値TRUEとして認識されます。TRUE関数は「関数として書く書き方も用意されている」というポジションなんですね。</p>



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



<h2 class="wp-block-heading"><span id="toc2">スプレッドシートのTRUE関数の書き方（構文と引数）</span></h2>



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



<pre class="wp-block-code"><code>=TRUE()</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>TRUE関数は引数を取りません</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数を渡すとエラーになります。<code>=TRUE(1)</code> のような書き方はできません。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>大文字・小文字は区別されません。<code>=true()</code> でも <code>=True()</code> でも同じ結果になりますよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc5">戻り値</span></h3>



<p class="wp-block-paragraph">TRUE関数の戻り値は、常に論理値TRUEです。セルに表示されるときは「TRUE」と表示されます。</p>



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



<p class="wp-block-paragraph">ここからは実際の数式でTRUE関数の使い方を見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc7">そのまま論理値TRUEを返す</span></h3>



<p class="wp-block-paragraph">一番シンプルな使い方です。セルに <code>=TRUE()</code> と入力してみてください。</p>



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



<p class="wp-block-paragraph">結果はセルに「TRUE」と表示されます。右寄せで表示されていれば論理値、左寄せで表示されていれば文字列です。見分けるポイントですよ。</p>



<h3 class="wp-block-heading"><span id="toc8">IF関数の結果としてTRUEを返す</span></h3>



<p class="wp-block-paragraph">IF関数の結果として論理値TRUEを返したい場面があります。</p>



<pre class="wp-block-code"><code>=IF(A2&gt;=80, TRUE(), FALSE())</code></pre>



<p class="wp-block-paragraph">A2が80以上ならTRUE、未満ならFALSEを返します。ただし、これは <code>=IF(A2>=80, TRUE, FALSE)</code> や <code>=A2>=80</code> と同じ結果です。実務では後者のほうがシンプルですよ。</p>



<h3 class="wp-block-heading"><span id="toc9">AND関数やOR関数と組み合わせる</span></h3>



<p class="wp-block-paragraph">AND/OR関数もTRUE/FALSEを返す関数です。TRUE関数を明示的に比較対象にできます。</p>



<pre class="wp-block-code"><code>=IF(AND(A2&gt;=80, B2&gt;=80)=TRUE(), &quot;両方合格&quot;, &quot;未達&quot;)</code></pre>



<p class="wp-block-paragraph">ただし、これも <code>=IF(AND(A2>=80, B2>=80), "両方合格", "未達")</code> と書けば十分です。<a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>の第1引数は論理値そのものを評価するので、<code>=TRUE()</code> との比較は省略できます。</p>



<h2 class="wp-block-heading"><span id="toc10">=TRUE() と TRUE と 1 の違い・使い分け</span></h2>



<p class="wp-block-paragraph">TRUE関数を学ぶうえで一番モヤッとするのが、この3つの違いです。表で整理してみましょう。</p>



<h3 class="wp-block-heading"><span id="toc11">3パターン比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>書き方</th><th>種類</th><th>数式内での扱い</th><th>セル表示</th></tr></thead><tbody><tr><td><code>=TRUE()</code></td><td>関数式</td><td>論理値TRUE</td><td>TRUE（右寄せ）</td></tr><tr><td><code>TRUE</code></td><td>論理値リテラル</td><td>論理値TRUE</td><td>TRUE（右寄せ）</td></tr><tr><td><code>1</code></td><td>数値</td><td>数値1</td><td>1（右寄せ）</td></tr><tr><td><code>="TRUE"</code></td><td>文字列</td><td>文字列</td><td>TRUE（左寄せ）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数式の中では <code>TRUE</code> だけで十分動きます。<code>=TRUE()</code> の関数形式は冗長ですが、間違いではありません。</p>



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



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



<ul class="wp-block-list"><li><strong>数式内で論理値を指定したい</strong> → <code>TRUE</code> でOK</li><li><strong>他ソフトからのコピペで <code>=TRUE()</code> がある</strong> → そのまま残してもOK</li><li><strong>数値の1として扱いたい</strong> → <code>1</code> を直接書くか、<code>TRUE*1</code> で変換</li></ul>



<p class="wp-block-paragraph">実務では <code>=TRUE()</code> をわざわざ書く場面はほとんどありません。Excel由来の古い数式で見かけたら「ああ、TRUE関数ね」と理解できれば十分ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>文字列の <code>"TRUE"</code>（ダブルクォーテーション付き）は論理値ではなく文字列扱いです。<code>=IF(A1=TRUE, "OK", "NG")</code> の比較では別物になるので注意しましょう。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc13">TRUE関数と論理値の応用テクニック</span></h2>



<p class="wp-block-paragraph">TRUE関数の真価は、論理値TRUEが数値の1として扱える性質にあります。</p>



<h3 class="wp-block-heading"><span id="toc14">TRUE = 1、FALSE = 0 の性質を使う</span></h3>



<p class="wp-block-paragraph">論理値を数値演算に混ぜると、TRUEは1、FALSEは0として扱われます。</p>



<pre class="wp-block-code"><code>=TRUE()+TRUE()   → 2
=TRUE()*5        → 5
=FALSE()*10      → 0</code></pre>



<p class="wp-block-paragraph">この性質を使うと、条件を満たす行数を数える数式が書けます。</p>



<h3 class="wp-block-heading"><span id="toc15">条件を満たす行数を数える</span></h3>



<p class="wp-block-paragraph">A列の数値が50より大きい行数を数えたい場合の例です。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((A1:A10&gt;50)*1)</code></pre>



<p class="wp-block-paragraph"><code>A1:A10>50</code> は各セルごとにTRUE/FALSEを返します。<code>*1</code> で数値化されるため、TRUEが1、FALSEが0になり、合計すると条件を満たす行数が得られます。</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-countif-function/">COUNTIF関数</a>でもできます。複数条件を一気に処理したいときはSUMPRODUCTのほうが柔軟ですよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc16">VLOOKUPの第4引数としてのTRUE</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>の第4引数に <code>TRUE</code> を指定すると、近似一致検索になります。</p>



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



<ul class="wp-block-list"><li>TRUE: 近似一致（範囲別の判定に使う）</li><li>FALSE: 完全一致（ID検索など。実務の定番）</li></ul>



<p class="wp-block-paragraph">「料金表で金額範囲ごとにランクを判定する」ような場面で TRUE が活躍します。ただし検索範囲の1列目が昇順ソートされている必要があります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>この第4引数の <code>TRUE</code> は「TRUE関数」ではなく「論理値TRUEリテラル」です。混同されやすいですが、別物と理解しておきましょう。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc17">チェックボックスの集計に使う</span></h3>



<p class="wp-block-paragraph">スプレッドシートのチェックボックス機能（挿入→チェックボックス）の値は、内部的にTRUE/FALSEで管理されています。チェック済みの数を数えたいときに便利です。</p>



<pre class="wp-block-code"><code>=COUNTIF(A1:A10, TRUE)</code></pre>



<p class="wp-block-paragraph">タスク管理シートで「完了済みタスク数」を把握したいときに活躍します。</p>



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



<p class="wp-block-paragraph">TRUE関数は単純な関数ですが、いくつか混乱しやすいポイントがあります。</p>



<h3 class="wp-block-heading"><span id="toc19">疑問・エラー一覧</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>疑問・症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>=TRUE()</code> と <code>TRUE</code> どちらを使えばいい？</td><td>どちらも同じ結果</td><td>数式内では <code>TRUE</code> で十分</td></tr><tr><td>セルに TRUE と入力したら自動で論理値になった</td><td>スプレッドシートの仕様</td><td>文字列にしたい場合は <code>'TRUE</code>（アポストロフィ付き）</td></tr><tr><td>#N/A エラーが出る</td><td>TRUE関数に引数を渡している</td><td><code>=TRUE(1)</code> → <code>=TRUE()</code> に修正</td></tr><tr><td><code>IF(A1="TRUE", ...)</code> が動かない</td><td>文字列と論理値の比較</td><td><code>IF(A1=TRUE, ...)</code> に修正</td></tr><tr><td>計算結果で1や0が混じる</td><td>TRUEを数値演算に使った結果</td><td>論理値として残したいときは <code>*1</code> を外す</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc20">文字列と論理値を混同しない</span></h3>



<p class="wp-block-paragraph">セルに <code>TRUE</code> と表示されていても、中身が論理値か文字列かで挙動が変わります。</p>



<ul class="wp-block-list"><li>右寄せ表示 → 論理値TRUE</li><li>左寄せ表示 → 文字列&#8221;TRUE&#8221;</li></ul>



<p class="wp-block-paragraph">文字列の場合は変換が必要です。<code>=IF(A1="TRUE", TRUE, FALSE)</code> のように書くと論理値に変換できます。</p>



<h3 class="wp-block-heading"><span id="toc21">アポストロフィの罠</span></h3>



<p class="wp-block-paragraph">セルに <code>'TRUE</code> と入力すると、アポストロフィが文字列化を指示する記号として働きます。その結果、論理値ではなく文字列として保存されてしまうんです。気づかずに論理演算するとうまくいかないので注意しましょう。</p>



<h2 class="wp-block-heading"><span id="toc22">TRUE関数と関連する論理関数</span></h2>



<p class="wp-block-paragraph">スプレッドシートの論理関数には、TRUE以外にもよく使う仲間がいます。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>役割</th></tr></thead><tbody><tr><td>TRUE</td><td>論理値TRUEを返す</td></tr><tr><td>FALSE</td><td>論理値FALSEを返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-and-function/">AND</a></td><td>全条件TRUEならTRUE</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-or-function/">OR</a></td><td>1条件以上TRUEならTRUE</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-not-function/">NOT</a></td><td>TRUE⇔FALSEを反転</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-if-function/">IF</a></td><td>条件分岐</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">実務で使用頻度が高いのはIF・AND・ORです。TRUE/FALSE単体は「論理値の仕組みを理解する基礎」として押さえておけば十分ですよ。</p>



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



<p class="wp-block-paragraph">スプレッドシートのTRUE関数は、論理値TRUEを返すだけのシンプルな関数です。</p>



<ul class="wp-block-list"><li>引数なしで <code>=TRUE()</code> と書くと論理値TRUEを返す</li><li>数式内では <code>TRUE</code>（関数なし）と書けば同じ結果</li><li>TRUEは数値の1、FALSEは0として扱える</li><li>VLOOKUPの第4引数のTRUEは近似一致検索を意味する</li><li>チェックボックスの値もTRUE/FALSE</li></ul>



<p class="wp-block-paragraph">TRUE関数そのものを書く機会は少ないかもしれません。ですが、論理値の仕組みを理解しておくと、IF関数やVLOOKUP、チェックボックス集計など幅広い場面で役立ちますよ。</p>



<p class="wp-block-paragraph">TRUE関数とセットで覚えておきたいのが<a href="https://mashukabu.com/spreadsheet-not-function/">NOT関数</a>です。TRUE/FALSEを反転させる関数なので、条件の否定を書くときに便利ですよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-true-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのFALSE関数の使い方｜論理値FALSEと=FALSE()の違いを解説</title>
		<link>https://mashukabu.com/spreadsheet-false-function/</link>
					<comments>https://mashukabu.com/spreadsheet-false-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 20 Apr 2026 00:42:26 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[FALSE関数]]></category>
		<category><![CDATA[IF関数]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[論理値]]></category>
		<category><![CDATA[論理関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6088</guid>

					<description><![CDATA[GoogleスプレッドシートのFALSE関数の使い方を基本から解説。論理値FALSEを返す仕組み、=FALSE()とFALSEの違い、IF関数やVLOOKUPの完全一致指定での活用、IFERRORやチェックボックスとの組み合わせまで実務目線で紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「スプレッドシートに <code>FALSE関数</code> ってあるけど、FALSEを返すだけの関数って何に使うの？」「<code>=FALSE()</code> と <code>FALSE</code> は何が違うの？」。論理関数を勉強していると、こんな素朴な疑問が浮かびますよね。</p>



<p class="wp-block-paragraph">スプレッドシートのFALSE関数は、出番こそ多くありません。ですが、IF関数の初期値やVLOOKUPの完全一致指定など、論理値FALSEを使う場面は実務にも意外と多いんですよ。チェックボックスや初期フラグの管理にも顔を出します。</p>



<p class="wp-block-paragraph">この記事ではFALSE関数の基本から、<code>=FALSE()</code> と <code>FALSE</code> と <code>0</code> の違いまでを順に解説します。VLOOKUPの第4引数やIFERRORとの組み合わせなど、実務的な活用テクニックも紹介していきますね。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのFALSE関数とは？</a></li><li><a href="#toc2" tabindex="0">スプレッドシートのFALSE関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li><li><a href="#toc5" tabindex="0">戻り値</a></li></ol></li><li><a href="#toc6" tabindex="0">FALSE関数の基本的な使い方</a><ol><li><a href="#toc7" tabindex="0">そのまま論理値FALSEを返す</a></li><li><a href="#toc8" tabindex="0">IF関数の「条件不成立」の戻り値として使う</a></li><li><a href="#toc9" tabindex="0">フラグ管理の初期値として使う</a></li></ol></li><li><a href="#toc10" tabindex="0">=FALSE() と FALSE と 0 の違い・使い分け</a><ol><li><a href="#toc11" tabindex="0">3パターン比較表</a></li><li><a href="#toc12" tabindex="0">使い分けの判断基準</a></li></ol></li><li><a href="#toc13" tabindex="0">FALSE関数と論理値の応用テクニック</a><ol><li><a href="#toc14" tabindex="0">FALSE = 0、TRUE = 1 の性質を使う</a></li><li><a href="#toc15" tabindex="0">条件を満たさない行数を数える</a></li><li><a href="#toc16" tabindex="0">VLOOKUPの第4引数としてのFALSE（実務の定番）</a></li><li><a href="#toc17" tabindex="0">IFERRORの代替値としてFALSEを返す</a></li><li><a href="#toc18" tabindex="0">チェックボックスの未チェックを集計する</a></li></ol></li><li><a href="#toc19" tabindex="0">FALSE=0 を使いこなす実務テクニック</a><ol><li><a href="#toc20" tabindex="0">FILTER関数の条件式とFALSEの関係</a></li><li><a href="#toc21" tabindex="0">ARRAYFORMULAでAND・ORが効かない落とし穴</a></li><li><a href="#toc22" tabindex="0">条件付き書式のカスタム数式とFALSE</a></li><li><a href="#toc23" tabindex="0">チェックボックスのカスタム値に注意</a></li></ol></li><li><a href="#toc24" tabindex="0">よくある疑問とエラー対処</a><ol><li><a href="#toc25" tabindex="0">疑問・エラー一覧</a></li><li><a href="#toc26" tabindex="0">文字列と論理値を混同しない</a></li><li><a href="#toc27" tabindex="0">アポストロフィの罠</a></li><li><a href="#toc28" tabindex="0">VLOOKUPの第4引数を省略するとどうなる？</a></li></ol></li><li><a href="#toc29" tabindex="0">FALSE関数に関するよくある質問（FAQ）</a><ol><li><a href="#toc30" tabindex="0">Q1. VLOOKUPをXLOOKUPに書き換えたら、FALSEはどこに書くの？</a></li><li><a href="#toc31" tabindex="0">Q2. AND関数の代わりに「掛け算」を使うのはなぜ動くの？</a></li><li><a href="#toc32" tabindex="0">Q3. 論理値FALSEを「0」や「いいえ」と表示することはできる？</a></li><li><a href="#toc33" tabindex="0">Q4. FALSEを含むセルを並べ替えると、TRUEとどちらが上にくる？</a></li></ol></li><li><a href="#toc34" tabindex="0">FALSE関数と関連する論理関数</a></li><li><a href="#toc35" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">スプレッドシートのFALSE関数（読み方: フォルス関数）は、<strong>論理値FALSEを返すだけのシンプルな関数</strong>です。論理値とは「TRUE（真）」か「FALSE（偽）」の2値だけを持つ特殊な値で、条件が成立しているかどうかを表します。</p>



<p class="wp-block-paragraph">FALSE関数でできることは、次のとおりです。</p>



<ul class="wp-block-list"><li>論理値FALSEを明示的に数式の中に組み込む</li><li>他の表計算ソフトとの互換性を保つ</li><li>IF関数やVLOOKUPの引数として論理値を指定する</li></ul>



<p class="wp-block-paragraph">実は、スプレッドシートでは <code>=FALSE()</code> と書かなくても大丈夫です。セルに直接 <code>FALSE</code> と入力すれば、論理値FALSEとして認識されます。FALSE関数は「関数として書く書き方も用意されている」というポジションなんですね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>FALSE関数はGoogleスプレッドシートの全バージョンで使えます。Microsoft Excelとも完全互換なので、ファイルをやり取りしても挙動が変わりませんよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc2">スプレッドシートのFALSE関数の書き方（構文と引数）</span></h2>



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



<pre class="wp-block-code"><code>=FALSE()</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>FALSE関数は引数を取りません</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数を渡すとエラーになります。<code>=FALSE(0)</code> のような書き方はできないので注意しましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>大文字・小文字は区別されません。<code>=false()</code> でも <code>=False()</code> でも同じ結果になりますよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc5">戻り値</span></h3>



<p class="wp-block-paragraph">FALSE関数の戻り値は、常に論理値FALSEです。セルに表示されるときは「FALSE」と表示されます。</p>



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



<p class="wp-block-paragraph">ここからは実際の数式でFALSE関数の使い方を見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc7">そのまま論理値FALSEを返す</span></h3>



<p class="wp-block-paragraph">一番シンプルな使い方です。セルに <code>=FALSE()</code> と入力してみてください。</p>



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



<p class="wp-block-paragraph">結果はセルに「FALSE」と表示されます。右寄せで表示されていれば論理値、左寄せで表示されていれば文字列です。見分けるポイントですよ。</p>



<h3 class="wp-block-heading"><span id="toc8">IF関数の「条件不成立」の戻り値として使う</span></h3>



<p class="wp-block-paragraph">IF関数の第3引数（条件不成立時の戻り値）にFALSEを返したい場面があります。</p>



<pre class="wp-block-code"><code>=IF(A2&gt;=80, TRUE(), FALSE())</code></pre>



<p class="wp-block-paragraph">A2が80以上ならTRUE、未満ならFALSEを返します。ただし、これは <code>=IF(A2>=80, TRUE, FALSE)</code> や <code>=A2>=80</code> と同じ結果なんですよ。実務ではシンプルに後者で書くことが多いです。</p>



<h3 class="wp-block-heading"><span id="toc9">フラグ管理の初期値として使う</span></h3>



<p class="wp-block-paragraph">タスク管理表で「完了フラグ」の初期値を一括設定するときにも使えます。</p>



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



<p class="wp-block-paragraph">A列の全行に <code>=FALSE()</code> を入れておけば、未完了の初期状態を作れます。チェックボックスを使う場合は、メニューの「挿入→チェックボックス」のほうが便利ですけれどね。</p>



<h2 class="wp-block-heading"><span id="toc10">=FALSE() と FALSE と 0 の違い・使い分け</span></h2>



<p class="wp-block-paragraph">FALSE関数を学ぶうえで一番モヤッとするのが、この3つの違いです。表で整理してみましょう。</p>



<h3 class="wp-block-heading"><span id="toc11">3パターン比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>書き方</th><th>種類</th><th>数式内での扱い</th><th>セル表示</th></tr></thead><tbody><tr><td><code>=FALSE()</code></td><td>関数式</td><td>論理値FALSE</td><td>FALSE（右寄せ）</td></tr><tr><td><code>FALSE</code></td><td>論理値リテラル</td><td>論理値FALSE</td><td>FALSE（右寄せ）</td></tr><tr><td><code>0</code></td><td>数値</td><td>数値0</td><td>0（右寄せ）</td></tr><tr><td><code>="FALSE"</code></td><td>文字列</td><td>文字列</td><td>FALSE（左寄せ）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数式の中では <code>FALSE</code> だけで十分動きます。<code>=FALSE()</code> の関数形式は冗長ですが、間違いではありません。</p>



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



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



<ul class="wp-block-list"><li><strong>数式内で論理値を指定したい</strong> → <code>FALSE</code> でOK</li><li><strong>他ソフトからのコピペで <code>=FALSE()</code> がある</strong> → そのまま残してもOK</li><li><strong>数値の0として扱いたい</strong> → <code>0</code> を直接書くか、<code>FALSE*1</code> で変換</li></ul>



<p class="wp-block-paragraph">実務では <code>=FALSE()</code> をわざわざ書く場面はほとんどありません。Excel由来の古い数式で見かけたら「ああ、FALSE関数ね」と理解できれば十分ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>文字列の <code>"FALSE"</code>（ダブルクォーテーション付き）は論理値ではなく文字列扱いです。<code>=IF(A1=FALSE, "OK", "NG")</code> の比較では別物になるので注意しましょう。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc13">FALSE関数と論理値の応用テクニック</span></h2>



<p class="wp-block-paragraph">FALSE関数の真価は、論理値FALSEが数値の0として扱える性質にあります。</p>



<h3 class="wp-block-heading"><span id="toc14">FALSE = 0、TRUE = 1 の性質を使う</span></h3>



<p class="wp-block-paragraph">論理値を数値演算に混ぜると、FALSEは0、TRUEは1として扱われます。</p>



<pre class="wp-block-code"><code>=FALSE()+TRUE()  → 1
=FALSE()*5       → 0
=TRUE()-FALSE()  → 1</code></pre>



<p class="wp-block-paragraph">この性質を使うと、条件を満たさない行を除外する数式が書けます。</p>



<h3 class="wp-block-heading"><span id="toc15">条件を満たさない行数を数える</span></h3>



<p class="wp-block-paragraph">A列の数値が50以下の行数を数えたい場合の例です。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((A1:A10&gt;50)*1)</code></pre>



<p class="wp-block-paragraph"><code>A1:A10>50</code> は各セルごとにTRUE/FALSEを返します。TRUEが1、FALSEが0として扱われるので、合計すると条件を満たす行数が得られます。逆に「条件を満たさない行」を数えるなら、不等号を反転させましょう。</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-countif-function/">COUNTIF関数</a>でもできます。複数条件を一気に処理したいときはSUMPRODUCTが柔軟ですよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc16">VLOOKUPの第4引数としてのFALSE（実務の定番）</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>の第4引数に <code>FALSE</code> を指定すると、完全一致検索になります。実務でVLOOKUPを使うときは、ほぼこの書き方ですよ。</p>



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



<ul class="wp-block-list"><li>FALSE: 完全一致（ID検索など。実務の定番）</li><li>TRUE: 近似一致（範囲別の判定に使う）</li></ul>



<p class="wp-block-paragraph">商品IDから商品名を引く、社員番号から氏名を引くなど、ID完全一致で検索したい場面ではFALSE一択です。TRUEを指定すると範囲検索になり、思わぬ値が返ってくることがあるので気をつけましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>この第4引数の <code>FALSE</code> は「FALSE関数」ではなく「論理値FALSEリテラル」です。混同されやすいですが、別物と理解しておきましょう。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc17">IFERRORの代替値としてFALSEを返す</span></h3>



<p class="wp-block-paragraph">エラーが出たときに「該当なし」を表現したいときも便利です。</p>



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



<p class="wp-block-paragraph">検索でヒットしなかったらFALSEを返します。後続の数式で「FALSEなら未登録」と判定できるんですよ。</p>



<h3 class="wp-block-heading"><span id="toc18">チェックボックスの未チェックを集計する</span></h3>



<p class="wp-block-paragraph">スプレッドシートのチェックボックス機能（挿入→チェックボックス）の値は、内部的にTRUE/FALSEで管理されています。未チェックの数を数えたいときに便利です。</p>



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



<p class="wp-block-paragraph">タスク管理シートで「未完了タスク数」を把握したいときに活躍します。完了率を出すなら <code>=COUNTIF(A1:A10, TRUE)/COUNTA(A1:A10)</code> のように組み合わせましょう。</p>



<h2 class="wp-block-heading"><span id="toc19">FALSE=0 を使いこなす実務テクニック</span></h2>



<p class="wp-block-paragraph">論理値FALSEが数値の0として扱われる性質は、応用範囲がとても広いんですよ。ここでは事務系の現場でよく使うFILTER関数や条件付き書式、ARRAYFORMULAでの落とし穴を順に見ていきましょう。</p>



<p class="wp-block-paragraph">「なぜか数式が動かない」という相談の多くは、実はFALSEが返っていることが原因だったりします。仕組みを押さえておくと、トラブルを自分で解決できるようになりますよ。</p>



<h3 class="wp-block-heading"><span id="toc20">FILTER関数の条件式とFALSEの関係</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>は、条件がTRUEの行だけを抽出してFALSEの行を除外する関数です。論理値FALSE=「除外」というイメージがとてもつかみやすい例ですよ。</p>



<pre class="wp-block-code"><code>=FILTER(A2:C10, B2:B10=&quot;東京&quot;)</code></pre>



<p class="wp-block-paragraph">B列が「東京」の行はTRUE、それ以外はFALSEと判定され、FALSEの行は結果から外れます。条件式が各行ごとにTRUE/FALSEの配列を作っている、と理解すると応用が効きます。</p>



<p class="wp-block-paragraph">複数条件を組み合わせるときは、TRUE=1・FALSE=0の性質をそのまま使います。</p>



<pre class="wp-block-code"><code>=FILTER(A2:C10, (B2:B10=&quot;東京&quot;)*(C2:C10&gt;=100))</code></pre>



<p class="wp-block-paragraph"><code>*</code>（アスタリスク）でつなぐとAND条件になります。両方TRUE（1×1=1）の行だけが残ります。片方でもFALSE（×0=0）なら除外される仕組みですね。OR条件にしたいときは <code>+</code>（プラス）でつなぎましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>FILTERの条件にAND関数やOR関数を直接書くと、配列がうまく展開されません。<code>*</code> と <code>+</code> で組むのがスプレッドシートの定番テクニックですよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc21">ARRAYFORMULAでAND・ORが効かない落とし穴</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a>で複数条件を判定するとき、AND関数やOR関数を使うと全行が同じ結果になってしまいます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(AND(A2:A10&gt;0, B2:B10&gt;0), &quot;OK&quot;, &quot;NG&quot;))</code></pre>



<p class="wp-block-paragraph">これは想定どおりに動きません。AND関数は配列を受け取ると範囲全体をまとめて1つのTRUE/FALSEに評価してしまうため、全行に同じ判定が出てしまうんですね。</p>



<p class="wp-block-paragraph">回避策は、ここでもFALSE=0の性質を使うことです。ANDの代わりに <code>*</code>、ORの代わりに <code>+</code> に置き換えます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF((A2:A10&gt;0)*(B2:B10&gt;0), &quot;OK&quot;, &quot;NG&quot;))</code></pre>



<p class="wp-block-paragraph"><code>(A2:A10>0)</code> と <code>(B2:B10>0)</code> がそれぞれTRUE/FALSEの配列を返し、掛け算で行ごとにAND判定されます。両方TRUEの行だけが1になり、IFが「OK」を返すというわけです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>配列処理ではAND関数・OR関数は「相性が悪い」と覚えておきましょう。算術演算子に置き換えるのが鉄則です。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc22">条件付き書式のカスタム数式とFALSE</span></h3>



<p class="wp-block-paragraph">条件付き書式の「カスタム数式」は、TRUE（または0以外の数値）を返したセルにだけ書式が適用される仕組みです。逆に言えば、数式がFALSEや0を返すと書式は一切適用されません。</p>



<p class="wp-block-paragraph">「カスタム数式を設定したのに色が付かない」というトラブルの大半は、数式がFALSEを返していることが原因なんですよ。</p>



<pre class="wp-block-code"><code>=$B2&gt;=80</code></pre>



<p class="wp-block-paragraph">たとえば「B列が80以上の行に色を付ける」なら、上のように書きます。条件を満たす行はTRUE→書式適用、満たさない行はFALSE→未適用という動きです。色が付かないときは、対象セルにこの数式を一度入力してみて、FALSEが返っていないか確認すると原因がつかめますよ。</p>



<h3 class="wp-block-heading"><span id="toc23">チェックボックスのカスタム値に注意</span></h3>



<p class="wp-block-paragraph">既存の集計テクニックは標準チェックボックスを前提にしていますが、もう1つ知っておきたい注意点があります。チェックボックスに「カスタム値」を設定している場合の話です。</p>



<p class="wp-block-paragraph">チェックボックスは「データの入力規則」からカスタム値を指定できます。たとえばチェック時に「1」、未チェック時に「0」を返すよう設定するケースですね。この場合、チェックボックスの中身は論理値TRUE/FALSEではなく、設定した数値や文字列になります。</p>



<p class="wp-block-paragraph">そのため、次の集計式は機能しません。</p>



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



<p class="wp-block-paragraph">カスタム値が「0」なら、正しくは設定値に合わせてこう書きます。</p>



<pre class="wp-block-code"><code>=COUNTIF(A1:A10, 0)</code></pre>



<p class="wp-block-paragraph">標準チェックボックスかカスタム値かを見分けるには、チェックボックスのセルを選択して中身を確認してみてください。<code>FALSE</code>（右寄せの論理値）が入っていれば標準、<code>0</code> などの数値や任意の文字列が入っていればカスタム値です。集計式を書く前に、一度この確認をしておくとミスが防げますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>完了率を出すときも同じです。標準なら <code>COUNTIF(範囲, TRUE)</code>、カスタム値（チェック時=1）なら <code>COUNTIF(範囲, 1)</code> と、設定に合わせて使い分けましょう。</p></blockquote>



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



<p class="wp-block-paragraph">FALSE関数は単純な関数ですが、いくつか混乱しやすいポイントがあります。</p>



<h3 class="wp-block-heading"><span id="toc25">疑問・エラー一覧</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>疑問・症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>=FALSE()</code> と <code>FALSE</code> どちらを使えばいい？</td><td>どちらも同じ結果</td><td>数式内では <code>FALSE</code> で十分</td></tr><tr><td>セルに FALSE と入力したら自動で論理値になった</td><td>スプレッドシートの仕様</td><td>文字列にしたい場合は <code>'FALSE</code>（アポストロフィ付き）</td></tr><tr><td>#N/A エラーが出る</td><td>FALSE関数に引数を渡している</td><td><code>=FALSE(0)</code> → <code>=FALSE()</code> に修正</td></tr><tr><td><code>IF(A1="FALSE", ...)</code> が動かない</td><td>文字列と論理値の比較</td><td><code>IF(A1=FALSE, ...)</code> に修正</td></tr><tr><td>VLOOKUPで意図しない値が返る</td><td>第4引数のFALSE指定漏れ</td><td><code>VLOOKUP(..., FALSE)</code> を明示する</td></tr><tr><td>計算結果に0が混じる</td><td>FALSEを数値演算に使った結果</td><td>論理値として残したいときは <code>*1</code> を外す</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc26">文字列と論理値を混同しない</span></h3>



<p class="wp-block-paragraph">セルに <code>FALSE</code> と表示されていても、中身が論理値か文字列かで挙動が変わります。</p>



<ul class="wp-block-list"><li>右寄せ表示 → 論理値FALSE</li><li>左寄せ表示 → 文字列&#8221;FALSE&#8221;</li></ul>



<p class="wp-block-paragraph">文字列の場合は変換が必要です。<code>=IF(A1="FALSE", FALSE, TRUE)</code> のように書くと論理値に変換できます。</p>



<h3 class="wp-block-heading"><span id="toc27">アポストロフィの罠</span></h3>



<p class="wp-block-paragraph">セルに <code>'FALSE</code> と入力すると、アポストロフィが文字列化を指示する記号として働きます。その結果、論理値ではなく文字列として保存されてしまうんですよ。気づかずに論理演算するとうまくいかないので注意しましょう。</p>



<h3 class="wp-block-heading"><span id="toc28">VLOOKUPの第4引数を省略するとどうなる？</span></h3>



<p class="wp-block-paragraph">VLOOKUPで第4引数を省略すると、初期値はTRUE（近似一致）扱いになります。完全一致を期待しているのに、勝手に近い値が返ってきて混乱するケースが多いんですね。VLOOKUPを書くときは、FALSEを明示する習慣をつけておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc29">FALSE関数に関するよくある質問（FAQ）</span></h2>



<p class="wp-block-paragraph">最後に、FALSE関数や論理値FALSEに関して質問の多いポイントをQ&#038;A形式でまとめておきますね。</p>



<h3 class="wp-block-heading"><span id="toc30">Q1. VLOOKUPをXLOOKUPに書き換えたら、FALSEはどこに書くの？</span></h3>



<p class="wp-block-paragraph">XLOOKUPでは、VLOOKUPの第4引数FALSE（完全一致）に相当するものを書く必要はありません。XLOOKUPは初期状態で完全一致検索になるからです。</p>



<p class="wp-block-paragraph">明示的に一致方法を指定したい場合は、第5引数「一致モード」を数値で渡します。</p>



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



<p class="wp-block-paragraph">末尾の <code>0</code> が完全一致を意味し、VLOOKUPのFALSEに対応します。XLOOKUPの一致モードはFALSE/TRUEではなく数値で指定する点が違いですよ。<code>0</code>（完全一致）・<code>-1</code>・<code>1</code>（近似）・<code>2</code>（ワイルドカード）から選びます。同様にMATCH関数の第3引数も数値（0=完全一致）で、FALSEは使いません。</p>



<h3 class="wp-block-heading"><span id="toc31">Q2. AND関数の代わりに「掛け算」を使うのはなぜ動くの？</span></h3>



<p class="wp-block-paragraph">論理値TRUEが1、FALSEが0として扱われる性質を利用しているからです。</p>



<p class="wp-block-paragraph"><code>(A2>0)*(B2>0)</code> のように条件式を掛け算すると、両方TRUE（1×1=1）のときだけ1になります。片方でもFALSE（×0=0）なら0になり、AND条件と同じ判定ができるわけですね。FILTERやARRAYFORMULAのように配列をまとめて処理する場面で特に役立ちます。OR条件にしたいときは足し算（<code>+</code>）を使い、合計が1以上ならいずれかがTRUEと判定します。</p>



<h3 class="wp-block-heading"><span id="toc32">Q3. 論理値FALSEを「0」や「いいえ」と表示することはできる？</span></h3>



<p class="wp-block-paragraph">はい、表示だけを変えたいなら表示形式やIF関数で対応できます。</p>



<p class="wp-block-paragraph">セルの中身は論理値FALSEのまま、表示だけ「いいえ」にしたい場合はIF関数でラベルを付けます。</p>



<pre class="wp-block-code"><code>=IF(A2, &quot;はい&quot;, &quot;いいえ&quot;)</code></pre>



<p class="wp-block-paragraph">A2がTRUEなら「はい」、FALSEなら「いいえ」を返します。一方、数値の0として計算に使いたいだけなら、<code>A2*1</code> のように演算すればFALSEが0に変換されます。「見た目を変えたい」のか「計算に使いたい」のかで方法を選ぶのがポイントですよ。</p>



<h3 class="wp-block-heading"><span id="toc33">Q4. FALSEを含むセルを並べ替えると、TRUEとどちらが上にくる？</span></h3>



<p class="wp-block-paragraph">昇順で並べ替えると、FALSEがTRUEより上（先）にきます。</p>



<p class="wp-block-paragraph">スプレッドシートでは論理値FALSE=0、TRUE=1として扱われるため、数値の小さいFALSEが先に並びます。完了フラグ（TRUE/FALSE）で昇順ソートすると未完了（FALSE）が上に集まる、と覚えておくと作業がはかどりますよ。完了済みを上に出したいときは降順を選びましょう。</p>



<h2 class="wp-block-heading"><span id="toc34">FALSE関数と関連する論理関数</span></h2>



<p class="wp-block-paragraph">スプレッドシートの論理関数には、FALSE以外にもよく使う仲間がいます。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>役割</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-true-function/">TRUE</a></td><td>論理値TRUEを返す</td></tr><tr><td>FALSE</td><td>論理値FALSEを返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-and-function/">AND</a></td><td>全条件TRUEならTRUE</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-or-function/">OR</a></td><td>1条件以上TRUEならTRUE</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-not-function/">NOT</a></td><td>TRUE⇔FALSEを反転</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-if-function/">IF</a></td><td>条件分岐</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">実務で使用頻度が高いのはIF・AND・ORです。TRUE/FALSE単体は「論理値の仕組みを理解する基礎」として押さえておけば十分ですよ。</p>



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



<p class="wp-block-paragraph">スプレッドシートのFALSE関数は、論理値FALSEを返すだけのシンプルな関数です。</p>



<ul class="wp-block-list"><li>引数なしで <code>=FALSE()</code> と書くと論理値FALSEを返す</li><li>数式内では <code>FALSE</code>（関数なし）と書けば同じ結果</li><li>FALSEは数値の0、TRUEは1として扱える</li><li>VLOOKUPの第4引数のFALSEは完全一致検索を意味する（実務の定番）</li><li>チェックボックスの未チェック値もFALSE</li></ul>



<p class="wp-block-paragraph">FALSE関数そのものを書く機会は少ないかもしれません。ですが、論理値FALSEの仕組みを理解しておくと、VLOOKUPの完全一致指定やチェックボックス集計、IFERRORの代替値など幅広い場面で役立ちますよ。</p>



<p class="wp-block-paragraph">FALSE関数とセットで覚えておきたいのが<a href="https://mashukabu.com/spreadsheet-true-function/">TRUE関数</a>です。論理値TRUEを返す対の関数なので、両方を理解しておくと論理演算の基礎が一気に固まりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-false-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのVLOOKUP完全ガイド｜基本から応用まで使い方を解説</title>
		<link>https://mashukabu.com/sheets-vlookup-guide/</link>
					<comments>https://mashukabu.com/sheets-vlookup-guide/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 13 Apr 2026 07:22:30 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[#N/Aエラー]]></category>
		<category><![CDATA[IFERROR]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[完全ガイド]]></category>
		<category><![CDATA[検索関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5933</guid>

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



<p class="wp-block-paragraph">この記事ではスプレッドシートのVLOOKUPを基本から応用まで解説します。4つの引数の意味、#N/Aエラーの原因と対処法まで、実務例を交えて説明します。INDEX/MATCHやXLOOKUPへの移行判断フローも掲載しているので、ぜひ参考にしてください。</p>




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

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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">引数は4つです。最後の「検索の型」だけ省略できます。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">F2セルに社員番号を入力し、G2セルに数式を書きます。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph"><strong>数式を下方向にコピーする場合</strong></p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">セル参照と組み合わせる場合は <code>&</code> で連結します。</p>



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



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



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



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



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



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



<p class="wp-block-paragraph">IFERRORと組み合わせてエラーも一括処理できます。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">ただし、細かい点でいくつか違いがあります。</p>



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">VLOOKUPにはいくつかの制約があります。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">VLOOKUPと比べた優位点をまとめます。</p>



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



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



<p class="wp-block-paragraph">用途に応じて関数を選びましょう。</p>



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



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



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



<p class="wp-block-paragraph">スプレッドシートのVLOOKUP関数の要点をまとめます。</p>



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



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



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



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-vlookup-function/">スプレッドシートのVLOOKUP関数の使い方｜別シート参照・エラー対処まで解説</a></li><li>Googleスプレッドシートの使い方入門（Excelユーザー向け）</li><li>ExcelとGoogleスプレッドシートの違い・使い分けガイド</li><li><a href="https://mashukabu.com/spreadsheet-index-function/">スプレッドシートのINDEX関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-match-function/">スプレッドシートのMATCH関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-hlookup-function/">スプレッドシートのHLOOKUP関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-ifna-function/">スプレッドシートのIFNA関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/sheets-vlookup-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのLOOKUP関数の使い方｜VLOOKUPとの違い</title>
		<link>https://mashukabu.com/excel-function-howto-use-lookup/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-lookup/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 12 Apr 2026 15:36:52 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[HLOOKUP]]></category>
		<category><![CDATA[LOOKUP関数]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[XLOOKUP]]></category>
		<category><![CDATA[ベクトル形式]]></category>
		<category><![CDATA[引き継ぎ]]></category>
		<category><![CDATA[検索関数]]></category>
		<category><![CDATA[近似一致]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5918</guid>

					<description><![CDATA[ExcelのLOOKUP関数の基本構文（ベクトル形式・配列形式）から、VLOOKUPやXLOOKUPとの違い、昇順ルールと近似一致の動作、引き継いだファイルの読み解き方まで実務目線で解説。古いExcelファイルに含まれるLOOKUP関数を正確に理解できます。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「引き継いだExcelファイルにLOOKUP関数が入っていたけど、VLOOKUPとどう違うの？」と戸惑った経験はありませんか。LOOKUPはVLOOKUPよりも古くからある検索関数です。今でも社内ファイルのなかで現役で動いています。ただ、引数の書き方がVLOOKUPと異なるため、初めて見ると読み解きにくいですよね。</p>



<p class="wp-block-paragraph">この記事では、ExcelのLOOKUP関数の基本構文から、VLOOKUPやXLOOKUPとの違いまで解説します。「今さら覚える必要があるのか」という疑問にも最初に答えますよ。読み終えるころには、LOOKUP関数の数式を自信を持って読めるようになるはずです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>この記事は次のような人におすすめ</strong><br>&#8211; 引き継いだファイルのLOOKUP関数を読み解きたい人<br>&#8211; VLOOKUPとLOOKUPの違いを整理したい人<br>&#8211; LOOKUP・VLOOKUP・XLOOKUPの使い分けを知りたい人</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">ExcelのLOOKUP関数とは：まず3関数の立ち位置を整理する</a><ol><li><a href="#toc2" tabindex="0">LOOKUP・VLOOKUP・XLOOKUPの違いを一言で</a></li><li><a href="#toc3" tabindex="0">LOOKUP関数はいつから存在するのか</a></li></ol></li><li><a href="#toc4" tabindex="0">LOOKUP関数の書き方【ベクトル形式】</a><ol><li><a href="#toc5" tabindex="0">基本構文と3つの引数の意味</a></li><li><a href="#toc6" tabindex="0">昇順ルールとは：昇順でないと正しい値が返らない理由</a></li><li><a href="#toc7" tabindex="0">使用例：社員番号から氏名を取り出す</a></li></ol></li><li><a href="#toc8" tabindex="0">LOOKUP関数の書き方【配列形式】</a><ol><li><a href="#toc9" tabindex="0">配列形式の構文（引数2つ）</a></li><li><a href="#toc10" tabindex="0">配列形式が使われる場面と現在の推奨度</a></li></ol></li><li><a href="#toc11" tabindex="0">VLOOKUP・XLOOKUPと何が違うのか：3関数比較</a><ol><li><a href="#toc12" tabindex="0">LOOKUP近似一致 vs VLOOKUP近似一致（動作差分）</a></li></ol></li><li><a href="#toc13" tabindex="0">LOOKUP関数が今でも使われている場面</a><ol><li><a href="#toc14" tabindex="0">近似一致ランク判定の実例：評価区分を昇順マスタで自動判定</a></li></ol></li><li><a href="#toc15" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc16" tabindex="0">#N/Aエラーの原因と対処</a></li><li><a href="#toc17" tabindex="0">想定外の近似値が返るケース：昇順ルール違反</a></li></ol></li><li><a href="#toc18" tabindex="0">まとめ：今から書くならXLOOKUP、古いファイルはLOOKUPで読む</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのLOOKUP関数とは：まず3関数の立ち位置を整理する</span></h2>



<h3 class="wp-block-heading"><span id="toc2">LOOKUP・VLOOKUP・XLOOKUPの違いを一言で</span></h3>



<p class="wp-block-paragraph">LOOKUP（ルックアップ）は「指定した値を検索して、対応する値を返す」関数です。名前の由来はそのまま「Look Up＝探す」ですね。</p>



<p class="wp-block-paragraph">Excelの検索関数にはLOOKUP・VLOOKUP・XLOOKUPの3つがあります。それぞれの位置づけを一言でまとめると次のとおりです。</p>



<ul class="wp-block-list"><li><strong>LOOKUP</strong>: 最も古い検索関数。引数が少なくシンプルだが、近似一致しかできない</li><li><strong>VLOOKUP</strong>: LOOKUPの後継。完全一致・近似一致を切り替えられる。全バージョン対応</li><li><strong>XLOOKUP</strong>: 最新の検索関数。検索方向の制約がなく最も柔軟。Excel 2021／Microsoft 365以降</li></ul>



<p class="wp-block-paragraph">結論から言うと、<strong>新しい数式を書くならXLOOKUPかVLOOKUPがおすすめ</strong>です。ただし古いファイルにLOOKUPが残っているケースは多いので、「読めるようにしておく」ことが大切ですよ。</p>



<h3 class="wp-block-heading"><span id="toc3">LOOKUP関数はいつから存在するのか</span></h3>



<p class="wp-block-paragraph">LOOKUP関数はExcelの初期バージョンから搭載されている互換関数です。Excel 2016からMicrosoft 365まで、すべてのバージョンで使えます。</p>



<p class="wp-block-paragraph">VLOOKUPやHLOOKUPが登場する前から存在しています。古い社内テンプレートや引き継ぎファイルでよく見かけますよ。「見たことない関数が入っている」と感じたら、このLOOKUPである可能性が高いです。</p>



<h2 class="wp-block-heading"><span id="toc4">LOOKUP関数の書き方【ベクトル形式】</span></h2>



<p class="wp-block-paragraph">LOOKUP関数には「ベクトル形式」と「配列形式」の2種類があります。実務で使われるのはほとんどベクトル形式です。まずはこちらから解説しますね。</p>



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



<p class="wp-block-paragraph">ベクトル形式の構文はこちらです。</p>



<pre class="wp-block-code"><code>=LOOKUP(検索値, 検索範囲, [結果範囲])</code></pre>



<p class="wp-block-paragraph">引数は最大3つです。VLOOKUPの4つに比べて少ないのが特徴です。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>意味</th><th>指定例</th></tr></thead><tbody><tr><td>検索値</td><td>必須</td><td>探したい値</td><td>A2</td></tr><tr><td>検索範囲</td><td>必須</td><td>検索する1行または1列の範囲</td><td>B2:B10</td></tr><tr><td>結果範囲</td><td>省略可</td><td>結果を返す1行または1列の範囲</td><td>C2:C10</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">VLOOKUPでは「表全体」を範囲に指定します。一方LOOKUPでは「検索する列」と「結果を返す列」を別々に指定します。この仕組みのおかげで、検索列が左端にない表でも使えるのがLOOKUPの利点です。</p>



<h3 class="wp-block-heading"><span id="toc6">昇順ルールとは：昇順でないと正しい値が返らない理由</span></h3>



<p class="wp-block-paragraph">LOOKUP関数を使うとき、最も重要なルールが1つあります。<strong>検索範囲のデータは必ず昇順に並んでいなければなりません</strong>。</p>



<p class="wp-block-paragraph">VLOOKUPには「検索の型」という引数があります。完全一致（FALSE）と近似一致（TRUE）を選べます。しかしLOOKUP関数にはこの引数がありません。常に近似一致で動作します。</p>



<p class="wp-block-paragraph">近似一致とは、検索値とぴったり一致する値がない場合に、<strong>検索値を超えない最大の値</strong>を返す仕組みです。この動作はデータが昇順に並んでいることが前提です。</p>



<p class="wp-block-paragraph">昇順になっていないデータにLOOKUPを使うと、誤った値が返ることがあります。引き継いだファイルでLOOKUP関数を見かけたら、まず検索範囲が昇順かどうかを確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc7">使用例：社員番号から氏名を取り出す</span></h3>



<p class="wp-block-paragraph">具体的な使い方を見てみましょう。次のような社員表があるとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列（社員番号）</th><th>B列（氏名）</th></tr></thead><tbody><tr><td>1001</td><td>田中太郎</td></tr><tr><td>1002</td><td>佐藤花子</td></tr><tr><td>1003</td><td>鈴木一郎</td></tr><tr><td>1004</td><td>高橋美咲</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">社員番号1003の氏名を取り出すには、次のように書きます。</p>



<pre class="wp-block-code"><code>=LOOKUP(1003, A2:A5, B2:B5)</code></pre>



<p class="wp-block-paragraph">結果は「鈴木一郎」です。A列（検索範囲）が昇順に並んでいるので、正しく動作します。</p>



<p class="wp-block-paragraph">もし社員番号1005（存在しない値）を検索するとどうなるでしょうか。</p>



<pre class="wp-block-code"><code>=LOOKUP(1005, A2:A5, B2:B5)</code></pre>



<p class="wp-block-paragraph">結果は「高橋美咲」です。1005を超えない最大値は1004なので、1004に対応する値が返ります。完全一致ではなく近似一致で動作する点に注意してくださいね。</p>



<h2 class="wp-block-heading"><span id="toc8">LOOKUP関数の書き方【配列形式】</span></h2>



<h3 class="wp-block-heading"><span id="toc9">配列形式の構文（引数2つ）</span></h3>



<p class="wp-block-paragraph">LOOKUP関数にはもう一つ「配列形式」があります。引数は2つだけです。</p>



<pre class="wp-block-code"><code>=LOOKUP(検索値, 配列)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>意味</th></tr></thead><tbody><tr><td>検索値</td><td>必須</td><td>探したい値</td></tr><tr><td>配列</td><td>必須</td><td>検索と結果を含むセル範囲</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">配列形式では、指定した範囲の形状によって動作が変わります。</p>



<ul class="wp-block-list"><li><strong>縦長または正方形の範囲</strong>: 最初の列で検索し、最後の列の値を返す</li><li><strong>横長の範囲</strong>: 最初の行で検索し、最後の行の値を返す</li></ul>



<h3 class="wp-block-heading"><span id="toc10">配列形式が使われる場面と現在の推奨度</span></h3>



<p class="wp-block-paragraph">配列形式はVLOOKUPやHLOOKUPで代替できます。Microsoftも互換性維持のための形式と位置づけています。新しくこの形式を使う必要はほとんどありません。</p>



<p class="wp-block-paragraph">古いファイルで引数が2つだけのLOOKUP関数を見かけたら、「配列形式だな」と判断できます。検索範囲と結果範囲が1つの配列にまとまっているだけです。やっていること自体はベクトル形式と同じですよ。</p>



<h2 class="wp-block-heading"><span id="toc11">VLOOKUP・XLOOKUPと何が違うのか：3関数比較</span></h2>



<p class="wp-block-paragraph">LOOKUPとVLOOKUP、XLOOKUPの違いを表で整理しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>LOOKUP</th><th>VLOOKUP</th><th>XLOOKUP</th></tr></thead><tbody><tr><td>引数の数</td><td>2〜3個</td><td>4個（必須3）</td><td>3〜6個</td></tr><tr><td>検索方向</td><td>縦・横を自動判定</td><td>縦方向のみ</td><td>縦・横どちらも対応</td></tr><tr><td>一致モード</td><td>近似一致のみ</td><td>完全一致／近似一致を選択</td><td>完全一致／近似一致／ワイルドカード等</td></tr><tr><td>検索列の制約</td><td>なし（検索と結果を独立指定）</td><td>検索列は範囲の左端のみ</td><td>なし（自由に指定可）</td></tr><tr><td>昇順必須</td><td>常に必須</td><td>近似一致（TRUE）のときだけ必須</td><td>不要</td></tr><tr><td>対応バージョン</td><td>全バージョン</td><td>全バージョン</td><td>Excel 2021／Microsoft 365</td></tr><tr><td>現在の推奨度</td><td>低（読み取り用途）</td><td>中（互換性が必要な環境）</td><td>高（新規作成の第一候補）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc12">LOOKUP近似一致 vs VLOOKUP近似一致（動作差分）</span></h3>



<p class="wp-block-paragraph">LOOKUPとVLOOKUP（第4引数TRUE）はどちらも近似一致で動作します。ただし使い勝手に違いがあります。</p>



<pre class="wp-block-code"><code>' LOOKUP — 検索の型を指定する引数がない（常に近似一致）
=LOOKUP(75, A2:A5, B2:B5)

' VLOOKUP — 第4引数TRUEで近似一致を明示
=VLOOKUP(75, A2:B5, 2, TRUE)</code></pre>



<p class="wp-block-paragraph">LOOKUPは「完全一致モードがない」のが最大の違いです。VLOOKUPなら第4引数をFALSEにすれば完全一致検索ができます。LOOKUPにはその切り替えがありません。</p>



<p class="wp-block-paragraph">一方でLOOKUPには独自の利点もあります。検索範囲と結果範囲を別々に指定できるので、検索列が左端にない表でも対応できます。VLOOKUPの「検索列が左端になければ使えない」という制約に縛られません。</p>



<p class="wp-block-paragraph">それぞれの関数について詳しく知りたい方は、以下の記事も参考にしてみてください。</p>



<ul class="wp-block-list"><li>VLOOKUPの使い方: <a href="https://mashukabu.com/excel-function-howto-use-vlookup/">ExcelのVLOOKUP関数の使い方</a></li><li>XLOOKUPの使い方: <a href="https://mashukabu.com/excel-function-howto-use-xlookup/">ExcelのXLOOKUP関数の使い方</a></li><li>HLOOKUPの使い方: <a href="https://mashukabu.com/excel-function-howto-use-hlookup/">ExcelのHLOOKUP関数の使い方</a></li><li>検索関数の選び方: <a href="https://mashukabu.com/excel-vlookup-xlookup-index-match-comparison/">VLOOKUP・XLOOKUP・INDEX+MATCHの違いと使い分け</a></li></ul>



<h2 class="wp-block-heading"><span id="toc13">LOOKUP関数が今でも使われている場面</span></h2>



<p class="wp-block-paragraph">「わざわざLOOKUPを使う場面なんてあるの？」と思うかもしれません。実は、近似一致の特性を活かしたランク判定で今でも使われているケースがあります。</p>



<h3 class="wp-block-heading"><span id="toc14">近似一致ランク判定の実例：評価区分を昇順マスタで自動判定</span></h3>



<p class="wp-block-paragraph">テストの点数に応じてA〜Dの評価をつけたい場面を考えてみましょう。次のような基準表を用意します。</p>



<figure class="wp-block-table"><table><thead><tr><th>D列（点数の下限）</th><th>E列（評価）</th></tr></thead><tbody><tr><td>0</td><td>D</td></tr><tr><td>60</td><td>C</td></tr><tr><td>70</td><td>B</td></tr><tr><td>80</td><td>A</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">点数が75のとき、評価を自動で判定する数式がこちらです。</p>



<pre class="wp-block-code"><code>=LOOKUP(75, D2:D5, E2:E5)</code></pre>



<p class="wp-block-paragraph">結果は「B」です。75は70以上80未満なので、70に対応する「B」が返ります。</p>



<p class="wp-block-paragraph">この数式が動く仕組みは、LOOKUP関数の近似一致です。検索値75を超えない最大値（70）を見つけて、対応する結果を返しています。</p>



<p class="wp-block-paragraph">同じことはVLOOKUP(75, D2:E5, 2, TRUE)でも実現できます。ただしLOOKUPは検索列と結果列を独立して指定できるので、基準表のレイアウトを自由に組めますよ。古いファイルでこのパターンを見かけたら、「ランク判定をしているんだな」と読み解けるはずです。</p>



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



<h3 class="wp-block-heading"><span id="toc16">#N/Aエラーの原因と対処</span></h3>



<p class="wp-block-paragraph">LOOKUP関数で最も多いエラーが#N/Aです。主な原因は次の2つです。</p>



<ul class="wp-block-list"><li><strong>検索値が検索範囲の最小値より小さい</strong>: 検索範囲が{60, 70, 80}のとき、検索値30を指定すると#N/Aになります。近似一致では「検索値を超えない最大値」を探しますが、最小値60より小さい値には候補がないためです</li><li><strong>検索範囲が空、または指定が間違っている</strong>: 範囲の指定ミスで空のセルを参照しているケースも原因になります</li></ul>



<p class="wp-block-paragraph">対処法としては、検索範囲の先頭に十分小さい値を追加しておくと安心です。</p>



<pre class="wp-block-code"><code>' 検索範囲の先頭に0を追加してエラーを防ぐ
=LOOKUP(30, {0,60,70,80}, {&quot;対象外&quot;,&quot;C&quot;,&quot;B&quot;,&quot;A&quot;})</code></pre>



<h3 class="wp-block-heading"><span id="toc17">想定外の近似値が返るケース：昇順ルール違反</span></h3>



<p class="wp-block-paragraph">「エラーは出ないけど、返ってくる値がおかしい」というケースもあります。ほとんどの場合、検索範囲が昇順に並んでいないことが原因です。</p>



<p class="wp-block-paragraph">LOOKUP関数はバイナリサーチ（二分探索）という方法でデータを検索します。昇順を前提としたアルゴリズムです。データの順序が乱れると、検索の途中で間違った位置を見てしまいます。</p>



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



<ul class="wp-block-list"><li>検索範囲のデータを昇順に並べ替える</li><li>完全一致が必要な場合はVLOOKUP（第4引数FALSE）やXLOOKUPに書き換える</li></ul>



<p class="wp-block-paragraph">引き継いだファイルで結果がおかしいと感じたら、まず検索範囲のソート順を確認してみてください。</p>



<h2 class="wp-block-heading"><span id="toc18">まとめ：今から書くならXLOOKUP、古いファイルはLOOKUPで読む</span></h2>



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



<ul class="wp-block-list"><li>LOOKUP関数はExcelの初期から搭載されている検索関数。引数は2〜3個でシンプル</li><li>ベクトル形式（検索範囲と結果範囲を別々に指定）が実務の主流</li><li><strong>常に近似一致で動作する</strong>ため、検索範囲は必ず昇順に並べておく</li><li>VLOOKUPとの最大の違いは「完全一致モードがないこと」と「検索列の位置が自由なこと」</li><li>新しく数式を書くなら<a href="https://mashukabu.com/excel-function-howto-use-xlookup/">XLOOKUP</a>が最適。LOOKUPは「古いファイルを読み解くため」に知っておくと安心</li></ul>



<p class="wp-block-paragraph">LOOKUP関数を新規で使う場面は限られます。ただし引き継いだファイルに入っていることは珍しくありません。この記事で解説した構文と近似一致の動作を押さえておけば、いざというときに慌てずに対応できますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-lookup/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのDGET関数の使い方｜条件に合う1つの値</title>
		<link>https://mashukabu.com/spreadsheet-dget-function/</link>
					<comments>https://mashukabu.com/spreadsheet-dget-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 26 Mar 2026 11:46:46 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[DGET]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[データベース関数]]></category>
		<category><![CDATA[値の取得]]></category>
		<category><![CDATA[条件付き抽出]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5359</guid>

					<description><![CDATA[GoogleスプレッドシートのDGET関数の使い方を解説。条件に合うレコードから1つの値を取得する方法、複数条件の書き方、VLOOKUPやINDEX/MATCHとの違い、#NUM!エラー・#VALUE!エラーの対処法、FAQまで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「担当者名から売上金額を1件だけ引っ張りたい」「部署と商品の組み合わせで単価を取得したい」。こんな場面、VLOOKUPで頑張ろうとして数式がぐちゃぐちゃになっていませんか。</p>



<p class="wp-block-paragraph">VLOOKUPは左端列でしか検索できないので、条件が複雑になると工夫が必要です。検索値を結合して連結キーを作ったり、列の並びを入れ替えたり、INDEX+MATCHの組み合わせに切り替えたり。「ちょっと条件を増やしたいだけなのに、なぜこんなに大ごとになるんだろう」と感じた経験は、Excelやスプレッドシートを使う人なら一度はあるはずです。</p>



<p class="wp-block-paragraph">そんなときに使えるのがDGET関数です。条件を別のセル範囲に書いておくだけで、一致するレコードから指定した列の値を1つ返してくれます。条件を増やしたいときは条件範囲に列を足すだけ。検索キーが何列目にあっても気にする必要がありません。条件を変えたいときも、セルを書き換えるだけで結果が即座に切り替わります。</p>



<p class="wp-block-paragraph">この記事では、DGET関数の基本構文から、複数条件の書き方、比較演算子・ワイルドカードを使った高度な条件指定、VLOOKUPやINDEX+MATCHとの使い分け、よくあるエラーの対処法、FAQまでまとめて紹介します。読み終わるころには「条件付きで1件取得するならDGETで一発」と自信を持って言えるようになりますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-7" checked><label class="toc-title" for="toc-checkbox-7">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのDGET関数とは？ &#8212; 条件に合う1件の値を取り出す</a><ol><li><a href="#toc2" tabindex="0">DGET関数が活きる場面</a></li></ol></li><li><a href="#toc3" tabindex="0">DGET関数の書き方（構文と引数）</a><ol><li><a href="#toc4" tabindex="0">基本構文</a></li><li><a href="#toc5" tabindex="0">引数の説明</a></li><li><a href="#toc6" tabindex="0">データベース（第1引数）</a></li><li><a href="#toc7" tabindex="0">フィールド（第2引数）</a></li><li><a href="#toc8" tabindex="0">条件（第3引数）</a></li></ol></li><li><a href="#toc9" tabindex="0">DGET関数の基本的な使い方</a><ol><li><a href="#toc10" tabindex="0">サンプルデータ</a></li><li><a href="#toc11" tabindex="0">条件範囲の設定方法</a></li><li><a href="#toc12" tabindex="0">フィールドを変えるだけで違う列を取得する</a></li><li><a href="#toc13" tabindex="0">比較演算子を使った条件</a></li></ol></li><li><a href="#toc14" tabindex="0">DGET関数の実践的な使い方・応用例</a><ol><li><a href="#toc15" tabindex="0">複数条件（AND条件）で値を取得する</a></li><li><a href="#toc16" tabindex="0">条件に合うレコードが複数あるときの対処</a></li><li><a href="#toc17" tabindex="0">条件範囲を切り替えて検索対象を変える</a></li><li><a href="#toc18" tabindex="0">完全一致したいときは ="=○○" の書き方</a></li></ol></li><li><a href="#toc19" tabindex="0">DGET関数とVLOOKUP・INDEX+MATCHの使い分け</a></li><li><a href="#toc20" tabindex="0">他のデータベース関数との連携</a></li><li><a href="#toc21" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc22" tabindex="0">IFERROR でエラー表示を整える</a></li></ol></li><li><a href="#toc23" tabindex="0">Excelとの違い</a></li><li><a href="#toc24" tabindex="0">DGET関数のFAQ</a><ol><li><a href="#toc25" tabindex="0">Q. DGETとVLOOKUPはどちらを使えばいい？</a></li><li><a href="#toc26" tabindex="0">Q. DGETで複数件取得したい場合は？</a></li><li><a href="#toc27" tabindex="0">Q. 条件にワイルドカードは使える？</a></li><li><a href="#toc28" tabindex="0">Q. 大文字・小文字は区別される？</a></li><li><a href="#toc29" tabindex="0">Q. 条件範囲を別シートに置ける？</a></li><li><a href="#toc30" tabindex="0">Q. DGETで近似一致（〜以下の最大値など）はできる？</a></li><li><a href="#toc31" tabindex="0">Q. 関連するデータベース関数は？</a></li></ol></li><li><a href="#toc32" tabindex="0">まとめ</a><ol><li><a href="#toc33" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのDGET関数とは？ &#8212; 条件に合う1件の値を取り出す</span></h2>



<p class="wp-block-paragraph">DGET関数（読み方: ディー ゲット）は、<strong>データベース形式の表から条件に合うレコードを探し、指定した列の値を1つ返す関数</strong>です。</p>



<p class="wp-block-paragraph">名前は「Database GET（データベースから取得）」の略です。<a href="https://mashukabu.com/spreadsheet-dsum-function/">DSUM</a>（条件付き合計）や<a href="https://mashukabu.com/spreadsheet-dcount-function/">DCOUNT</a>（条件付き個数）と同じ「データベース関数」の仲間で、引数の指定方法はファミリー全体で共通です。1つ覚えれば、芋づる式に他のデータベース関数も使えるようになります。</p>



<p class="wp-block-paragraph">DGET関数の特徴をまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>条件をセル範囲（条件範囲）で指定するスタイル</li><li>条件に一致するレコードが<strong>1件だけ</strong>のとき、指定した列の値を返す</li><li>一致するレコードが2件以上あると <strong>#NUM! エラー</strong> になる（仕様）</li><li>一致するレコードが0件だと <strong>#VALUE! エラー</strong> になる</li><li>複数条件（AND条件）にも対応</li><li>比較演算子（<code>></code>・<code><</code>・<code><></code>）やワイルドカードも使える</li><li>見出し付きのリスト形式のデータが前提</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>DGET関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同じ関数があるので、ファイル形式を変換しても式が壊れません。社内でExcel派とスプレッドシート派が混在していても安心して使えます。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc2">DGET関数が活きる場面</span></h3>



<p class="wp-block-paragraph">DGET関数が特に便利なのは、こんなシチュエーションです。</p>



<ul class="wp-block-list"><li><strong>マスターから1件だけピンポイントで取り出したい</strong> -- 顧客IDから氏名、商品コードから単価、社員番号から所属部署、など</li><li><strong>検索キーが左端列にない</strong> -- VLOOKUPでは左端列でしか検索できないため、列の並びを変えずに検索したいときはDGETが便利</li><li><strong>複数条件で1件に絞り込みたい</strong> -- 「部署 × 担当者 × 商品」のように、3つ以上の条件で1レコードを特定したいケース</li><li><strong>検索条件を頻繁に切り替えたい</strong> -- ドロップダウンと組み合わせて検索フォームのような仕組みを作りたい場合</li></ul>



<p class="wp-block-paragraph">逆に、複数件ヒットする可能性がある検索や、近似一致が必要なケースには向きません。そういう場面では<a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>やFILTER関数のほうが適切なので、後ほど使い分けを整理します。</p>



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



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



<pre class="wp-block-code"><code>=DGET(データベース, フィールド, 条件)</code></pre>



<p class="wp-block-paragraph">引数は3つです。すべて必須で、省略はできません。</p>



<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>見出し行を含むデータ範囲（例: A1:D100）</td></tr><tr><td>フィールド</td><td>必須</td><td>値を取得する列の見出し名（文字列）または列番号（数値）</td></tr><tr><td>条件</td><td>必須</td><td>条件を記述したセル範囲（見出し行+条件行）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">それぞれ詳しく見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc6">データベース（第1引数）</span></h3>



<p class="wp-block-paragraph">データベースには、<strong>見出し行を含めたデータ範囲</strong>を指定します。先頭行に列の見出し（「部署」「担当者」「金額」など）が入っている必要があります。見出しがないとフィールドの参照ができないので、必ずヘッダー行を含めてください。</p>



<p class="wp-block-paragraph">データが今後増えていくシートでは、<code>A1:D7</code> のような固定範囲ではなく <code>A1:D</code> のように列指定（最終行を省略）で書くと、行が増えても式を直さずに済みます。ただし範囲全体のスキャンが入るので、シートが極端に巨大なときは固定範囲のほうが軽くなります。</p>



<h3 class="wp-block-heading"><span id="toc7">フィールド（第2引数）</span></h3>



<p class="wp-block-paragraph">取得したい値がある列を指定します。指定方法は2つあります。</p>



<ul class="wp-block-list"><li><strong>文字列で指定</strong>: <code>"金額"</code> のように、見出しと同じ文字列をダブルクォーテーションで囲む</li><li><strong>数値で指定</strong>: データベースの左端列を1として、列の位置を数値で指定する（3列目なら <code>3</code>）</li></ul>



<p class="wp-block-paragraph">文字列で指定するほうが、何の列かわかりやすいのでおすすめです。列の挿入や並び替えがあっても式が壊れにくいというメリットもあります。逆に数値指定だと、列を1つ追加しただけで参照先がズレるので注意してください。</p>



<h3 class="wp-block-heading"><span id="toc8">条件（第3引数）</span></h3>



<p class="wp-block-paragraph">条件範囲には、<strong>見出し行と条件行の2行以上のセル範囲</strong>を指定します。データベース関数に共通する書き方です。</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>フィールドに列番号を使う場合、データベース範囲の左端が1です。シートのA列が1とは限らないので注意してください。たとえば <code>=DGET(C1:F100, 2, ...)</code> ならD列が取得対象になります。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc10">サンプルデータ</span></h3>



<p class="wp-block-paragraph">次のような売上データを使って説明します。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th><th>D</th></tr></thead><tbody><tr><td>1</td><td>部署</td><td>担当者</td><td>商品</td><td>金額</td></tr><tr><td>2</td><td>営業部</td><td>田中</td><td>ノートPC</td><td>150000</td></tr><tr><td>3</td><td>総務部</td><td>鈴木</td><td>プリンター</td><td>35000</td></tr><tr><td>4</td><td>営業部</td><td>佐藤</td><td>モニター</td><td>48000</td></tr><tr><td>5</td><td>経理部</td><td>高橋</td><td>ノートPC</td><td>150000</td></tr><tr><td>6</td><td>営業部</td><td>田中</td><td>キーボード</td><td>8000</td></tr><tr><td>7</td><td>総務部</td><td>伊藤</td><td>モニター</td><td>48000</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc11">条件範囲の設定方法</span></h3>



<p class="wp-block-paragraph">DGET関数の条件は、<strong>別のセル範囲</strong>に書きます。条件範囲の作り方は他のデータベース関数と共通です。</p>



<ol class="wp-block-list"><li><strong>1行目に見出しを書く</strong> -- データベースの見出しと完全に同じ文字列を使う</li><li><strong>2行目に条件値を書く</strong> -- 一致させたい値を入力する</li></ol>



<p class="wp-block-paragraph">たとえば「鈴木」さんの金額を取得したい場合、シートの空いているエリア（たとえばF1:F2）に次のように書きます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th></tr></thead><tbody><tr><td>1</td><td>担当者</td></tr><tr><td>2</td><td>鈴木</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数式はこうなります。</p>



<pre class="wp-block-code"><code>=DGET(A1:D7, &quot;金額&quot;, F1:F2)</code></pre>



<p class="wp-block-paragraph">結果は <strong>35000</strong> です。担当者が「鈴木」のレコードは1件だけなので、その金額が返されます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>条件範囲の見出しは、データベースの見出しと1文字でも違うと正しく動きません。全角・半角やスペースの違いも不一致扱いになります。コピー&ペーストで作ると確実ですよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc12">フィールドを変えるだけで違う列を取得する</span></h3>



<p class="wp-block-paragraph">同じ条件範囲（鈴木）のままフィールドだけ変えれば、別の列の値を一発で取り出せます。</p>



<pre class="wp-block-code"><code>=DGET(A1:D7, &quot;部署&quot;, F1:F2)    → 総務部
=DGET(A1:D7, &quot;商品&quot;, F1:F2)    → プリンター
=DGET(A1:D7, &quot;金額&quot;, F1:F2)    → 35000</code></pre>



<p class="wp-block-paragraph">担当者名から所属・取扱商品・金額をまとめて引き出せるので、検索フォームのようなUIを作るのに便利です。条件セルを書き換えるだけで全部の値が連動して切り替わります。</p>



<h3 class="wp-block-heading"><span id="toc13">比較演算子を使った条件</span></h3>



<p class="wp-block-paragraph">条件値には比較演算子も使えます。</p>



<figure class="wp-block-table"><table><thead><tr><th>条件値の書き方</th><th>意味</th></tr></thead><tbody><tr><td><code>鈴木</code></td><td>「鈴木」と完全一致</td></tr><tr><td><code>>=50000</code></td><td>50,000以上</td></tr><tr><td><code><100000</code></td><td>100,000未満</td></tr><tr><td><code><>営業部</code></td><td>「営業部」以外</td></tr><tr><td><code>>=2024/4/1</code></td><td>2024年4月1日以降（日付列）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ただしDGET関数は<strong>条件に合うレコードが1件だけ</strong>のときに値を返します。比較演算子を使って複数件ヒットすると #NUM! エラーになるので、条件は絞り込みが十分かどうか確認しましょう。「金額が10万円以上」だけだと2件以上ヒットする可能性が高いので、別の列の条件と組み合わせて1件に絞るのがコツです。</p>



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



<h3 class="wp-block-heading"><span id="toc15">複数条件（AND条件）で値を取得する</span></h3>



<p class="wp-block-paragraph">「営業部」かつ「担当者が田中」の商品名を取得したい、というケースです。</p>



<p class="wp-block-paragraph">AND条件は、<strong>条件範囲の同じ行に複数の見出し・条件値を横に並べて</strong>書きます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th><th>G</th></tr></thead><tbody><tr><td>1</td><td>部署</td><td>担当者</td></tr><tr><td>2</td><td>営業部</td><td>田中</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">しかし、このサンプルデータでは営業部の田中さんは2件（ノートPCとキーボード）あるため、このまま実行すると <strong>#NUM! エラー</strong> になります。</p>



<p class="wp-block-paragraph">条件をもう1つ追加して、一意に絞り込みましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th><th>G</th><th>H</th></tr></thead><tbody><tr><td>1</td><td>部署</td><td>担当者</td><td>商品</td></tr><tr><td>2</td><td>営業部</td><td>田中</td><td>キーボード</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=DGET(A1:D7, &quot;金額&quot;, F1:H2)</code></pre>



<p class="wp-block-paragraph">結果は <strong>8000</strong> です。3つの条件すべてに一致するレコードが1件に絞り込まれたので、正しく値が返ります。</p>



<p class="wp-block-paragraph">DGET関数は「結果が1件に絞り込まれること」が大前提です。条件を組み合わせてレコードを一意に特定するのがポイントですよ。</p>



<h3 class="wp-block-heading"><span id="toc16">条件に合うレコードが複数あるときの対処</span></h3>



<p class="wp-block-paragraph">DGET関数で #NUM! エラーが出たら、条件に一致するレコードが2件以上あるということです。対処方法は3つあります。</p>



<ol class="wp-block-list"><li><strong>条件を追加して絞り込む</strong> -- 上の例のように、AND条件で列を増やしてレコードを1件にする</li><li><strong>集計で代用する</strong> -- 合計が欲しければ<a href="https://mashukabu.com/spreadsheet-dsum-function/">DSUM関数</a>、平均なら<a href="https://mashukabu.com/spreadsheet-daverage-function/">DAVERAGE関数</a>、個数なら<a href="https://mashukabu.com/spreadsheet-dcount-function/">DCOUNT関数</a>・<a href="https://mashukabu.com/spreadsheet-dcounta-function/">DCOUNTA関数</a>を使う</li><li><strong>FILTER関数で全件取得する</strong> -- 該当レコードをすべて表示したい場合はFILTER関数が適しています</li></ol>



<p class="wp-block-paragraph">「最大値だけ取り出したい」「最小値だけ取り出したい」というケースなら、<a href="https://mashukabu.com/spreadsheet-dmax-function/">DMAX関数</a>や<a href="https://mashukabu.com/spreadsheet-dmin-function/">DMIN関数</a>に切り替えるのも選択肢です。用途に合わせて使い分けてみてください。</p>



<h3 class="wp-block-heading"><span id="toc17">条件範囲を切り替えて検索対象を変える</span></h3>



<p class="wp-block-paragraph">DGET関数の強みは、条件をセルに書いているため、セルの値を書き換えるだけで取得結果が即座に変わる点です。</p>



<p class="wp-block-paragraph">たとえば条件範囲のF2セルを「鈴木」から「高橋」に変えるだけで、DGET関数の結果が自動的に切り替わります。数式を修正する必要はありません。</p>



<p class="wp-block-paragraph">ドロップダウンリスト（データの入力規則）と組み合わせれば、担当者を選ぶだけで対応する金額が表示される検索フォームのような仕組みが作れますよ。複数のDGET関数を並べておけば、ID入力 → 氏名・所属・連絡先・契約金額がまとめて表示される顧客カードのようなUIも数式だけで実現できます。</p>



<h3 class="wp-block-heading"><span id="toc18">完全一致したいときは ="=○○" の書き方</span></h3>



<p class="wp-block-paragraph">条件値が <code>"営業"</code> だけだと、デフォルトで「営業で始まる」（前方一致）として解釈されます。たとえば「営業部」「営業1課」も拾ってしまうのです。<strong>完全一致</strong>で「営業」だけを拾いたいときは、特殊な記法を使います。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th></tr></thead><tbody><tr><td>1</td><td>部署</td></tr><tr><td>2</td><td><code>="=営業"</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ダブルクォーテーションの中に <code>=営業</code> と書くのがポイントです。これで「営業」と完全一致するレコードだけが対象になります。前方一致のせいで複数件ヒットして #NUM! エラーになるトラブルの定番対策なので、覚えておくと役立ちますよ。</p>



<h2 class="wp-block-heading"><span id="toc19">DGET関数とVLOOKUP・INDEX+MATCHの使い分け</span></h2>



<p class="wp-block-paragraph">スプレッドシートで「条件に合う値を取得する」なら、<a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>やINDEX+MATCHの組み合わせも定番です。どれを選ぶか迷う方が多いので、違いを整理します。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>DGET関数</th><th>VLOOKUP関数</th><th>INDEX+MATCH</th></tr></thead><tbody><tr><td>条件の指定方法</td><td>セル範囲（条件範囲）</td><td>数式の引数に検索値を直接書く</td><td>数式の引数に検索値を直接書く</td></tr><tr><td>検索できる列</td><td>どの列でも条件にできる</td><td>左端列でしか検索できない</td><td>どの列でも検索できる</td></tr><tr><td>複数条件</td><td>条件範囲に列を追加するだけ</td><td>作業列で連結キーが必要</td><td>配列数式で対応可能（やや上級）</td></tr><tr><td>結果が複数件のとき</td><td>#NUM! エラー（1件のみ対応）</td><td>最初に見つかった値を返す</td><td>最初に見つかった値を返す</td></tr><tr><td>結果が0件のとき</td><td>#VALUE! エラー</td><td>#N/A エラー</td><td>#N/A エラー</td></tr><tr><td>近似一致</td><td>非対応</td><td>第4引数で切り替え可能</td><td>MATCH の第3引数で対応</td></tr><tr><td>条件の切り替えやすさ</td><td>セルを書き換えるだけ</td><td>数式を編集する必要あり</td><td>数式を編集する必要あり</td></tr><tr><td>数式の長さ</td><td>短くシンプル</td><td>短い</td><td>やや長い</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>使い分けのポイント</strong>:</p>



<ul class="wp-block-list"><li><strong>「名前で検索して値を1つ取得」のシンプルな用途</strong> → VLOOKUP関数のほうが手軽</li><li><strong>検索列が左端にない、または複数条件で絞り込みたい</strong> → DGET関数が便利</li><li><strong>条件を頻繁に切り替えたい</strong> → DGET関数がおすすめ（セルを変えるだけで結果が変わる）</li><li><strong>該当が複数件あっても最初の1件を取得したい</strong> → VLOOKUP関数 / INDEX+MATCHを使う</li><li><strong>近似一致（〜以下の最大値など）が必要</strong> → VLOOKUP関数 / INDEX+MATCHを使う</li><li><strong>検索キーが右側の列にある</strong> → DGET関数 / INDEX+MATCH</li></ul>



<p class="wp-block-paragraph">実務では、マスターテーブルからの単純な検索にはVLOOKUP関数、複数条件でピンポイントに値を取り出す場面にはDGET関数、と使い分けるとスムーズです。INDEX+MATCHは数式が少し長くなりますが、近似一致と複数条件の両方に対応できる中間的な選択肢として覚えておくと便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc20">他のデータベース関数との連携</span></h2>



<p class="wp-block-paragraph">DGET関数は単独で使うだけでなく、他のデータベース関数と組み合わせると検索ダッシュボードの幅が広がります。同じ条件範囲を使い回せるので、入力欄1つで複数の指標が同時に切り替わる仕組みが作れます。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>役割</th><th>用途例</th></tr></thead><tbody><tr><td><strong>DGET</strong></td><td>条件に合う1件を取得</td><td>顧客IDから氏名・所属を抽出</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dcount-function/">DCOUNT</a></td><td>条件付きで「数値」だけカウント</td><td>該当レコードが何件あるか確認</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dcounta-function/">DCOUNTA</a></td><td>条件付きで「空白以外」をカウント</td><td>担当者がアサイン済みの件数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dsum-function/">DSUM</a></td><td>条件付き合計</td><td>部署別売上合計</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-daverage-function/">DAVERAGE</a></td><td>条件付き平均</td><td>部署別平均単価</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dmax-function/">DMAX</a></td><td>条件付き最大値</td><td>部署別最高売上</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dmin-function/">DMIN</a></td><td>条件付き最小値</td><td>部署別最低売上</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">たとえば「顧客カード」のレポートを作るなら、F1:F2 に「顧客ID / 1001」と書くだけで、氏名（DGET）・所属（DGET）・契約件数（DCOUNT）・売上合計（DSUM）が一気に切り替わります。条件範囲を共有するアーキテクチャはダッシュボード作りの王道です。</p>



<p class="wp-block-paragraph">DGET関数を使う前に「該当レコードが何件あるか」をDCOUNT関数で先にチェックしておくと、#NUM! エラーの予防になります。<code>=IF(DCOUNT(A1:D7,"金額",F1:F2)=1, DGET(A1:D7,"金額",F1:F2), "条件を絞ってください")</code> のようにIFと組み合わせると、エラー表示の代わりにメッセージを出せて親切です。</p>



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



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



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#NUM! エラー</td><td>条件に一致するレコードが2件以上ある</td><td>条件を追加して1件に絞り込む。集計が目的ならDSUM/DAVERAGEを使う</td></tr><tr><td>#VALUE! エラー</td><td>条件に一致するレコードが1件もない</td><td>条件値のスペルミスや全角・半角の違いを確認する</td></tr><tr><td>#VALUE! エラー</td><td>フィールドに存在しない列名を指定している</td><td>データベースの見出しと同じ文字列を使う</td></tr><tr><td>#VALUE! エラー</td><td>引数が不足している（3つ未満）</td><td>データベース・フィールド・条件の3つすべてを指定する</td></tr><tr><td>結果が0や空白</td><td>該当レコードのセルが空白</td><td>データの入力漏れがないか確認する</td></tr><tr><td>想定と違う値が返る</td><td>条件範囲に空白行が含まれている</td><td>条件範囲を必要な行だけに絞る（空白行は「すべて一致」扱い）</td></tr><tr><td>想定と違う値が返る</td><td>前方一致の仕様で意図しないレコードまで拾われている</td><td><code>="=営業部"</code> のように完全一致記法を使う</td></tr><tr><td>条件が部分一致になる</td><td>条件値にワイルドカード <code>*</code> が含まれている</td><td>完全一致にしたい場合は <code>="=鈴木"</code> のように先頭に <code>=</code> を付ける</td></tr><tr><td>想定と違う列が取得される</td><td>フィールドの列番号を間違えている</td><td>列番号ではなく見出し名（文字列）で指定するのがおすすめ</td></tr><tr><td>結果が更新されない</td><td>条件範囲のセルが文字列扱いになっている</td><td>セルの書式を「自動」に戻すか、再入力する</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>DGET関数で最も多いトラブルは #NUM! エラーです。「条件に一致するレコードが何件あるか」を<a href="https://mashukabu.com/spreadsheet-dcount-function/">DCOUNT関数</a>や<a href="https://mashukabu.com/spreadsheet-dcounta-function/">DCOUNTA関数</a>で事前に確認すると、原因の切り分けがスムーズですよ。</p></blockquote>



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



<p class="wp-block-paragraph">DGET関数は #NUM! や #VALUE! エラーが出やすいので、IFERROR関数でラップして表示を整えるのが実務テクニックです。</p>



<pre class="wp-block-code"><code>=IFERROR(DGET(A1:D7, &quot;金額&quot;, F1:F2), &quot;該当なし、または複数該当&quot;)</code></pre>



<p class="wp-block-paragraph">エラーの種類で分岐させたい場合は、IFNA・IFERROR・IF を組み合わせる方法もあります。ダッシュボードに組み込むときは、ユーザーがエラーセルを見て驚かないよう、必ず IFERROR を被せておきましょう。</p>



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



<p class="wp-block-paragraph">DGET関数は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><code>=DGET(database, field, criteria)</code></td><td><code>=DGET(データベース, フィールド, 条件)</code></td></tr><tr><td>動作</td><td>条件に合う値を1つ返す</td><td>条件に合う値を1つ返す</td></tr><tr><td>条件範囲の仕様</td><td>見出し行+条件行</td><td>見出し行+条件行</td></tr><tr><td>複数一致時のエラー</td><td>#NUM!</td><td>#NUM!</td></tr><tr><td>該当なし時のエラー</td><td>#VALUE!</td><td>#VALUE!</td></tr><tr><td>ワイルドカード</td><td>対応</td><td>対応</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数名の表記は日本語と英語で異なりますが、機能は同じです。ExcelでのDGET関数の使い方は<a href="https://mashukabu.com/excel-function-howto-use-dget/">ExcelのDGET関数で条件に一致するレコードを1つ抽出する</a>でも紹介しています。スプレッドシートで作った数式をExcelに持っていっても、引数の中身（範囲・文字列）はそのまま動くので、ファイルをまたいでも安心して使えますよ。</p>



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



<h3 class="wp-block-heading"><span id="toc25">Q. DGETとVLOOKUPはどちらを使えばいい？</span></h3>



<p class="wp-block-paragraph">シンプルな1列検索ならVLOOKUP、複数条件や検索列が右側にあるケースならDGETがおすすめです。条件を頻繁に切り替えるダッシュボードでもDGETが活きます。マスター参照のような単純な用途では、VLOOKUPの方が数式が短くて済みます。</p>



<h3 class="wp-block-heading"><span id="toc26">Q. DGETで複数件取得したい場合は？</span></h3>



<p class="wp-block-paragraph">DGET関数は1件のみ返す仕様なので、複数件取得したい場合は <strong>FILTER関数</strong> や <strong>QUERY関数</strong> に切り替えてください。<code>=FILTER(D2:D7, A2:A7="営業部")</code> のように書けば、条件に合う全レコードを取得できます。</p>



<h3 class="wp-block-heading"><span id="toc27">Q. 条件にワイルドカードは使える？</span></h3>



<p class="wp-block-paragraph">はい、<code>*</code>（任意の文字列）と <code>?</code>（任意の1文字）が使えます。ただしワイルドカードを使うと複数件ヒットしやすくなり #NUM! エラーになりがちです。条件をしっかり絞れる場合だけ使いましょう。</p>



<h3 class="wp-block-heading"><span id="toc28">Q. 大文字・小文字は区別される？</span></h3>



<p class="wp-block-paragraph">DGET関数は<strong>大文字・小文字を区別しません</strong>。<code>apple</code> と <code>APPLE</code> は同じものとして扱われます。完全に区別したい場合は、EXACT関数とFILTER関数を組み合わせる方法に切り替えてください。</p>



<h3 class="wp-block-heading"><span id="toc29">Q. 条件範囲を別シートに置ける？</span></h3>



<p class="wp-block-paragraph">はい、別シートに置いても問題なく動作します。<code>=DGET(売上データ!A1:D7, "金額", 検索フォーム!F1:F2)</code> のように書けば、データシートと検索フォームを分離できます。レイアウトをきれいに保ちたい業務シートではこの構成がおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc30">Q. DGETで近似一致（〜以下の最大値など）はできる？</span></h3>



<p class="wp-block-paragraph">DGET関数は完全一致と比較演算子のみ対応しており、VLOOKUPの近似一致のような「価格表から該当する区分を見つける」動きは苦手です。近似一致が必要な場合は<a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>やINDEX+MATCHを使ってください。</p>



<h3 class="wp-block-heading"><span id="toc31">Q. 関連するデータベース関数は？</span></h3>



<p class="wp-block-paragraph">代表的なものは以下です。条件範囲の作り方はすべて共通なので、まとめて覚えると応用が効きます。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-dcount-function/">DCOUNT</a>: 条件付きで数値の個数をカウント</li><li><a href="https://mashukabu.com/spreadsheet-dcounta-function/">DCOUNTA</a>: 条件付きで空白以外の個数をカウント</li><li><a href="https://mashukabu.com/spreadsheet-dsum-function/">DSUM</a>: 条件付き合計</li><li><a href="https://mashukabu.com/spreadsheet-daverage-function/">DAVERAGE</a>: 条件付き平均</li><li><a href="https://mashukabu.com/spreadsheet-dmax-function/">DMAX</a> / <a href="https://mashukabu.com/spreadsheet-dmin-function/">DMIN</a>: 条件付き最大・最小</li></ul>



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



<p class="wp-block-paragraph">DGET関数は、データベース形式の表から条件に合うレコードの値を1つ取得する関数です。</p>



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



<ul class="wp-block-list"><li>構文は <code>=DGET(データベース, フィールド, 条件)</code> で、引数は3つ</li><li>条件は数式内ではなくセル範囲（条件範囲）に書くのが特徴</li><li>条件に一致するレコードが<strong>1件のときだけ</strong>値を返す（2件以上は #NUM!、0件は #VALUE!）</li><li>複数条件は条件範囲に列を追加してAND条件で絞り込む</li><li>比較演算子（<code>></code>・<code><</code>・<code><></code>）やワイルドカードも使える</li><li>完全一致したいときは <code>="=営業部"</code> の特殊記法を使う</li><li>VLOOKUPは左端列限定だが、DGETはどの列でも条件にできる</li><li>単純な検索にはVLOOKUP、複数条件でピンポイント取得にはDGETがおすすめ</li><li>#NUM! エラーが出たら<a href="https://mashukabu.com/spreadsheet-dcount-function/">DCOUNT関数</a>で該当件数を事前に確認するとスムーズ</li><li>IFERROR関数でラップしてエラー表示を整えるのが実務テクニック</li></ul>



<p class="wp-block-paragraph">まずは簡単な表で <code>=DGET(A1:D7, "金額", F1:F2)</code> から試してみてください。慣れてきたら条件範囲をプルダウンと連動させて、ID1つ入れるだけで顧客カードが切り替わる検索フォームに育てていけますよ。</p>



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



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-dcount-function/">スプレッドシートのDCOUNT関数の使い方｜条件に合う数値の個数</a></li><li><a href="https://mashukabu.com/spreadsheet-dcounta-function/">スプレッドシートのDCOUNTA関数の使い方｜文字列も含めて条件付きカウント</a></li><li><a href="https://mashukabu.com/spreadsheet-dsum-function/">スプレッドシートのDSUM関数の使い方｜条件に合う合計</a></li><li><a href="https://mashukabu.com/spreadsheet-daverage-function/">スプレッドシートのDAVERAGE関数の使い方｜条件に合う平均</a></li><li><a href="https://mashukabu.com/spreadsheet-dmax-function/">スプレッドシートのDMAX関数の使い方｜条件に合う最大値</a></li><li><a href="https://mashukabu.com/spreadsheet-dmin-function/">スプレッドシートのDMIN関数の使い方｜条件に合う最小値</a></li><li><a href="https://mashukabu.com/spreadsheet-vlookup-function/">スプレッドシートのVLOOKUP関数の使い方｜検索して値を取得</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-dget/">ExcelのDGET関数で条件に一致するレコードを1つ抽出する</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-dget-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのISERROR関数の使い方｜エラー判定</title>
		<link>https://mashukabu.com/spreadsheet-iserror-function/</link>
					<comments>https://mashukabu.com/spreadsheet-iserror-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:34:19 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[IFERROR]]></category>
		<category><![CDATA[IF関数]]></category>
		<category><![CDATA[ISERROR]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[エラー判定]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4843</guid>

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



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



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



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




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

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">手順:</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">比較すると次のような違いがあります。</p>



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



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



<p class="wp-block-paragraph">IFERRORでは代替できない、ISERROR関数ならではの使い方があります。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">ISERROR関数はIS系情報関数のひとつです。</p>



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



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



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



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



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



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



<p class="wp-block-paragraph">エラー処理の基本として、ぜひ活用してみてください。</p>



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



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



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



<p class="wp-block-paragraph">条件によって表示を切り替えたい場合は、<a href="https://mashukabu.com/spreadsheet-if-function/">IF関数の使い方</a>を参考にしてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-iserror-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのISNA関数の使い方｜#N/Aエラー判定</title>
		<link>https://mashukabu.com/spreadsheet-isna-function/</link>
					<comments>https://mashukabu.com/spreadsheet-isna-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:34:00 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ISERR]]></category>
		<category><![CDATA[ISERROR]]></category>
		<category><![CDATA[ISNA]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[エラー判定]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4837</guid>

					<description><![CDATA[GoogleスプレッドシートのISNA関数の使い方を初心者向けに解説。#N/AエラーだけをTRUE/FALSEで判定する基本からIF関数との組み合わせ、IFNA関数やISERROR・ISERRとの違い・使い分けまで実務シナリオで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートでVLOOKUPを使っていると、検索値が見つからないときに#N/Aが表示されますよね。</p>



<p class="wp-block-paragraph">#N/Aは「見つからなかった」という意味のエラーです。#VALUE!や#REF!とは性質が違うので、#N/Aだけを個別に検出したいケースは意外と多いものです。</p>



<p class="wp-block-paragraph">「#N/Aかどうかだけをチェックしたい」。そんなときに使えるのがISNA関数です。</p>



<p class="wp-block-paragraph">この記事では基本の書き方からIF関数との組み合わせ、IFNA関数やISERROR・ISERRとの違いまで紹介します。</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関数とは？</a></li><li><a href="#toc2" tabindex="0">ISNA関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li><li><a href="#toc5" tabindex="0">ISNA関数がTRUE/FALSEを返すパターン</a></li></ol></li><li><a href="#toc6" tabindex="0">ISNA関数の基本的な使い方</a><ol><li><a href="#toc7" tabindex="0">#N/Aかどうかを判定する</a></li><li><a href="#toc8" tabindex="0">IF関数と組み合わせて#N/A時の処理を変える</a></li><li><a href="#toc9" tabindex="0">#N/Aを空白に置き換える</a></li><li><a href="#toc10" tabindex="0">条件付き書式で#N/Aセルだけをハイライト</a></li></ol></li><li><a href="#toc11" tabindex="0">実務でのISNA関数活用例</a><ol><li><a href="#toc12" tabindex="0">VLOOKUPで「見つからない」ときだけメッセージを出す</a></li><li><a href="#toc13" tabindex="0">MATCHの検索失敗を検出する</a></li><li><a href="#toc14" tabindex="0">ARRAYFORMULAで全行一括判定</a></li><li><a href="#toc15" tabindex="0">NOT+ISNAで「#N/Aでない行」を抽出</a></li></ol></li><li><a href="#toc16" tabindex="0">ISERROR関数・ISERR関数との違い・使い分け</a><ol><li><a href="#toc17" tabindex="0">3つの関数の判定範囲</a></li><li><a href="#toc18" tabindex="0">どの関数を使うべきか</a></li><li><a href="#toc19" tabindex="0">ISNA関数とIFNA関数の比較</a></li><li><a href="#toc20" tabindex="0">似たエラー判定関数まとめ</a></li><li><a href="#toc21" tabindex="0">ISNAと他のIS系関数</a></li></ol></li><li><a href="#toc22" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc23" tabindex="0">ISNAとISERRORの入力ミスに注意</a></li></ol></li><li><a href="#toc24" tabindex="0">まとめ</a><ol><li><a href="#toc25" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ISNA関数（読み方: イズエヌエー関数）は、<strong>値が#N/Aエラーかどうかを判定する関数</strong>です。</p>



<p class="wp-block-paragraph">名前はIS（〜かどうか）+ NA（Not Available の略）が由来です。</p>



<p class="wp-block-paragraph">セルの値が#N/Aなら <code>=ISNA(A1)</code> はTRUEを返します。#N/A以外のエラーや正常な値に対してはFALSEです。</p>



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



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



<ul class="wp-block-list"><li>セルや数式の結果が#N/Aかどうかを判定する</li><li>IF関数と組み合わせて#N/A時の処理を分岐する</li><li>VLOOKUPの「見つからない」だけを検出する（他のエラーはスルー）</li><li>条件付き書式で#N/Aセルだけを色付けする</li></ul>



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



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



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



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



<p class="wp-block-paragraph">カッコの中に#N/Aかどうかを判定したいセルや数式を指定するだけです。</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>#N/Aかどうかを確認したいセル参照・数式・値（例: A1、VLOOKUP(&#8230;)）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数は1つだけです。値が#N/AならTRUE、それ以外はFALSEを返します。</p>



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



<p class="wp-block-paragraph">どんな値がTRUE（#N/A）と判定されるかを一覧にしました。</p>



<figure class="wp-block-table"><table><thead><tr><th>データの種類</th><th>ISNA</th><th>ISERR</th><th>ISERROR</th><th>違い</th></tr></thead><tbody><tr><td><strong>#N/A</strong></td><td><strong>TRUE</strong></td><td><strong>FALSE</strong></td><td><strong>TRUE</strong></td><td><strong>ISNAとISERRORだけTRUE</strong></td></tr><tr><td>#VALUE!</td><td>FALSE</td><td>TRUE</td><td>TRUE</td><td>ISNAはFALSE</td></tr><tr><td>#REF!</td><td>FALSE</td><td>TRUE</td><td>TRUE</td><td>ISNAはFALSE</td></tr><tr><td>#DIV/0!</td><td>FALSE</td><td>TRUE</td><td>TRUE</td><td>ISNAはFALSE</td></tr><tr><td>#NUM!</td><td>FALSE</td><td>TRUE</td><td>TRUE</td><td>ISNAはFALSE</td></tr><tr><td>#NAME?</td><td>FALSE</td><td>TRUE</td><td>TRUE</td><td>ISNAはFALSE</td></tr><tr><td>#NULL!</td><td>FALSE</td><td>TRUE</td><td>TRUE</td><td>ISNAはFALSE</td></tr><tr><td>数値（0を含む）</td><td>FALSE</td><td>FALSE</td><td>FALSE</td><td>同じ</td></tr><tr><td>文字列</td><td>FALSE</td><td>FALSE</td><td>FALSE</td><td>同じ</td></tr><tr><td>論理値（TRUE/FALSE）</td><td>FALSE</td><td>FALSE</td><td>FALSE</td><td>同じ</td></tr><tr><td>空白セル</td><td>FALSE</td><td>FALSE</td><td>FALSE</td><td>同じ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ISNA関数は#N/Aだけを検出します。他の6種類のエラーには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-iserror-function/">ISERROR関数</a>、#N/A以外のエラーを検出したい場合は<a href="https://mashukabu.com/spreadsheet-iserr-function/">ISERR関数</a>を使います。用途に応じて使い分けてみてください。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc7">#N/Aかどうかを判定する</span></h3>



<p class="wp-block-paragraph">もっともシンプルな使い方です。A1が#N/Aかどうかを確認します。</p>



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



<p class="wp-block-paragraph">A1が#N/AならTRUEを返します。#VALUE!や#REF!などの他のエラーや正常な値ならFALSEです。</p>



<h3 class="wp-block-heading"><span id="toc8">IF関数と組み合わせて#N/A時の処理を変える</span></h3>



<p class="wp-block-paragraph">ISNA関数はIF関数と組み合わせることが多いです。#N/Aのときだけ処理を変えます。</p>



<pre class="wp-block-code"><code>=IF(ISNA(A2), &quot;該当なし&quot;, A2)</code></pre>



<p class="wp-block-paragraph">A2が#N/Aなら「該当なし」と表示します。#N/A以外のエラーや正常な値ならそのまま表示します。</p>



<h3 class="wp-block-heading"><span id="toc9">#N/Aを空白に置き換える</span></h3>



<p class="wp-block-paragraph">VLOOKUPの検索結果で「見つからなかった」ことを非表示にしたいときに使えます。</p>



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



<p class="wp-block-paragraph">B2が#N/Aなら空欄にします。#VALUE!や#REF!はそのまま表示されるので、数式の不具合を見逃しません。</p>



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



<p class="wp-block-paragraph">ISNA関数を条件付き書式に使うと、#N/Aのセルだけを色付けできます。</p>



<p class="wp-block-paragraph">手順:</p>



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



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



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



<p class="wp-block-paragraph">#VALUE!や#REF!のセルはハイライトされません。「検索値が見つからない」セルだけが目立つので、マスタデータの追加漏れを発見できます。</p>



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



<h3 class="wp-block-heading"><span id="toc12">VLOOKUPで「見つからない」ときだけメッセージを出す</span></h3>



<p class="wp-block-paragraph">VLOOKUPの#N/Aは「検索値がマスタにない」という意味です。ISNA関数を使えば、#N/Aだけを検出してメッセージを表示できます。</p>



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



<p class="wp-block-paragraph">#N/Aなら「マスタ未登録」と表示します。#VALUE!や#REF!はそのまま表示されるので、数式の不具合にも気づけます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>#N/Aだけを代替値に置き換えたい場合は、<a href="https://mashukabu.com/spreadsheet-ifna-function/">IFNA関数</a>を使うともっとシンプルです。<code>=IFNA(VLOOKUP(...), "マスタ未登録")</code> で同じ結果になります。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc13">MATCHの検索失敗を検出する</span></h3>



<p class="wp-block-paragraph">MATCH関数も検索値が見つからないと#N/Aを返します。ISNA関数でチェックしましょう。</p>



<pre class="wp-block-code"><code>=IF(ISNA(MATCH(A2, D:D, 0)), &quot;リストになし&quot;, &quot;あり&quot;)</code></pre>



<p class="wp-block-paragraph">A2の値がD列に存在するかどうかを判定します。見つからなければ「リストになし」、見つかれば「あり」と表示します。</p>



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



<p class="wp-block-paragraph">ISNA関数をARRAYFORMULA関数と組み合わせると、1つの数式で全行分を処理できます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(ISBLANK(A2:A), &quot;&quot;, IF(ISNA(B2:B), &quot;該当なし&quot;, B2:B)))</code></pre>



<p class="wp-block-paragraph">A列にデータがある行だけを対象に、B列の#N/Aをチェックします。#N/Aの行は「該当なし」と表示され、他のエラーはそのまま残ります。</p>



<h3 class="wp-block-heading"><span id="toc15">NOT+ISNAで「#N/Aでない行」を抽出</span></h3>



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



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



<p class="wp-block-paragraph">B列が#N/Aでない行だけをフィルタして表示します。#VALUE!や#REF!の行も含まれるので、マッチしたデータと数式エラーの両方を確認できます。</p>



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



<p class="wp-block-paragraph">ISNA関数を理解するには、ISERROR関数とISERR関数との関係を押さえるのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc17">3つの関数の判定範囲</span></h3>



<p class="wp-block-paragraph">3つの関数はエラーの判定範囲が異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>判定対象</th><th>#N/Aの扱い</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-iserror-function/">ISERROR</a></td><td>全7種のエラー</td><td>TRUE（エラー扱い）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-iserr-function/">ISERR</a></td><td>#N/A以外の6種</td><td>FALSE（正常扱い）</td></tr><tr><td><strong>ISNA</strong></td><td><strong>#N/Aのみ</strong></td><td><strong>TRUE（エラー扱い）</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">この3つは次のような関係です。</p>



<pre class="wp-block-code"><code>ISERROR = ISERR + ISNA</code></pre>



<p class="wp-block-paragraph">つまりISERROR関数は、ISERR関数とISNA関数を合わせたものです。</p>



<h3 class="wp-block-heading"><span id="toc18">どの関数を使うべきか</span></h3>



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



<ul class="wp-block-list"><li><strong>全エラーを検出したい</strong> → <a href="https://mashukabu.com/spreadsheet-iserror-function/">ISERROR関数</a></li><li><strong>#N/Aは正常扱い、それ以外のエラーだけ検出したい</strong> → <a href="https://mashukabu.com/spreadsheet-iserr-function/">ISERR関数</a></li><li><strong>#N/Aだけを検出したい</strong> → ISNA関数</li><li><strong>エラー時に代替値を返したい</strong> → <a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a></li><li><strong>#N/A時だけ代替値を返したい</strong> → <a href="https://mashukabu.com/spreadsheet-ifna-function/">IFNA関数</a></li></ul>



<p class="wp-block-paragraph">迷ったらISERROR関数から試してみてください。「#N/Aだけ個別に扱いたい」と感じたらISNA関数に切り替えましょう。</p>



<h3 class="wp-block-heading"><span id="toc19">ISNA関数とIFNA関数の比較</span></h3>



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



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>IF+ISNA</th><th>IFNA</th></tr></thead><tbody><tr><td>構文の長さ</td><td>長い（数式を2回書く）</td><td>短い（数式は1回）</td></tr><tr><td>可読性</td><td>やや複雑</td><td>シンプルで読みやすい</td></tr><tr><td>TRUE/FALSE判定</td><td>できる</td><td>できない</td></tr><tr><td>条件付き書式での利用</td><td>使える</td><td>向かない</td></tr><tr><td>処理速度</td><td>数式が2回評価される</td><td>数式は1回で済む</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">代替値を返すだけならIFNA関数がシンプルです。#N/AかどうかのTRUE/FALSE判定が必要ならISNA関数を使いましょう。</p>



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



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



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



<p class="wp-block-paragraph">ISNA関数はIS系情報関数のひとつです。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>判定内容</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-isblank-function/">ISBLANK</a></td><td>空白かどうか</td></tr><tr><td>ISNUMBER</td><td>数値かどうか</td></tr><tr><td>ISTEXT</td><td>文字列かどうか</td></tr><tr><td>ISLOGICAL</td><td>論理値かどうか</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-iserror-function/">ISERROR</a></td><td>エラーかどうか（全種類）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-iserr-function/">ISERR</a></td><td>エラーかどうか（#N/A除外）</td></tr><tr><td><strong>ISNA</strong></td><td><strong>#N/Aかどうか</strong></td></tr><tr><td>ISFORMULA</td><td>数式が入っているかどうか</td></tr></tbody></table></figure>



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



<h2 class="wp-block-heading"><span id="toc22">よくあるエラーと対処法</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ではなくISERROR関数を使っている</td><td>関数名を <code>ISNA</code> に修正する</td></tr><tr><td>#N/AなのにFALSEになる</td><td>#N/Aではなく「#N/A」という文字列が入っている</td><td>LEN関数でセル内容を確認する</td></tr><tr><td>エラーなのにFALSEになる</td><td>#N/A以外のエラーが入っている（ISNAは#N/AだけTRUE）</td><td>全エラーを検出したい場合はISERROR関数に変更</td></tr><tr><td>TRUEになるがエラーが見えない</td><td>参照先の数式が#N/Aを返している</td><td>数式バーでセルの中身を確認する</td></tr><tr><td>IFと組み合わせても空白にならない</td><td>IF関数の引数の順番が逆</td><td><code>=IF(ISNA(...), 代替値, 正常時の値)</code> の順番を確認する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc23">ISNAとISERRORの入力ミスに注意</span></h3>



<p class="wp-block-paragraph">ISNA関数を使いたいのにISERROR関数を入力してしまうと、#N/A以外のエラーまでTRUEになります。</p>



<ul class="wp-block-list"><li><code>=ISNA(A1)</code> → #N/Aだけを判定</li><li><code>=ISERROR(A1)</code> → 全エラーを判定</li></ul>



<p class="wp-block-paragraph">「#N/Aだけ検出したい」ときに間違えてISERROR関数を使うと、#VALUE!や#REF!もTRUEになってしまいます。関数名をよく確認してから入力しましょう。</p>



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



<p class="wp-block-paragraph">ISNA関数は、セルや数式の結果が#N/AかどうかをTRUE/FALSEで判定する関数です。</p>



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



<ul class="wp-block-list"><li>引数は1つ。#N/AならTRUE、それ以外はFALSE</li><li>#N/Aだけを検出する（他の6種類のエラーにはFALSEを返す）</li><li>VLOOKUPやMATCHの「見つからない」だけを検出したいときに便利</li><li>ISERRORは全エラー、ISERRは#N/A以外。ISNAは#N/Aだけ</li><li>代替値を返すだけならIFNA関数のほうがシンプル</li></ul>



<p class="wp-block-paragraph">#N/Aだけを個別に判定したいときに、ぜひ活用してみてください。</p>



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



<p class="wp-block-paragraph">#N/Aだけを代替値に置き換えたいなら、<a href="https://mashukabu.com/spreadsheet-ifna-function/">IFNA関数の使い方</a>のほうがシンプルです。</p>



<p class="wp-block-paragraph">全エラーを判定したい場合は、<a href="https://mashukabu.com/spreadsheet-iserror-function/">ISERROR関数の使い方</a>をあわせてどうぞ。</p>



<p class="wp-block-paragraph">#N/A以外のエラーだけを判定したい場合は、<a href="https://mashukabu.com/spreadsheet-iserr-function/">ISERR関数の使い方</a>を参考にしてください。</p>



<p class="wp-block-paragraph">条件によって表示を切り替えたい場合は、<a href="https://mashukabu.com/spreadsheet-if-function/">IF関数の使い方</a>も便利です。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-isna-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのLOOKUP関数の使い方｜VLOOKUPとの違いも解説</title>
		<link>https://mashukabu.com/spreadsheet-lookup-function/</link>
					<comments>https://mashukabu.com/spreadsheet-lookup-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:32:50 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[LOOKUP]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[使い分け]]></category>
		<category><![CDATA[検索関数]]></category>
		<category><![CDATA[近似一致]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4815</guid>

					<description><![CDATA[スプレッドシートのLOOKUP関数の使い方を基本から解説。ベクトル形式・配列形式の構文、近似一致を活かしたランク判定・料金区分の実務例、VLOOKUPとの使い分け・FAQまで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「1行だけの表からデータを引きたい」「VLOOKUPほど大げさな関数を使うまでもない」。スプレッドシートで検索をするとき、こんな場面はありませんか。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>や<a href="https://mashukabu.com/spreadsheet-hlookup-function/">HLOOKUP関数</a>は便利ですが、引数が多くて構文もやや長めです。もっとシンプルに書きたいときがありますよね。</p>



<p class="wp-block-paragraph">そんなときに使えるのがLOOKUP関数です。1行または1列の範囲をサッと検索して、対応する値を返してくれます。この記事ではスプレッドシートのLOOKUP関数の基本から、VLOOKUPとの違い・使い分け・よくある質問までわかりやすく紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのLOOKUP関数とは？</a></li><li><a href="#toc2" tabindex="0">LOOKUP関数の書き方（構文と引数）</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">LOOKUP関数の基本的な使い方</a></li><li><a href="#toc6" tabindex="0">LOOKUP関数の実践的な使い方・応用例</a><ol><li><a href="#toc7" tabindex="0">成績ランク判定（近似一致の活用）</a></li><li><a href="#toc8" tabindex="0">送料区分の自動判定</a></li><li><a href="#toc9" tabindex="0">IFERROR関数と組み合わせてエラーを防ぐ</a></li><li><a href="#toc10" tabindex="0">別シートのデータを検索する</a></li><li><a href="#toc11" tabindex="0">最後に一致した値を取得する</a></li><li><a href="#toc12" tabindex="0">担当者ごとの最新ステータスを取り出す</a></li></ol></li><li><a href="#toc13" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc14" tabindex="0">一番多いミス: 検索範囲が昇順でない</a></li></ol></li><li><a href="#toc15" tabindex="0">LOOKUP関数とVLOOKUP関数の違いを徹底比較</a><ol><li><a href="#toc16" tabindex="0">違い1: 検索方向の柔軟性</a></li><li><a href="#toc17" tabindex="0">違い2: 完全一致と近似一致</a></li><li><a href="#toc18" tabindex="0">違い3: 結果の指定方法</a></li><li><a href="#toc19" tabindex="0">違い4: 並べ替えの必要性</a></li><li><a href="#toc20" tabindex="0">検索関数の比較表（HLOOKUP・XLOOKUPも含む）</a></li><li><a href="#toc21" tabindex="0">どの関数を選べばいい？ 判断フロー</a></li></ol></li><li><a href="#toc22" tabindex="0">LOOKUP関数のよくある質問（FAQ）</a><ol><li><a href="#toc23" tabindex="0">Q1. LOOKUP関数とVLOOKUP関数のどちらを覚えればいいですか？</a></li><li><a href="#toc24" tabindex="0">Q2. LOOKUP関数は廃止予定の関数ですか？</a></li><li><a href="#toc25" tabindex="0">Q3. LOOKUP関数で完全一致の検索はできますか？</a></li><li><a href="#toc26" tabindex="0">Q4. LOOKUP関数で大文字・小文字を区別できますか？</a></li><li><a href="#toc27" tabindex="0">Q5. 検索範囲が並べ替えできない場合はどうすればいいですか？</a></li><li><a href="#toc28" tabindex="0">Q6. ExcelのLOOKUP関数と同じように使えますか？</a></li></ol></li><li><a href="#toc29" tabindex="0">まとめ</a><ol><li><a href="#toc30" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">LOOKUP関数（読み方：ルックアップ関数）は、1行または1列の範囲を検索して対応する値を返す関数です。関数名は英語の「Lookup（検索・照合する）」がそのまま由来になっています。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>が「縦方向（Vertical）の表検索」、<a href="https://mashukabu.com/spreadsheet-hlookup-function/">HLOOKUP関数</a>が「横方向（Horizontal）の表検索」に特化しています。一方、LOOKUP関数は<strong>1行/1列のシンプルな範囲</strong>を検索するのが特徴です。</p>



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



<ul class="wp-block-list"><li>1列のデータから対応する値を取得する</li><li>1行のデータから対応する値を取得する</li><li>近似一致でランク判定や料金区分を行う</li><li>検索方向（縦・横）を意識せずに書ける</li></ul>



<p class="wp-block-paragraph">検索範囲が小さい場面では、VLOOKUPより短い数式で済むのがメリットですよ。</p>



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



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



<p class="wp-block-paragraph">LOOKUP関数には2つの書き方があります。実務でよく使うのは「ベクトル形式」です。</p>



<h3 class="wp-block-heading"><span id="toc3">ベクトル形式（基本）</span></h3>



<pre class="wp-block-code"><code>=LOOKUP(検索キー, 検索範囲, 結果範囲)</code></pre>



<p class="wp-block-paragraph">検索範囲から検索キーを探し、結果範囲の同じ位置にある値を返します。VLOOKUPの「列番号」の代わりに、結果範囲を直接指定するイメージです。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>意味</th><th>指定例</th></tr></thead><tbody><tr><td>検索キー</td><td>必須</td><td>探したい値</td><td>A2</td></tr><tr><td>検索範囲</td><td>必須</td><td>検索する1行または1列の範囲</td><td>B2:B100</td></tr><tr><td>結果範囲</td><td>必須</td><td>結果を返す1行または1列の範囲</td><td>C2:C100</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc4">配列形式</span></h3>



<pre class="wp-block-code"><code>=LOOKUP(検索キー, 配列)</code></pre>



<p class="wp-block-paragraph">配列（複数行×複数列の範囲）の最初の行または列を検索し、<strong>最後の行または列</strong>の対応する値を返します。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>意味</th><th>指定例</th></tr></thead><tbody><tr><td>検索キー</td><td>必須</td><td>探したい値</td><td>A2</td></tr><tr><td>配列</td><td>必須</td><td>複数行×複数列の範囲</td><td>B2:D10</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">配列の形によって検索方向が自動で切り替わります。</p>



<ul class="wp-block-list"><li><strong>列数 > 行数</strong>: 最初の行を横方向に検索 → 最後の行の値を返す</li><li><strong>行数 >= 列数</strong>: 最初の列を縦方向に検索 → 最後の列の値を返す</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>LOOKUP関数は<strong>近似一致</strong>で検索します。検索範囲は<strong>昇順に並べ替え済み</strong>であることが前提です。完全一致で検索したい場合は<a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>（第4引数にFALSE）を使ってください。</p></blockquote>



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



<p class="wp-block-paragraph">商品コードから商品名を取得する例で見てみましょう。</p>



<p class="wp-block-paragraph">A列に商品コード（昇順）、B列に商品名が並んでいるとします。D2に入力したコードから商品名を取得するにはこう書きます。</p>



<pre class="wp-block-code"><code>=LOOKUP(D2, A2:A10, B2:B10)</code></pre>



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



<ul class="wp-block-list"><li>D2: 検索キー（入力した商品コード）</li><li>A2:A10: 検索範囲（商品コードの列）</li><li>B2:B10: 結果範囲（商品名の列）</li></ul>



<p class="wp-block-paragraph">D2に「P-003」と入力すると、A列から「P-003」以下の最大値を探します。そして同じ行のB列の値を返してくれます。</p>



<p class="wp-block-paragraph">配列形式で書くと、さらに短くなります。</p>



<pre class="wp-block-code"><code>=LOOKUP(D2, A2:B10)</code></pre>



<p class="wp-block-paragraph">A2:B10の最初の列（A列）を検索し、最後の列（B列）の値を返します。結果は同じですが、引数が1つ減ってスッキリしますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>検索範囲が昇順でないと、正しい結果が返りません。データを事前に並べ替えておくか、<a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>（完全一致）を使いましょう。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc7">成績ランク判定（近似一致の活用）</span></h3>



<p class="wp-block-paragraph">LOOKUP関数の近似一致は、スコアに応じたランク判定で力を発揮します。</p>



<p class="wp-block-paragraph">F列に境界値（昇順）、G列にランクを用意します。</p>



<figure class="wp-block-table"><table><thead><tr><th>F列（境界値）</th><th>G列（ランク）</th></tr></thead><tbody><tr><td>0</td><td>D</td></tr><tr><td>60</td><td>C</td></tr><tr><td>70</td><td>B</td></tr><tr><td>80</td><td>A</td></tr><tr><td>90</td><td>S</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">点数が入ったB2セルからランクを判定するにはこう書きます。</p>



<pre class="wp-block-code"><code>=LOOKUP(B2, F2:F6, G2:G6)</code></pre>



<p class="wp-block-paragraph">B2が「75」なら、F列から75以下の最大値「70」を見つけます。そして対応するG列の「B」を返してくれます。</p>



<p class="wp-block-paragraph">VLOOKUPで同じことをするには <code>=VLOOKUP(B2, F2:G6, 2, TRUE)</code> と書きます。LOOKUP関数のほうが引数が少なくて直感的ですね。</p>



<h3 class="wp-block-heading"><span id="toc8">送料区分の自動判定</span></h3>



<p class="wp-block-paragraph">ECサイトの管理シートなどで、注文金額に応じた送料を自動判定する場面にも使えます。</p>



<figure class="wp-block-table"><table><thead><tr><th>H列（金額の境界値）</th><th>I列（送料）</th></tr></thead><tbody><tr><td>0</td><td>800</td></tr><tr><td>3000</td><td>500</td></tr><tr><td>5000</td><td>300</td></tr><tr><td>10000</td><td>0</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">注文金額がC2セルに入っているとき、送料を求めるにはこう書きます。</p>



<pre class="wp-block-code"><code>=LOOKUP(C2, H2:H5, I2:I5)</code></pre>



<p class="wp-block-paragraph">C2が「4500」なら、H列から4500以下の最大値「3000」を見つけます。対応するI列の「500」（送料500円）が返ります。<a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>をネストして書くより、はるかにシンプルですよ。</p>



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



<p class="wp-block-paragraph">LOOKUP関数は検索キーが検索範囲の最小値より小さいと#N/Aエラーを返します。<a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a>で囲めば、エラー時に代わりの値を表示できます。</p>



<pre class="wp-block-code"><code>=IFERROR(LOOKUP(D2, A2:A10, B2:B10), &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">実務では「該当なし」や空文字「&#8221;&#8221;」を指定するケースが多いです。検索系の数式には、IFERRORをセットで使う習慣をつけておくと安心ですよ。</p>



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



<p class="wp-block-paragraph">検索先が別シートにある場合は、シート名のあとに「!」をつけます。</p>



<pre class="wp-block-code"><code>=LOOKUP(A2, マスタ!B:B, マスタ!C:C)</code></pre>



<p class="wp-block-paragraph">シート名に空白を含む場合はシングルクォーテーションで囲みます。</p>



<pre class="wp-block-code"><code>=LOOKUP(A2, '商品 マスタ'!B:B, '商品 マスタ'!C:C)</code></pre>



<p class="wp-block-paragraph">別シートの範囲をマウスで選択すると、シート名と「!」が自動で入力されます。手入力よりもミスが減るのでおすすめです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>別シートを参照する検索は、<a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>でも同じ書き方です。マスタテーブルを別シートに置いて管理するのは、スプレッドシートの定番パターンですよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc11">最後に一致した値を取得する</span></h3>



<p class="wp-block-paragraph">LOOKUP関数には「検索キー以下の最大値を返す」という特性があります。これを利用すると、重複データの中から<strong>最後に一致した値</strong>を取得できます。</p>



<p class="wp-block-paragraph">たとえばA列に担当者名、B列に対応日付が並んでいるとします。担当者「田中」の最新の対応日付を取得するにはこう書きます。</p>



<pre class="wp-block-code"><code>=LOOKUP(2, 1/(A2:A100=&quot;田中&quot;), B2:B100)</code></pre>



<p class="wp-block-paragraph">ちょっとむずかしく見えますが、やっていることはシンプルです。</p>



<ul class="wp-block-list"><li><code>A2:A100="田中"</code> → 条件に一致するセルはTRUE（1）、それ以外はFALSE（0）</li><li><code>1/TRUE</code> → 1、<code>1/FALSE</code> → エラー（ゼロ除算）</li><li>LOOKUP関数はエラーをスキップして、最後の「1」の位置に対応するB列の値を返す</li></ul>



<p class="wp-block-paragraph">この使い方はVLOOKUPでは実現できません。LOOKUP関数ならではのテクニックです。特定の条件に合う最新データを取り出したいときに重宝しますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">担当者ごとの最新ステータスを取り出す</span></h3>



<p class="wp-block-paragraph">「最後に一致した値を取得する」テクニックは、進捗管理シートでも便利です。A列に担当者、B列にステータス（着手前/対応中/完了）が時系列で並んでいるとします。</p>



<p class="wp-block-paragraph">担当者「鈴木」の最新ステータスを取り出すにはこう書きます。</p>



<pre class="wp-block-code"><code>=LOOKUP(2, 1/(A2:A100=&quot;鈴木&quot;), B2:B100)</code></pre>



<p class="wp-block-paragraph">新しい行が下に追加されていく前提の表なら、ピボットテーブルを作らなくても1行の数式で最新値が拾えます。日々のデータ更新が多い管理シートで重宝するテクニックですよ。</p>



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



<p class="wp-block-paragraph">LOOKUP関数で発生しやすいエラーをまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#N/A</td><td>検索キーが検索範囲の最小値より小さい</td><td>データを確認するか、IFERRORで囲む</td></tr><tr><td>#N/A</td><td>検索範囲が昇順でない</td><td>検索範囲を昇順に並べ替える</td></tr><tr><td>#REF!</td><td>検索範囲と結果範囲のサイズが異なる</td><td>両方の範囲を同じ行数（または列数）に揃える</td></tr><tr><td>#VALUE!</td><td>検索キーが空白</td><td>検索キーのセルにデータを入力する</td></tr><tr><td>間違った値が返る</td><td>検索範囲が昇順でない</td><td>昇順に並べ替えるか、VLOOKUPの完全一致を使う</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc14">一番多いミス: 検索範囲が昇順でない</span></h3>



<p class="wp-block-paragraph">LOOKUP関数でもっとも多いトラブルが「検索範囲が昇順になっていない」ケースです。近似一致専用の関数なので、昇順でないと<strong>間違った値を返すことがあります</strong>。</p>



<p class="wp-block-paragraph">厄介なのは、エラーにならず誤った結果が返る場合があること。見た目上は正常に動いているように見えるため、気づきにくい点に注意してください。</p>



<p class="wp-block-paragraph">対処法は2つあります。</p>



<ol class="wp-block-list"><li><strong>検索範囲を昇順に並べ替える</strong>: データ入力時にルール化しておくのがおすすめです</li><li><strong>完全一致の関数に切り替える</strong>: 以下の関数を使いましょう</li></ol>



<ul class="wp-block-list"><li><strong>1列の表を縦方向に検索</strong> → <a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>（第4引数にFALSE）</li><li><strong>1行の表を横方向に検索</strong> → <a href="https://mashukabu.com/spreadsheet-hlookup-function/">HLOOKUP関数</a>（第4引数にFALSE）</li><li><strong>方向を問わず柔軟に検索</strong> → <a href="https://mashukabu.com/spreadsheet-xlookup/">XLOOKUP関数</a></li></ul>



<h2 class="wp-block-heading"><span id="toc15">LOOKUP関数とVLOOKUP関数の違いを徹底比較</span></h2>



<p class="wp-block-paragraph">「LOOKUPとVLOOKUPはどう違うの？」という疑問は、検索関数を学び始めた方からよく聞かれます。両者の違いを4つの観点で整理します。</p>



<h3 class="wp-block-heading"><span id="toc16">違い1: 検索方向の柔軟性</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>は<strong>縦方向（列方向）の検索専用</strong>です。一方、LOOKUP関数は1行でも1列でも検索できます。</p>



<p class="wp-block-paragraph">配列形式を使えば、検索範囲の形に応じて方向が自動で切り替わるのが特徴です。横方向のデータを検索したい場合、VLOOKUPでは対応できません。LOOKUP関数なら範囲指定を変えるだけでOKです。</p>



<h3 class="wp-block-heading"><span id="toc17">違い2: 完全一致と近似一致</span></h3>



<p class="wp-block-paragraph">VLOOKUPは第4引数で<strong>完全一致（FALSE）</strong>と<strong>近似一致（TRUE）</strong>を選べます。商品コードや社員番号のような「ピッタリ一致するものだけを探したい」場面に向いています。</p>



<p class="wp-block-paragraph">LOOKUP関数は<strong>近似一致のみ</strong>です。検索キーと完全に一致しなくても、検索キー以下の最大値を返します。「○○以上△△未満」の区間判定が得意な反面、完全一致が必要な場面では使えません。</p>



<h3 class="wp-block-heading"><span id="toc18">違い3: 結果の指定方法</span></h3>



<pre class="wp-block-code"><code>=LOOKUP(D2, A2:A10, C2:C10)
=VLOOKUP(D2, A2:C10, 3, FALSE)</code></pre>



<p class="wp-block-paragraph">LOOKUPは結果範囲（C2:C10）を直接指定します。VLOOKUPは検索範囲全体（A2:C10）を指定して、3列目を番号で指定します。</p>



<p class="wp-block-paragraph">列の挿入・削除があったとき、VLOOKUPは列番号がずれるリスクがあります。LOOKUPは結果範囲を直接指定するので、列の増減に強いのがメリットです。</p>



<h3 class="wp-block-heading"><span id="toc19">違い4: 並べ替えの必要性</span></h3>



<p class="wp-block-paragraph">LOOKUPは近似一致専用のため、検索範囲を<strong>昇順に並べ替えておく必要があります</strong>。データの順序がそのまま結果に影響します。</p>



<p class="wp-block-paragraph">VLOOKUPは完全一致（FALSE）を指定すれば、検索範囲が並べ替えられていなくても正しい結果を返します。実務では完全一致が基本なので、この点はVLOOKUPの大きなメリットです。</p>



<h3 class="wp-block-heading"><span id="toc20">検索関数の比較表（HLOOKUP・XLOOKUPも含む）</span></h3>



<p class="wp-block-paragraph">スプレッドシートには検索関数が複数あります。「どれを使えばいいの？」と迷う方も多いですよね。それぞれの特徴を比較表で整理します。</p>



<figure class="wp-block-table"><table><thead><tr><th>特徴</th><th>LOOKUP</th><th><a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP</a></th><th><a href="https://mashukabu.com/spreadsheet-hlookup-function/">HLOOKUP</a></th><th><a href="https://mashukabu.com/spreadsheet-xlookup/">XLOOKUP</a></th></tr></thead><tbody><tr><td>検索方向</td><td>1行/1列（自動判定）</td><td>縦方向のみ</td><td>横方向のみ</td><td>縦・横どちらも可</td></tr><tr><td>一致方式</td><td>近似一致のみ</td><td>完全一致/近似一致</td><td>完全一致/近似一致</td><td>完全一致/近似一致</td></tr><tr><td>結果の指定方法</td><td>結果範囲を直接指定</td><td>列番号で指定</td><td>行番号で指定</td><td>戻り範囲を直接指定</td></tr><tr><td>左方向・上方向の検索</td><td>可能（範囲指定次第）</td><td>不可</td><td>不可</td><td>可能</td></tr><tr><td>エラー時の既定値</td><td>IFERROR必要</td><td>IFERROR必要</td><td>IFERROR必要</td><td>引数で指定可</td></tr><tr><td>複数列を一括で返す</td><td>不可</td><td>不可</td><td>不可</td><td>可能</td></tr><tr><td>数式の長さ</td><td>短い</td><td>普通</td><td>普通</td><td>やや長い</td></tr><tr><td>並べ替えの前提</td><td>必要（昇順）</td><td>FALSEなら不要</td><td>FALSEなら不要</td><td>不要</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc21">どの関数を選べばいい？ 判断フロー</span></h3>



<p class="wp-block-paragraph">検索関数を選ぶときは、次の順番で考えるとスムーズです。</p>



<p class="wp-block-paragraph"><strong>ステップ1: 完全一致か近似一致か？</strong></p>



<p class="wp-block-paragraph">まず「探している値とピッタリ一致するものを見つけたいか」を考えます。商品コードや社員番号など、一致するものだけを探したい場合は<strong>完全一致</strong>です。実務の9割はこちらに該当します。</p>



<p class="wp-block-paragraph">完全一致なら → <a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>（第4引数にFALSE）が最も一般的です。</p>



<p class="wp-block-paragraph"><strong>ステップ2: 近似一致ならLOOKUP関数</strong></p>



<p class="wp-block-paragraph">ランク判定や料金区分など「○○以上△△未満」の区間で判定したい場合は<strong>近似一致</strong>です。LOOKUP関数の出番ですよ。</p>



<p class="wp-block-paragraph"><strong>ステップ3: 特殊な要件があるか？</strong></p>



<ul class="wp-block-list"><li>横方向のデータを検索 → <a href="https://mashukabu.com/spreadsheet-hlookup-function/">HLOOKUP関数</a></li><li>左方向の検索や複数列の取得 → <a href="https://mashukabu.com/spreadsheet-xlookup/">XLOOKUP関数</a></li><li>検索位置を柔軟に指定 → <a href="https://mashukabu.com/spreadsheet-index-function/">INDEX関数</a> + <a href="https://mashukabu.com/spreadsheet-match-function/">MATCH関数</a>の組み合わせ</li></ul>



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



<h3 class="wp-block-heading"><span id="toc23">Q1. LOOKUP関数とVLOOKUP関数のどちらを覚えればいいですか？</span></h3>



<p class="wp-block-paragraph">実務でまず覚えるべきは<a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>です。完全一致で検索できるので、商品コードや社員番号といったID検索の場面で使えます。</p>



<p class="wp-block-paragraph">LOOKUP関数は「近似一致でランクや区分を判定する」という特定の場面に強い関数です。VLOOKUPに慣れてから、必要に応じて使い分けていけば十分ですよ。</p>



<h3 class="wp-block-heading"><span id="toc24">Q2. LOOKUP関数は廃止予定の関数ですか？</span></h3>



<p class="wp-block-paragraph">廃止予定ではありません。LOOKUP関数はGoogleスプレッドシート・Excel双方で標準サポートされており、引き続き利用できます。</p>



<p class="wp-block-paragraph">ただし、より柔軟な<a href="https://mashukabu.com/spreadsheet-xlookup/">XLOOKUP関数</a>が登場した現在、新規にデータ参照を組むなら XLOOKUP を選ぶ方がメリットが多いケースもあります。既存シートの保守ではLOOKUPをそのまま使い、新規ならXLOOKUPを検討する、という使い分けがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc25">Q3. LOOKUP関数で完全一致の検索はできますか？</span></h3>



<p class="wp-block-paragraph">LOOKUP関数だけでは完全一致は実現できません。LOOKUPは構造上、近似一致専用の関数です。</p>



<p class="wp-block-paragraph">完全一致で検索したい場合は、<a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>・<a href="https://mashukabu.com/spreadsheet-hlookup-function/">HLOOKUP関数</a>・<a href="https://mashukabu.com/spreadsheet-xlookup/">XLOOKUP関数</a>のいずれかを使ってください。これらは引数で完全一致を指定できます。</p>



<h3 class="wp-block-heading"><span id="toc26">Q4. LOOKUP関数で大文字・小文字を区別できますか？</span></h3>



<p class="wp-block-paragraph">LOOKUP関数は大文字・小文字を区別しません。「APPLE」と「apple」は同じ値として扱われます。</p>



<p class="wp-block-paragraph">大文字・小文字を区別して検索したい場合は、別途EXACT関数などを組み合わせる方法があります。区別が必要な場面はあまり多くありませんが、システムIDなど大文字小文字に意味があるデータでは注意しましょう。</p>



<h3 class="wp-block-heading"><span id="toc27">Q5. 検索範囲が並べ替えできない場合はどうすればいいですか？</span></h3>



<p class="wp-block-paragraph">並べ替えができない（元データを並び替えたくない）場合は、LOOKUP関数の使用は避けましょう。代わりに<a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>（完全一致FALSE）や<a href="https://mashukabu.com/spreadsheet-xlookup/">XLOOKUP関数</a>を使うのがおすすめです。</p>



<p class="wp-block-paragraph">これらは並べ替え不要で正しく動作します。元の表の並びを保ったまま検索したいときに重宝しますよ。</p>



<h3 class="wp-block-heading"><span id="toc28">Q6. ExcelのLOOKUP関数と同じように使えますか？</span></h3>



<p class="wp-block-paragraph">はい、ExcelとGoogleスプレッドシートのLOOKUP関数は構文・動作ともにほぼ同じです。ExcelファイルとGoogleスプレッドシートでデータをやり取りしても、LOOKUP関数の数式はそのまま動作します。</p>



<p class="wp-block-paragraph">互換性の高さは、検索関数の中でもLOOKUPの強みのひとつです。</p>



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



<p class="wp-block-paragraph">スプレッドシートのLOOKUP関数のポイントを振り返ります。</p>



<ul class="wp-block-list"><li>構文は <code>=LOOKUP(検索キー, 検索範囲, 結果範囲)</code> の3引数が基本</li><li>近似一致専用のため、検索範囲は<strong>昇順に並べ替え済み</strong>が前提</li><li>ランク判定や料金区分など、近似一致が必要な場面で活躍する</li><li>完全一致で検索したい場合は<a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>や<a href="https://mashukabu.com/spreadsheet-xlookup/">XLOOKUP関数</a>を使う</li><li>「最後に一致した値を取得する」テクニックはLOOKUP関数ならではの活用法</li><li><a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a>とセットで使うとエラー対策も安心</li></ul>



<p class="wp-block-paragraph">まずはランク判定のような近似一致の場面で使ってみてください。VLOOKUPとの使い分けがわかると、検索関数の選択肢がグッと広がりますよ。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-vlookup-function/">スプレッドシートのVLOOKUP関数の使い方｜別シート参照・エラー対処まで解説</a></li><li><a href="https://mashukabu.com/spreadsheet-hlookup-function/">スプレッドシートのHLOOKUP関数の使い方｜横方向検索の基本と応用</a></li><li><a href="https://mashukabu.com/spreadsheet-xlookup/">スプレッドシートのXLOOKUP関数の使い方｜VLOOKUPとの違いも解説</a></li><li><a href="https://mashukabu.com/spreadsheet-index-function/">スプレッドシートのINDEX関数の使い方｜行列指定で値取得</a></li><li><a href="https://mashukabu.com/spreadsheet-match-function/">スプレッドシートのMATCH関数の使い方｜相対位置を返す</a></li><li><a href="https://mashukabu.com/spreadsheet-iferror-function/">スプレッドシートのIFERROR関数の使い方｜エラー処理</a></li><li><a href="https://mashukabu.com/spreadsheet-if-function/">スプレッドシートのIF関数の使い方｜条件分岐の基本</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-lookup-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
