<?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, 02 Jul 2026 08:59:57 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</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集計・検索が合わない原因5つと直し方</title>
		<link>https://mashukabu.com/excel-aggregation-search-mismatch/</link>
					<comments>https://mashukabu.com/excel-aggregation-search-mismatch/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 20 Jun 2026 10:37:06 +0000</pubDate>
				<category><![CDATA[仕事効率化]]></category>
		<category><![CDATA[COUNTIF]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[SUMIF]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[データ品質]]></category>
		<category><![CDATA[トラブルシューティング]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=8057</guid>

					<description><![CDATA[ExcelのSUMIF・COUNTIF・VLOOKUPが0や#N/Aを返す原因の多くは、数式ではなくデータ側にあります。文字列数値・見えない空白・全角半角・似た文字・手動計算の5パターンを症状別の早見表と3ステップ診断で特定し、VALUE・TRIM・ASCなどで直す方法と再発防止策まで解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">こんな経験はありませんか。</p>



<ul class="wp-block-list"><li>SUMIFで合計したのに結果が0のまま</li><li>VLOOKUPで探した値が、表のなかにちゃんとあるのに#N/Aが返る</li><li>COUNTIFで数えたのに、見るからに該当データがあるのに0件と表示される</li></ul>



<p class="wp-block-paragraph">式の書き方は何度見直しても合っているのに、結果だけが合わない。締め切り間際の集計作業でこれをやられると、本当に泣きたくなりますよね。</p>



<p class="wp-block-paragraph">実はこの「式は正しいのに結果が合わない」現象、原因のほとんどは数式ではなくデータの側にあります。セルに入っている値が、見た目は同じでも内部的には別物になっているのです。</p>



<p class="wp-block-paragraph">数値に見えて実は文字列だったり、目に見えない空白が紛れ込んでいたり、全角と半角が混ざっていたり。SUMIFもVLOOKUPもCOUNTIFも、この「データの品質」が崩れていると、まったく同じ理由でそろって結果が狂います。</p>



<p class="wp-block-paragraph">この記事では、集計・検索が合わない原因を5パターンに整理し、冒頭の早見表で「いまの症状からどの原因か」を一気に絞り込めるようにしました。さらに各原因には「見分け方」「その場で直す処置」「再発防止」の3段構えで対処法を用意しています。</p>



<p class="wp-block-paragraph">最後に、どのセルを疑えばいいか3ステップでたどり着ける診断フローも置きました。同僚にこっそり教えてもらう感覚で、上から順に読み進めてください。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>対応バージョン</strong>: Microsoft 365 / Excel 2021 / 2019 / 2016 / Excel for the Web（Web版）で確認しています。原因と関数の挙動はどのバージョンでも共通ですが、緑の三角（エラーインジケーター）や「区切り位置」機能はデスクトップ版のみで、Web版では使えません。その都度本文で補足します。</p></blockquote>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">【早見表】症状×関数×原因5パターン一覧</a><ol><li><a href="#toc2" tabindex="0">どの原因か3ステップで絞り込む（診断フロー）</a></li></ol></li><li><a href="#toc3" tabindex="0">原因①：数値が文字列として保存されている</a><ol><li><a href="#toc4" tabindex="0">見分け方：セルの左揃え・緑の三角・ISNUMBER確認</a></li><li><a href="#toc5" tabindex="0">直し方：VALUE関数・貼り付け形式・エラーインジケーター</a></li><li><a href="#toc6" tabindex="0">再発防止：入力書式の統一とコピペルール</a></li></ol></li><li><a href="#toc7" tabindex="0">原因②：前後に見えない空白が混入している</a><ol><li><a href="#toc8" tabindex="0">見分け方：LENで文字数を確認する</a></li><li><a href="#toc9" tabindex="0">直し方：TRIM・SUBSTITUTE+CHAR(160)で除去</a></li><li><a href="#toc10" tabindex="0">再発防止：Webコピペ禁止・入力規則の活用</a></li></ol></li><li><a href="#toc11" tabindex="0">原因③・④：全角半角や似た文字が混在している（見た目が同じでも別物）</a><ol><li><a href="#toc12" tabindex="0">原因③：全角・半角の混在</a></li><li><a href="#toc13" tabindex="0">原因④：似ている文字の混入（○と〇、ーと―）</a></li></ol></li><li><a href="#toc14" tabindex="0">原因⑤：Excelが手動計算モードになっている</a><ol><li><a href="#toc15" tabindex="0">見分け方：数式タブ→計算方法の確認</a></li><li><a href="#toc16" tabindex="0">直し方：自動計算に切り替え・F9で即時再計算</a></li></ol></li><li><a href="#toc17" tabindex="0">よくある質問（FAQ）</a><ol><li><a href="#toc18" tabindex="0">SUMIF・COUNTIF・VLOOKUPで原因が同じなのはなぜ？</a></li><li><a href="#toc19" tabindex="0">XLOOKUPでも同じ問題は起きる？</a></li><li><a href="#toc20" tabindex="0">一度直したのにまた合わなくなった理由は？</a></li><li><a href="#toc21" tabindex="0">TRIMで空白を消したのに、まだ集計が合いません</a></li><li><a href="#toc22" tabindex="0">Web版のExcelを使っています。緑の三角や区切り位置が見当たりません</a></li><li><a href="#toc23" tabindex="0">どの原因か当たりがつきません。最短の確認順は？</a></li></ol></li><li><a href="#toc24" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">【早見表】症状×関数×原因5パターン一覧</span></h2>



<p class="wp-block-paragraph">まずは、いま起きている症状を下の表で探してください。横軸に「症状」、縦軸に「使っている関数」を取り、交わるマスに疑うべき原因コード（A〜E）を入れてあります。原因コードからそのまま該当セクションへジャンプできます。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数＼症状</th><th>合計・件数が0になる</th><th>#N/A（見つからない）</th><th>部分的にしかカウント・集計されない</th></tr></thead><tbody><tr><td><strong>SUMIF</strong></td><td>A・B・C</td><td>―</td><td>B・C・D</td></tr><tr><td><strong>COUNTIF</strong></td><td>A・B・C</td><td>―</td><td>B・C・D</td></tr><tr><td><strong>VLOOKUP / XLOOKUP</strong></td><td>―</td><td>A・B・C・D</td><td>B・C・D</td></tr><tr><td><strong>すべての関数共通</strong></td><td>E（結果が古いまま）</td><td>E</td><td>E</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">原因コードの意味は次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>コード</th><th>原因</th><th>ひと言で言うと</th><th>該当セクション</th></tr></thead><tbody><tr><td><strong>A</strong></td><td>数値が文字列として保存されている</td><td>数字に見えて実は文字</td><td>原因①</td></tr><tr><td><strong>B</strong></td><td>前後に見えない空白が混入している</td><td>余計なスペースで別物扱い</td><td>原因②</td></tr><tr><td><strong>C</strong></td><td>全角・半角が混在している</td><td>「A」と「Ａ」は別の文字</td><td>原因③</td></tr><tr><td><strong>D</strong></td><td>似ている文字が混入している</td><td>「○」と「〇」、「ー」と「―」</td><td>原因④</td></tr><tr><td><strong>E</strong></td><td>Excelが手動計算モードになっている</td><td>計算結果が更新されていない</td><td>原因⑤</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">表を見ると分かるとおり、SUMIF・COUNTIF・VLOOKUPは別々の関数なのに、つまずく原因（A〜D）はほぼ共通です。これらはすべて「セルの値どうしを照合する」という同じ仕組みで動いているため、照合のもとになるデータが汚れていると、関数の種類に関係なくそろって失敗します。</p>



<p class="wp-block-paragraph">だからこそ、関数を疑う前にまずデータを疑ってみてください。</p>



<p class="wp-block-paragraph">特に多いのが原因①（文字列数値）と原因②（空白）の2つです。心当たりがなければ、まずこの2つから確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc2">どの原因か3ステップで絞り込む（診断フロー）</span></h3>



<p class="wp-block-paragraph">早見表を見ても原因を絞れないときは、次の3ステップを上から順にたどってください。1つのセルを対象に確認していくだけで、原因①〜④のどれかにたどり着けます（原因⑤の手動計算は、先に<code>F9</code>を押して結果が変われば即判定できるので、最初に除外しておくとスムーズです）。</p>



<p class="wp-block-paragraph"><strong>ステップ1：セルの配置（左揃え）でデータ型を疑う</strong></p>



<p class="wp-block-paragraph">まず、合わないデータが入っているセルの配置を見ます。書式を変えていないのに数字が左揃えなら、文字列数値（原因①）の可能性が高いです。確証を得るには<code>ISNUMBER</code>を使いましょう。</p>



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



<p class="wp-block-paragraph"><code>FALSE</code>が返れば文字列数値です。原因①へ進んでください。数値が右揃えで<code>TRUE</code>なら、データ型は正常なので次のステップへ進みます。</p>



<p class="wp-block-paragraph"><strong>ステップ2：LENで文字数の異常を確認</strong></p>



<p class="wp-block-paragraph">次に、文字数を確認します。想定より多ければ、空白（原因②）や余計な文字が混入しています。</p>



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



<p class="wp-block-paragraph">この値が0より大きければ、除去できる半角スペースが入っています。0なのに合わない場合は、全角スペースやノーブレークスペースの可能性があるため、<code>=LEN(A2)</code>の素の文字数を「正しいはずの文字数」と見比べてください。</p>



<p class="wp-block-paragraph">差があれば原因②（空白）へ。文字数が想定どおりなら、最後のステップへ進みます。</p>



<p class="wp-block-paragraph"><strong>ステップ3：UNICODEで文字コードを確認</strong></p>



<p class="wp-block-paragraph">文字数は合っているのに照合できない。ここまで来たら、原因は全角・半角（原因③）か似た文字（原因④）に絞られます。怪しい文字を1文字切り出して、文字コードを確認します。</p>



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



<pre class="wp-block-code"><code>=EXACT(A2,B2)</code></pre>



<p class="wp-block-paragraph">正しいはずのセルと<code>UNICODE</code>の値を比べて違えば、全角・半角か似た文字の不一致です。<code>EXACT</code>で2セルを厳密比較し、<code>FALSE</code>なら原因③または④へ進んで<code>ASC</code>/<code>JIS</code>または<code>SUBSTITUTE</code>で直してください。</p>



<p class="wp-block-paragraph">迷ったら、左揃え→<code>LEN</code>→<code>UNICODE</code>の順、とだけ覚えておけば十分です。</p>



<p class="wp-block-paragraph">それでは原因を1つずつ見ていきましょう。</p>



<h2 class="wp-block-heading"><span id="toc3">原因①：数値が文字列として保存されている</span></h2>



<p class="wp-block-paragraph">いちばん多いのがこれ。セルに「1000」と入っているのに、Excelはそれを「数値の1000」ではなく「文字としての&#8221;1000&#8243;」として持っている状態。会計システムやWebからコピーした数字、CSVを取り込んだデータでよく起こります。</p>



<p class="wp-block-paragraph">SUMIFやSUM、COUNTIFの数値条件は「数値」を前提に動くため、中身が文字列だと合計の対象から外れて0になります。VLOOKUPでも、検索する側が数値・探される側が文字列（またはその逆）だと、見た目が同じ「1000」でも一致せず#N/Aになります。</p>



<p class="wp-block-paragraph">Microsoftの公式でも、検索値を扱うときは「最初の列のデータがテキストとして保存されていないこと」を確認するよう明記されています。</p>



<h3 class="wp-block-heading"><span id="toc4">見分け方：セルの左揃え・緑の三角・ISNUMBER確認</span></h3>



<p class="wp-block-paragraph">最初の手がかりは<strong>セル内での配置</strong>。Excelでは数値は自動で右揃え、文字列は左揃えで表示されます。書式を何も変えていないのに数字が左に寄っていたら、文字列数値を疑ってください。</p>



<p class="wp-block-paragraph">デスクトップ版なら、該当セルの左上に<strong>緑の三角（エラーインジケーター）</strong>が出ることもあります。ただしこの緑の三角はデスクトップ版だけの機能で、Excel Web版では表示されません。</p>



<p class="wp-block-paragraph">確実に判定したいときは<code>ISNUMBER</code>関数を使います。</p>



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



<p class="wp-block-paragraph"><code>A2</code>が本物の数値なら<code>TRUE</code>、文字列数値なら<code>FALSE</code>が返ります。範囲をまとめて見たいときは、空いた列に下までコピーすれば、どのセルが文字列なのか一目で分かるはず。</p>



<pre class="wp-block-code"><code>=ISNUMBER(A2)
=ISNUMBER(A3)
=ISNUMBER(A4)</code></pre>



<p class="wp-block-paragraph"><code>FALSE</code>が並んでいたら、それが0や#N/Aの正体です。</p>



<h3 class="wp-block-heading"><span id="toc5">直し方：VALUE関数・貼り付け形式・エラーインジケーター</span></h3>



<p class="wp-block-paragraph">文字列数値を本物の数値に変えるには、<code>VALUE</code>関数を使うのが最も確実で、デスクトップ版・Web版どちらでも使えます。</p>



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



<p class="wp-block-paragraph">これで<code>"1000"</code>という文字列が、計算に使える数値<code>1000</code>に変換されます。変換した列をコピーして、元の列に「値貼り付け」で戻せば、以降の集計はもう狂いません。</p>



<p class="wp-block-paragraph">デスクトップ版限定の手早い方法もあります。緑の三角が出ているセル範囲を選択し、表示されるエラーインジケーターのボタンから<strong>「数値に変換」</strong>をクリックするだけです。複数セルを一括で直せます。</p>



<p class="wp-block-paragraph">また「データ」→「区切り位置」→そのまま「完了」でも数値化できますが、こちらもデスクトップ版のみで、Web版では使えません。Web版で作業しているなら<code>VALUE</code>関数が基本の手段になります。</p>



<p class="wp-block-paragraph">変換方法をもっと詳しく知りたい場合は、<a href="https://mashukabu.com/excel-number-stored-as-text-convert/">Excelで文字列を数値に変換する4つの方法</a>で、貼り付け形式や区切り位置の手順まで個別に解説しています。</p>



<h3 class="wp-block-heading"><span id="toc6">再発防止：入力書式の統一とコピペルール</span></h3>



<p class="wp-block-paragraph">再発を防ぐには、データの入口をそろえるのが効果的です。</p>



<ul class="wp-block-list"><li>数値を入れる列は、あらかじめ表示形式を「標準」または「数値」に設定しておく</li><li>Webやシステムからコピーするときは、一度メモ帳などのプレーンテキストを経由してから貼ると、余計な書式が落ちる</li><li>CSV取り込み時は、取り込み後に必ず<code>ISNUMBER</code>で1セルだけ抜き取りチェックする習慣をつける</li></ul>



<p class="wp-block-paragraph">なお、逆に「数値を文字列の見た目（桁区切りやゼロ埋め）で表示したい」場合は、データ自体を文字列に変えるのではなく<code>TEXT</code>関数で表示だけ整えるのが安全です。詳しくは<a href="https://mashukabu.com/excel-function-howto-use-text/">TEXT関数の使い方</a>を参照してください。集計に使う元データはあくまで数値のまま保つのがコツです。</p>



<h2 class="wp-block-heading"><span id="toc7">原因②：前後に見えない空白が混入している</span></h2>



<p class="wp-block-paragraph">「東京」と「東京 」（末尾に空白）は、人間の目には同じでもExcelには別の文字列です。VLOOKUPはこの2つを一致と見なさず#N/Aを返し、SUMIFやCOUNTIFも条件に一致しないものとして集計対象から外します。</p>



<p class="wp-block-paragraph">空白はコピペや手入力で簡単に紛れ込むうえ、画面上はまったく見えないため、最も気づきにくい原因。</p>



<p class="wp-block-paragraph">Microsoftの公式でも、#N/Aエラーの主要因として「セル内の余分なスペース」が挙げられ、COUNTIFの注意書きにも「先頭・末尾のスペースで予期しない結果になる」と記載されています。</p>



<h3 class="wp-block-heading"><span id="toc8">見分け方：LENで文字数を確認する</span></h3>



<p class="wp-block-paragraph">空白の有無は<code>LEN</code>関数（文字数を数える関数）で炙り出せます。次の式を使ってください。</p>



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



<p class="wp-block-paragraph"><code>TRIM</code>は半角スペースを取り除く関数なので、「元の文字数」と「空白を取った文字数」の差を見れば、除去できる半角スペースが何個入っているか分かります。結果が0より大きければ、そのセルには余計な半角空白がある証拠。</p>



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



<p class="wp-block-paragraph">単純に<code>LEN(A2)</code>だけでも、想定より文字数が多ければ何かが混入していると判断できます。<code>LEN</code>関数そのものの使い方は<a href="https://mashukabu.com/excel-function-howto-use-len/">LEN関数の使い方</a>で詳しく解説しています。</p>



<h3 class="wp-block-heading"><span id="toc9">直し方：TRIM・SUBSTITUTE+CHAR(160)で除去</span></h3>



<p class="wp-block-paragraph">定番は<code>TRIM</code>関数。</p>



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



<p class="wp-block-paragraph">ただし、ここに重要な落とし穴があります。<strong><code>TRIM</code>が除去するのは半角スペース（文字コード32）だけ</strong>です。Microsoft公式も「7ビットASCIIスペース文字（値32）のみを対象」と明記しており、<strong>全角スペースは<code>TRIM</code>では消えません</strong>。</p>



<p class="wp-block-paragraph">これを知らずに「TRIMしたのに直らない」とハマる人が非常に多いところです。</p>



<p class="wp-block-paragraph">全角スペースが原因の場合は、先に<code>SUBSTITUTE</code>で全角スペースを半角に置き換えてから<code>TRIM</code>を掛けます。</p>



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



<p class="wp-block-paragraph"><code>SUBSTITUTE(A2,"　"," ")</code>の部分で全角スペース（&#8221;　&#8221;）を半角スペース（&#8221; &#8220;）に変換し、それを<code>TRIM</code>で除去する流れです。</p>



<p class="wp-block-paragraph">もう一つ厄介なのが、Webサイトからコピーしたときに混入する<code>CHAR(160)</code>（ノーブレークスペース、改行されない特殊な空白）です。これも<code>TRIM</code>では除去できません。次のように個別に消します。</p>



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



<p class="wp-block-paragraph">印刷できない制御文字（改行コードなど、文字コード0〜31）が原因なら<code>CLEAN</code>関数が有効です。</p>



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



<p class="wp-block-paragraph">ただし<code>CLEAN</code>も万能ではなく、対象は文字コード0〜31の制御文字だけです。<code>CHAR(160)</code>のノーブレークスペースは文字コードが160なので<code>CLEAN</code>では消えません。</p>



<p class="wp-block-paragraph">「<code>TRIM</code>でも<code>CLEAN</code>でも直らない空白」に遭遇したら、<code>CHAR(160)</code>を<code>SUBSTITUTE</code>で個別除去する、と覚えておくと迷いません。空白の見分け方や5パターンの対処は<a href="https://mashukabu.com/excel-blank-cell-not-counted/">Excelで空白セルがカウントされない5パターンと対処法</a>にまとめてあります。</p>



<h3 class="wp-block-heading"><span id="toc10">再発防止：Webコピペ禁止・入力規則の活用</span></h3>



<ul class="wp-block-list"><li>Webやメールからの直接コピペは、空白混入の最大の発生源です。一度メモ帳などのプレーンテキストに貼ってから持ってくると、ノーブレークスペースや制御文字が落ちます</li><li>マスタとして使う表（VLOOKUPの参照先など）は、取り込み時に全列へまとめて<code>TRIM</code>+<code>SUBSTITUTE</code>を掛けてから値貼り付けしておく</li><li>キーになる列にはデータの入力規則を設定し、想定外の文字数・形式が入らないようにする</li></ul>



<h2 class="wp-block-heading"><span id="toc11">原因③・④：全角半角や似た文字が混在している（見た目が同じでも別物）</span></h2>



<p class="wp-block-paragraph">商品コードや型番が「同じはずなのに一致しない」とき、犯人は文字そのものの違いです。全角・半角の混在（原因③）と、見た目がそっくりな別文字の混入（原因④）は、どちらも照合を静かに壊します。</p>



<p class="wp-block-paragraph">原因は近いので、続けて見分け方と直し方を押さえましょう。</p>



<h3 class="wp-block-heading"><span id="toc12">原因③：全角・半角の混在</span></h3>



<p class="wp-block-paragraph">「Ａ１２３」（全角）と「A123」（半角）は、人間には同じに見えてもExcelにとっては完全に別の文字列です。商品コードや型番、電話番号などで全角と半角が混ざると、VLOOKUPは一致せず#N/A、SUMIF・COUNTIFも条件に合わずカウント漏れを起こします。</p>



<p class="wp-block-paragraph">特に複数人で入力する台帳や、IMEの設定がバラバラな環境で起こりがち。</p>



<h4 class="wp-block-heading">見分け方：EXACT関数で厳密比較</h4>



<p class="wp-block-paragraph">「同じはずなのに一致しない」2つのセルを突き合わせるには<code>EXACT</code>関数が便利です。</p>



<pre class="wp-block-code"><code>=EXACT(A2,B2)</code></pre>



<p class="wp-block-paragraph"><code>EXACT</code>は大文字小文字も全角半角も区別して厳密に比較し、完全一致なら<code>TRUE</code>、少しでも違えば<code>FALSE</code>を返します。見た目が同じなのに<code>FALSE</code>が出たら、全角・半角の違い（あるいは後述の似た文字や空白）が潜んでいる証拠。</p>



<h4 class="wp-block-heading">直し方：ASC/JIS関数で統一</h4>



<p class="wp-block-paragraph">全角・半角の不一致は、どちらかに統一すれば一発で解決します。半角にそろえるなら<code>ASC</code>関数、全角にそろえるなら<code>JIS</code>関数を使います。</p>



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



<p class="wp-block-paragraph"><code>ASC</code>は全角の英数字・カタカナを半角に変換します。「Ａ１２３」→「A123」のようにそろうので、コードや型番は半角に統一するケースが多いでしょう。</p>



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



<p class="wp-block-paragraph"><code>JIS</code>は逆に半角の英数字・カタカナを全角に変換します。検索する側（数式）と探される側（マスタ）の両方に同じ関数を掛けて、土俵をそろえるのがポイントです。</p>



<p class="wp-block-paragraph">注意点として、<code>ASC</code>は全角スペース・漢字・ひらがなは変換しません。また<code>JIS</code>を使うと半角スペースが全角スペースに変わるので、空白問題（原因②）と組み合わさっているときは処理の順番に気をつけてください。</p>



<p class="wp-block-paragraph">なお<code>JIS</code>関数はExcel専用で、Google Sheetsには存在しません（この記事はExcelの話です）。</p>



<h4 class="wp-block-heading">再発防止：入力規則でIMEモードを固定</h4>



<ul class="wp-block-list"><li>商品コードや型番の列は、データの入力規則で<strong>日本語入力（IME）を「半角英数」に固定</strong>しておくと、全角混入をそもそも防げます</li><li>既存の台帳には、取り込み時に<code>ASC</code>または<code>JIS</code>を全体へ掛けて一度そろえてしまう</li><li>複数人で更新する表は、入力ルールを「英数字は半角」と明文化して共有する</li></ul>



<h3 class="wp-block-heading"><span id="toc13">原因④：似ている文字の混入（○と〇、ーと―）</span></h3>



<p class="wp-block-paragraph">全角・半角よりさらに厄介なのが、<strong>見た目はほぼ同じなのに文字コードが違う文字</strong>です。代表例は次の3組。</p>



<ul class="wp-block-list"><li>丸記号の「○」（白丸）と「〇」（漢数字のゼロ）</li><li>長音の「ー」（音引き）と「―」（ダッシュ）と「‐」（ハイフン）</li><li>マイナス記号の「-」（半角ハイフン）と「−」（全角マイナス）と「‐」（ハイフン）</li></ul>



<p class="wp-block-paragraph">これらは画面上では区別がほとんどつきませんが、Excelには別の文字です。VLOOKUPで「データーセンター」を探しているのに台帳が「データ―センター」（長音がダッシュ）になっていると、当然#N/Aになります。</p>



<h4 class="wp-block-heading">見分け方：CODEで文字コードを確認</h4>



<p class="wp-block-paragraph">文字コードを直接確認すれば、似た文字を見破れるはず。<code>CODE</code>関数は最初の1文字の文字コードを返します。</p>



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



<p class="wp-block-paragraph">ただし<code>CODE</code>はANSI（環境依存の文字セット）のコードを返すため、似た記号の判別にはより広範囲をカバーする<code>UNICODE</code>関数のほうが確実です。</p>



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



<p class="wp-block-paragraph">一致しないはずの2セルでそれぞれ<code>UNICODE</code>を取り、値が違えば「見た目は同じでも別の文字」と確定できます。文字列の途中の文字を調べたいときは、<code>MID</code>で1文字を切り出してから<code>UNICODE</code>に渡しましょう。</p>



<pre class="wp-block-code"><code>=UNICODE(MID(A2,3,1))</code></pre>



<p class="wp-block-paragraph">これで3文字目の文字コードが分かります。「ここの長音だけ怪しい」というときに、ピンポイントで犯人を特定できます。</p>



<h4 class="wp-block-heading">直し方：SUBSTITUTE で正規文字に置換</h4>



<p class="wp-block-paragraph">似た文字は<code>SUBSTITUTE</code>で正しい文字に置き換えます。たとえばダッシュ「―」を長音「ー」に直すなら、次のとおり。</p>



<pre class="wp-block-code"><code>=SUBSTITUTE(A2,&quot;―&quot;,&quot;ー&quot;)</code></pre>



<p class="wp-block-paragraph">複数の似た文字をまとめて直したいときは、<code>SUBSTITUTE</code>を入れ子にします。</p>



<pre class="wp-block-code"><code>=SUBSTITUTE(SUBSTITUTE(A2,&quot;〇&quot;,&quot;○&quot;),&quot;―&quot;,&quot;ー&quot;)</code></pre>



<p class="wp-block-paragraph">内側から順に処理され、まず「〇」を「○」に、次に「―」を「ー」に置換します。直したい文字の種類が増えても、入れ子を重ねれば対応できます。置換後の列を値貼り付けでマスタに反映すれば、以降の照合が安定するはず。</p>



<h4 class="wp-block-heading">再発防止：リスト入力で自由記述を禁止</h4>



<ul class="wp-block-list"><li>似た文字の混入は「手入力で人によって変換候補が違う」ことが原因です。選択肢が決まっている列は、データの入力規則の<strong>リスト</strong>で選ばせ、自由記述をやめると根本から防げます</li><li>既存データは、よく混入する似た文字（○／〇、ー／―）を一覧化し、取り込み時に<code>SUBSTITUTE</code>で一括正規化するテンプレートを用意しておく</li></ul>



<h2 class="wp-block-heading"><span id="toc14">原因⑤：Excelが手動計算モードになっている</span></h2>



<p class="wp-block-paragraph">ここまでの①〜④はデータの中身が原因でしたが、原因⑤だけは設定の問題です。<strong>Excelの計算方法が「手動」になっている</strong>と、データを直しても数式を入れ直しても、画面の結果が古いままで更新されません。</p>



<p class="wp-block-paragraph">「直したはずなのに合わない」と感じる場合、実は値は正しく、表示だけが追いついていないケースがあります。</p>



<p class="wp-block-paragraph">マクロ付きファイルを開いたときや、重い表で動作を軽くするために誰かが切り替えたまま、という形で手動モードになっていることがよくあります。</p>



<h3 class="wp-block-heading"><span id="toc15">見分け方：数式タブ→計算方法の確認</span></h3>



<p class="wp-block-paragraph">確認は数式タブから行います。</p>



<ol class="wp-block-list"><li>リボンの「数式」タブを開く</li><li>右端の「計算方法の設定」をクリック</li><li>「手動」にチェックが入っていれば、それが原因です</li></ol>



<p class="wp-block-paragraph">簡単な切り分けとして、適当なセルで<code>F9</code>キーを押してみて、それまで変わらなかった結果が一斉に更新されたら、手動計算モードで間違いありません。</p>



<h3 class="wp-block-heading"><span id="toc16">直し方：自動計算に切り替え・F9で即時再計算</span></h3>



<p class="wp-block-paragraph">直し方は2つです。</p>



<ol class="wp-block-list"><li><strong>設定を「自動」に戻す</strong>：「数式」タブ→「計算方法の設定」→「自動」を選びます。これ以降は値を変えるたびに自動で再計算されます</li><li><strong>その場で再計算する</strong>：いますぐ結果を更新したいだけなら<code>F9</code>キーを押します。<code>Shift+F9</code>は現在のシートだけ、<code>Ctrl+Alt+F9</code>はすべてのシートを強制的に再計算します</li></ol>



<p class="wp-block-paragraph">ふだんは「自動」で運用するのがおすすめ。設定を戻したうえで、念のため<code>F9</code>で一度全体を更新しておくと安心です。</p>



<p class="wp-block-paragraph">なお、計算されない症状は手動計算モード以外にも、文字列書式・先頭のアポストロフィ・数式表示モードなど複数の原因があります。当てはまらないときは<a href="https://mashukabu.com/excel-formula-not-calculating/">Excelの数式が計算されない7つの原因と直し方</a>で原因の全体像を確認してください。</p>



<h2 class="wp-block-heading"><span id="toc17">よくある質問（FAQ）</span></h2>



<h3 class="wp-block-heading"><span id="toc18">SUMIF・COUNTIF・VLOOKUPで原因が同じなのはなぜ？</span></h3>



<p class="wp-block-paragraph">これらの関数はすべて「セルの値どうしを照合する」という共通の仕組みで動いているからです。SUMIFは条件と一致する値を、COUNTIFは数える対象を、VLOOKUPは検索値を、それぞれ「比較」して合致したものを処理します。</p>



<p class="wp-block-paragraph">照合のもとになる値が文字列数値・空白・全角半角・似た文字で汚れていると、どの関数でも「一致しない」と判定され、そろって0や#N/Aになります。関数を疑う前に、まずデータを疑ってみてください。</p>



<h3 class="wp-block-heading"><span id="toc19">XLOOKUPでも同じ問題は起きる？</span></h3>



<p class="wp-block-paragraph">起きます。XLOOKUPはVLOOKUPより新しく高機能な関数ですが、「値を照合する」仕組み自体は同じです。検索する側が数値・探される側が文字列だったり、空白や全角半角が混在していれば、XLOOKUPでも一致せず、結果（既定では#N/A、または指定した「見つからない場合」の値）が返ります。</p>



<p class="wp-block-paragraph">XLOOKUPに乗り換えてもデータ品質の問題は解決しないので、この記事の対処はそのまま有効。なおXLOOKUPはMicrosoft 365 / Excel 2021以降とWeb版で使え、古い版では<code>#NAME?</code>になります。</p>



<h3 class="wp-block-heading"><span id="toc20">一度直したのにまた合わなくなった理由は？</span></h3>



<p class="wp-block-paragraph">多くは「元データが更新されたとき、新しく入ったデータに同じ汚れが再混入した」ためです。VALUEやTRIMで直せるのは、あくまでその時点のデータだけ。マスタや集計元の表に毎月データを継ぎ足す運用だと、追加分にまた文字列数値や空白が紛れ込みます。</p>



<p class="wp-block-paragraph">だからこそ各原因の「再発防止」が重要で、入力規則やコピペルールで入口をふさいでおくと、直し直しの無限ループから抜け出せます。</p>



<h3 class="wp-block-heading"><span id="toc21">TRIMで空白を消したのに、まだ集計が合いません</span></h3>



<p class="wp-block-paragraph"><code>TRIM</code>が除去するのは半角スペース（文字コード32）だけだからです。全角スペースやノーブレークスペース（CHAR(160)）は<code>TRIM</code>では消えません。</p>



<p class="wp-block-paragraph"><code>=TRIM(SUBSTITUTE(A2,"　"," "))</code>で全角スペースを、<code>=TRIM(SUBSTITUTE(A2,CHAR(160)," "))</code>でノーブレークスペースを処理してください。</p>



<p class="wp-block-paragraph">それでも残る制御文字は<code>CLEAN</code>で除去できますが、<code>CLEAN</code>も対象は文字コード0〜31だけで、CHAR(160)は消えない点に注意が必要です。</p>



<h3 class="wp-block-heading"><span id="toc22">Web版のExcelを使っています。緑の三角や区切り位置が見当たりません</span></h3>



<p class="wp-block-paragraph">エラーインジケーター（緑の三角）と「区切り位置」機能は、デスクトップ版のExcel専用です。Excel for the Web（Web版）には用意されていません。Web版で文字列数値を直すときは<code>VALUE</code>関数を使ってください。</p>



<p class="wp-block-paragraph"><code>ISNUMBER</code>・<code>LEN</code>・<code>TRIM</code>・<code>SUBSTITUTE</code>・<code>ASC</code>・<code>JIS</code>・<code>UNICODE</code>はWeb版でも使えるので、この記事の確認・修正のほとんどはWeb版だけで完結できます。</p>



<h3 class="wp-block-heading"><span id="toc23">どの原因か当たりがつきません。最短の確認順は？</span></h3>



<p class="wp-block-paragraph">まず<code>F9</code>を押して結果が変わるか見てください（変われば原因⑤）。変わらなければ、合わないセルで「左揃えか→<code>ISNUMBER</code>」（原因①）、「<code>LEN</code>で文字数の異常」（原因②）、「<code>UNICODE</code>または<code>EXACT</code>で文字の違い」（原因③・④）の順に確認します。</p>



<p class="wp-block-paragraph">この記事の診断フローがそのままチェックリストになっているので、上から順にたどれば必ずどれかに行き着きます。</p>



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



<p class="wp-block-paragraph">Excelで集計や検索が合わないとき、犯人は数式ではなくデータであることがほとんどです。SUMIF・COUNTIF・VLOOKUPがそろって0や#N/Aを返すのは、これらが同じ「値の照合」で動いているからで、照合のもとになるデータが汚れていれば関数の種類を問わず失敗します。</p>



<p class="wp-block-paragraph">原因は5つに整理できます。</p>



<ul class="wp-block-list"><li>①数値が文字列として保存されている</li><li>②前後に見えない空白が混入している</li><li>③全角・半角が混在している</li><li>④似ている文字が混入している</li><li>⑤手動計算モードになっている</li></ul>



<p class="wp-block-paragraph">冒頭の早見表で症状から原因を絞り、各セクションの「見分け方→直し方→再発防止」で対処してください。</p>



<p class="wp-block-paragraph">迷ったら診断フローの3ステップ（左揃え確認→<code>LEN</code>→<code>UNICODE</code>）を上から順にたどれば、原因にたどり着けます。そして直したあとは「再発防止」で入口をふさぐこと。これで「式は合っているのに結果が合わない」という消耗戦から、すっきり卒業できます。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-aggregation-search-mismatch/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>源泉徴収票の見方とExcelでの作り方｜各欄を関数で転記</title>
		<link>https://mashukabu.com/excel-withholding-slip-create/</link>
					<comments>https://mashukabu.com/excel-withholding-slip-create/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 20 Jun 2026 10:36:41 +0000</pubDate>
				<category><![CDATA[仕事効率化]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[SUMIF]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[年末調整]]></category>
		<category><![CDATA[源泉徴収票]]></category>
		<category><![CDATA[給与計算]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=8047</guid>

					<description><![CDATA[源泉徴収票の見方から、給与台帳データをExcel関数（VLOOKUP・SUMIF・ROUND）で転記するシートの作り方まで解説します。金額が合わない3パターンの原因と対処法も、給与所得控除や税額の具体的な数値例つきでわかります。少人数事務所で総務・経理を兼任する方に向けた実務ガイドです。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「源泉徴収票を見ても、どの数字が何を意味しているのかよくわからない」。「給与台帳から手作業で転記していて、毎年金額が合わずに苦労している」。少人数の事業所で総務や経理を兼任していると、こうした疑問を同僚に聞きにくいまま抱えがちです。</p>



<p class="wp-block-paragraph">結論から言うと、源泉徴収票で最初に押さえるべきは<strong>主要4欄の意味と計算の順番</strong>です。4欄とは「支払金額・給与所得控除後の金額・所得控除の額の合計額・源泉徴収税額」の4つ。この関係さえわかれば、票の読み方は一気にクリアになります。</p>



<p class="wp-block-paragraph">給与台帳がExcelで整っていれば、各欄への転記は VLOOKUP・SUMIF・ROUND といった基本関数で自動化できます。</p>



<p class="wp-block-paragraph">この記事では、各欄の見方を表で整理したうえで、給与台帳から関数で転記する手順と「金額が合わない」典型パターンの対処法を解説します。想定するのは Excel中級（SUM・VLOOKUPが使える）レベル。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>対応バージョン</strong>: 本文の VLOOKUP・SUMIF・ROUND・INT・IFERROR は Excel Web版・365・2019 すべてで動作します。XLOOKUP は Excel 2021以降・365 限定のため、補足扱いとしています。</p></blockquote>




  <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">源泉徴収票とは｜誰が作成しどう使うのか</a><ol><li><a href="#toc2" tabindex="0">発行義務があるのは会社側</a></li><li><a href="#toc3" tabindex="0">使う場面（確定申告・転職・ローン審査）</a></li></ol></li><li><a href="#toc4" tabindex="0">源泉徴収票の見方｜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">所得控除の額の合計額（年末調整で集計した控除合計）</a></li><li><a href="#toc8" tabindex="0">源泉徴収税額（実際に源泉徴収した所得税額）</a></li><li><a href="#toc9" tabindex="0">社会保険料等の金額（健保・厚生年金・雇用保険の合計）</a></li></ol></li><li><a href="#toc10" tabindex="0">給与台帳→源泉徴収票をExcel関数で転記する手順</a><ol><li><a href="#toc11" tabindex="0">入力シートの列設計（給与台帳の想定レイアウト）</a></li><li><a href="#toc12" tabindex="0">支払金額の集計式（SUMIF）</a></li><li><a href="#toc13" tabindex="0">社会保険料等の金額の転記式（VLOOKUP / INDEX+MATCH）</a></li><li><a href="#toc14" tabindex="0">源泉徴収税額の転記と端数処理（ROUND / INT）</a></li><li><a href="#toc15" tabindex="0">エラー対策（IFERROR でゼロ件でも安全に）</a></li><li><a href="#toc16" tabindex="0">年末調整結果との突合チェック</a></li></ol></li><li><a href="#toc17" tabindex="0">金額が合わない3パターンと対処法</a><ol><li><a href="#toc18" tabindex="0">① 端数処理のズレ（円未満切り捨てルール）</a></li><li><a href="#toc19" tabindex="0">② 社会保険料に事業主負担分が混入している</a></li><li><a href="#toc20" tabindex="0">③ 年途中退職者の控除が誤って適用されている</a></li></ol></li><li><a href="#toc21" tabindex="0">よくある質問（FAQ）</a><ol><li><a href="#toc22" tabindex="0">源泉徴収票はいつもらえる？</a></li><li><a href="#toc23" tabindex="0">前職分と合算する場合は？</a></li><li><a href="#toc24" tabindex="0">Excelで作った票は正式書類として使える？</a></li></ol></li><li><a href="#toc25" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">源泉徴収票とは｜誰が作成しどう使うのか</span></h2>



<p class="wp-block-paragraph">源泉徴収票とは、1年間に支払った給与の総額と、そこから天引きした所得税額などをまとめた書類です。1月から12月までの実績を1枚に集約します。</p>



<h3 class="wp-block-heading"><span id="toc2">発行義務があるのは会社側</span></h3>



<p class="wp-block-paragraph">源泉徴収票は、給与を支払った<strong>会社（事業主）が作成して従業員に交付する義務</strong>があります。従業員が自分で作るものではありません。少人数の事業所では、専任の経理担当がいなくても、総務や事務の担当者が年末調整とあわせて作成するケースがよくあります。</p>



<h3 class="wp-block-heading"><span id="toc3">使う場面（確定申告・転職・ローン審査）</span></h3>



<p class="wp-block-paragraph">従業員が源泉徴収票を使う主な場面は次の3つです。</p>



<ul class="wp-block-list"><li><strong>確定申告</strong>: 医療費控除や副業収入の申告などで、給与所得の証明として使います。確定申告まわりの実務は<a href="https://mashukabu.com/excel-medical-expense-deduction/">医療費控除の確定申告をExcelで管理する</a>もあわせてどうぞ。</li><li><strong>転職</strong>: 年の途中で転職した場合、前職の源泉徴収票を新しい勤務先に提出して合算してもらいます。</li><li><strong>ローン審査・賃貸契約</strong>: 収入証明として提出を求められます。</li></ul>



<p class="wp-block-paragraph">作成側としては、従業員がこれらの場面で困らないよう、正確な金額を記載することが大切です。</p>



<h2 class="wp-block-heading"><span id="toc4">源泉徴収票の見方｜4つの主要欄を押さえる</span></h2>



<p class="wp-block-paragraph">源泉徴収票にはたくさんの欄がありますが、全体像をつかむには次の4欄を順番に追うのが近道です。<strong>上から順に、年収から控除を引いて税額を求めていく流れ</strong>になっています。</p>



<figure class="wp-block-table"><table><thead><tr><th>欄の名称</th><th>意味</th><th>計算の元になるもの</th></tr></thead><tbody><tr><td>① 支払金額</td><td>年間の給与・賞与・手当の合計（いわゆる年収）。社会保険料や所得税を引く前の総支払額</td><td>毎月の給与・賞与の総支給額</td></tr><tr><td>② 給与所得控除後の金額</td><td>①から給与所得控除を差し引いた金額（＝給与所得）</td><td>① − 給与所得控除（速算表で自動計算）</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="toc5">支払金額（年収の合計）</span></h3>



<p class="wp-block-paragraph">①支払金額は、1年間に支払った給与・賞与・各種手当の合計です。社会保険料や所得税を天引きする<strong>前</strong>の総額、ここがポイント。一般に「年収」と呼ばれるのがこの金額です。</p>



<p class="wp-block-paragraph">賞与（ボーナス）も含めるのを忘れないようにしましょう。後述しますが、賞与の集計漏れは金額が合わない原因の常連です。</p>



<h3 class="wp-block-heading"><span id="toc6">給与所得控除後の金額（自動計算される控除後の所得）</span></h3>



<p class="wp-block-paragraph">②給与所得控除後の金額は、①から「給与所得控除」を差し引いた金額です。給与所得控除は、会社員にとっての必要経費に相当する控除で、収入に応じて金額が決まります。</p>



<p class="wp-block-paragraph">令和7年分（2025年12月実施の年末調整）からは速算表が改正されました。具体的には次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>給与収入（年間）</th><th>給与所得控除額の計算式</th></tr></thead><tbody><tr><td>190万円以下</td><td>65万円（一律）※改正で55万円から引上げ</td></tr><tr><td>190万円超 360万円以下</td><td>収入 × 30% ＋ 8万円</td></tr><tr><td>360万円超 660万円以下</td><td>収入 × 20% ＋ 44万円</td></tr><tr><td>660万円超 850万円以下</td><td>収入 × 10% ＋ 110万円</td></tr><tr><td>850万円超</td><td>195万円（上限）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">たとえば支払金額が400万円なら、給与所得控除は「400万円 × 20% ＋ 44万円 ＝ 124万円」です。給与所得控除後の金額は「400万円 − 124万円 ＝ 276万円」となります。</p>



<h3 class="wp-block-heading"><span id="toc7">所得控除の額の合計額（年末調整で集計した控除合計）</span></h3>



<p class="wp-block-paragraph">③所得控除の額の合計額は、②からさらに差し引ける控除の合計です。代表的なものは次のとおり。</p>



<ul class="wp-block-list"><li>社会保険料控除（健康保険・厚生年金・雇用保険の本人負担分など）</li><li>生命保険料控除・地震保険料控除</li><li>配偶者控除・配偶者特別控除・扶養控除</li><li>障害者控除・寡婦控除・ひとり親控除・勤労学生控除</li><li>基礎控除</li></ul>



<p class="wp-block-paragraph">年末調整で従業員が提出した「保険料控除申告書」などに記載された金額が集計され、ここに入ります。</p>



<h3 class="wp-block-heading"><span id="toc8">源泉徴収税額（実際に源泉徴収した所得税額）</span></h3>



<p class="wp-block-paragraph">④源泉徴収税額は、年末調整後に確定した所得税と復興特別所得税の合計です。②から③を引いた「課税給与所得金額」に税率をかけて求めます。計算の流れは後述の「年末調整結果との突合チェック」で具体的に確認しましょう。</p>



<h3 class="wp-block-heading"><span id="toc9">社会保険料等の金額（健保・厚生年金・雇用保険の合計）</span></h3>



<p class="wp-block-paragraph">主要4欄に加えて押さえておきたいのが「社会保険料等の金額」欄です。給与・賞与から天引きした健康保険料・厚生年金保険料・雇用保険料の年間合計額が記載されます。従業員が申告書で申告した生計を同じくする家族の社会保険料（国民年金等）も含まれます。</p>



<p class="wp-block-paragraph">重要なのは、<strong>従業員の負担分のみが対象</strong>で、会社が負担する事業主負担分は含めないという点です。これも金額が合わない原因になりやすいところ。後ほど詳しく扱います。</p>



<h2 class="wp-block-heading"><span id="toc10">給与台帳→源泉徴収票をExcel関数で転記する手順</span></h2>



<p class="wp-block-paragraph">ここからが本題です。給与台帳から源泉徴収票の各欄へ関数で転記する手順を見ていきます。テンプレートを配布するのではなく、<strong>どんな考え方でセル式を組むか</strong>を解説しますので、自分のシートに合わせて応用してください。</p>



<p class="wp-block-paragraph">その前に「そもそもExcelで作ってよいのか」を確認しておきましょう。従業員数が5〜20名程度で給与体系がシンプル（毎月の給与＋賞与で複雑な手当が少ない）な事業所なら、Excelでの集計・転記は十分に現実的です。</p>



<p class="wp-block-paragraph">テンプレートに数字を入れるだけのソフトと違い「なぜこの金額になるのか」を関数式で追えるため、ミスに気づきやすいのもメリットです。</p>



<p class="wp-block-paragraph">一方で、次のような条件が重なると、Excel手作業はミスのリスクとメンテナンスの手間が増えます。</p>



<ul class="wp-block-list"><li>従業員数が増える</li><li>住民税の特別徴収（給与支払報告書の電子提出など）の連携が発生する</li><li>雇用形態が多様で控除パターンが複雑</li></ul>



<p class="wp-block-paragraph">こうなったら給与計算ソフトの導入を検討するほうが安全でしょう。Excelは「人数が少なく、計算の中身を自分で把握しておきたい事業所」に向いた選択肢だと考えてください。</p>



<h3 class="wp-block-heading"><span id="toc11">入力シートの列設計（給与台帳の想定レイアウト）</span></h3>



<p class="wp-block-paragraph">まず、給与台帳を次のようなレイアウトで持っているとします。1行が「ある従業員のある月の支給」を表す形です。</p>



<figure class="wp-block-table"><table><thead><tr><th>列</th><th>項目</th><th>例</th></tr></thead><tbody><tr><td>A</td><td>社員番号</td><td>1001</td></tr><tr><td>B</td><td>氏名</td><td>山田太郎</td></tr><tr><td>C</td><td>支給月</td><td>2025/1</td></tr><tr><td>D</td><td>総支給額</td><td>280000</td></tr><tr><td>E</td><td>健康保険料（本人分）</td><td>14000</td></tr><tr><td>F</td><td>厚生年金保険料（本人分）</td><td>25000</td></tr><tr><td>G</td><td>雇用保険料（本人分）</td><td>1680</td></tr><tr><td>H</td><td>源泉徴収税額（月次）</td><td>5200</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">このレイアウトなら、社員番号をキーにして1年分を集計できます。賞与も同じ表に1行として追加しておけば、後の集計式でまとめて拾えます。</p>



<h3 class="wp-block-heading"><span id="toc12">支払金額の集計式（SUMIF）</span></h3>



<p class="wp-block-paragraph">①支払金額は、対象社員の総支給額（D列）を1年分合計するだけです。社員番号で絞り込むので、ここは SUMIF の出番。社員番号を <code>K2</code> に入れたとして、次のように書きます。</p>



<pre class="wp-block-code"><code>=SUMIF(A:A, K2, D:D)</code></pre>



<p class="wp-block-paragraph">「A列が <code>K2</code> と一致する行の、D列の合計」が求まります。賞与の行も同じ社員番号で入力してあれば、自動的に合算されます。月別集計の考え方は<a href="https://mashukabu.com/excel-function-howto-use-sumif/">SUMIFの使い方（Excel）</a>もあわせてどうぞ。</p>



<h3 class="wp-block-heading"><span id="toc13">社会保険料等の金額の転記式（VLOOKUP / INDEX+MATCH）</span></h3>



<p class="wp-block-paragraph">「社会保険料等の金額」欄は、本人負担分（E・F・G列）の年間合計です。SUMIF を3つ足すか、SUMIFSでまとめます。</p>



<pre class="wp-block-code"><code>=SUMIF(A:A, K2, E:E) + SUMIF(A:A, K2, F:F) + SUMIF(A:A, K2, G:G)</code></pre>



<p class="wp-block-paragraph">従業員の氏名や扶養人数など「台帳の固定情報を1件だけ引いてくる」場面では VLOOKUP が便利です。社員マスタ（A列=社員番号、B列=氏名）から氏名を引いてみましょう。</p>



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



<p class="wp-block-paragraph">最後の <code>FALSE</code> は完全一致の指定で、社員番号の検索では必ず付けます。VLOOKUPの基本は<a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUPの使い方（Excel）</a>で確認できます。</p>



<p class="wp-block-paragraph">検索キーがマスタの左端列にない場合や、列の挿入で番号がずれるのを避けたい場合は INDEX+MATCH が便利です。</p>



<pre class="wp-block-code"><code>=INDEX(マスタ!B:B, MATCH(K2, マスタ!A:A, 0))</code></pre>



<p class="wp-block-paragraph">どちらを使うか迷ったら<a href="https://mashukabu.com/excel-vlookup-xlookup-index-match-comparison/">VLOOKUP・XLOOKUP・INDEX+MATCHの比較</a>を参考にしてください。Excel 2021以降・365なら、より直感的な XLOOKUP も使えます。</p>



<pre class="wp-block-code"><code>=XLOOKUP(K2, マスタ!A:A, マスタ!B:B)</code></pre>



<h3 class="wp-block-heading"><span id="toc14">源泉徴収税額の転記と端数処理（ROUND / INT）</span></h3>



<p class="wp-block-paragraph">④源泉徴収税額は、年末調整で確定した税額を転記します。計算過程では端数処理が何度も登場するため、関数で明示的に丸めるのが安全です。</p>



<p class="wp-block-paragraph">たとえば、課税給与所得金額を1,000円未満切り捨てにするには INT を使います。</p>



<pre class="wp-block-code"><code>=INT(課税所得 / 1000) * 1000</code></pre>



<p class="wp-block-paragraph">年調年税額の100円未満切り捨ても同じ考え方。</p>



<pre class="wp-block-code"><code>=INT(年税額 / 100) * 100</code></pre>



<p class="wp-block-paragraph">四捨五入が必要な場面では ROUND を使います。小数を含む計算結果を1円単位に四捨五入するなら次のとおりです。</p>



<pre class="wp-block-code"><code>=ROUND(計算結果, 0)</code></pre>



<p class="wp-block-paragraph">切り捨てと四捨五入を混同すると金額がずれます。<strong>切り捨ては INT、四捨五入は ROUND</strong> と使い分けてください。端数処理の詳しい挙動は<a href="https://mashukabu.com/excel-function-howto-use-round/">ROUND関数の使い方（Excel）</a>が参考になります。</p>



<h3 class="wp-block-heading"><span id="toc15">エラー対策（IFERROR でゼロ件でも安全に）</span></h3>



<p class="wp-block-paragraph">VLOOKUPで該当する社員番号が見つからないと <code>#N/A</code> エラーが出ます。年の途中入社で台帳に行がない、社員番号の打ち間違いといったケースで起こります。そのまま放置すると合計式まで巻き込まれて崩れるので、IFERROR で包んでおきましょう。</p>



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



<p class="wp-block-paragraph">見つからない場合は空欄になり、シート全体が壊れません。ただし「本来あるべき行が無いのに空欄で済ませてしまう」と転記漏れに気づけなくなります。</p>



<p class="wp-block-paragraph">空欄を <code>0</code> ではなく目立つ表示（たとえば <code>"要確認"</code>）にしておくのも一つの手です。IFERROR を含むエラー処理関数の使い分けは<a href="https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/">IF・IFS・IFERROR・IFNAの使い分け</a>で整理しています。</p>



<h3 class="wp-block-heading"><span id="toc16">年末調整結果との突合チェック</span></h3>



<p class="wp-block-paragraph">転記が終わったら、計算した税額が正しいかを年末調整の流れに沿って突合しましょう。</p>



<h4 class="wp-block-heading">年調年税額と源泉徴収税額の照合</h4>



<p class="wp-block-paragraph">年末調整の計算は、次の順番で進みます。</p>



<ol class="wp-block-list"><li>①支払金額（年収）</li><li>▲給与所得控除 → ②給与所得控除後の金額</li><li>▲所得控除の合計 → 課税給与所得金額（<strong>1,000円未満切り捨て</strong>）</li><li>課税所得 × 税率 − 控除額 ＝ 算出所得税額（速算表を使用）</li><li>算出所得税額 × 102.1%（復興特別所得税2.1%加算）＝ 年調年税額（<strong>100円未満切り捨て</strong>）</li><li>▲税額控除（住宅借入金等特別控除など） ＝ ④源泉徴収税額</li></ol>



<p class="wp-block-paragraph">ステップ4で使う所得税の速算表は次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>課税給与所得金額（A）</th><th>税率（B）</th><th>控除額（C）</th></tr></thead><tbody><tr><td>195万円未満</td><td>5%</td><td>0円</td></tr><tr><td>195万円以上 330万円未満</td><td>10%</td><td>97,500円</td></tr><tr><td>330万円以上 695万円未満</td><td>20%</td><td>427,500円</td></tr><tr><td>695万円以上 900万円未満</td><td>23%</td><td>636,000円</td></tr><tr><td>900万円以上 1,800万円未満</td><td>33%</td><td>1,536,000円</td></tr><tr><td>1,800万円以上 4,000万円未満</td><td>40%</td><td>2,796,000円</td></tr><tr><td>4,000万円以上</td><td>45%</td><td>4,796,000円</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">具体例で確認しましょう。課税給与所得金額が250万円だったとします。速算表では「195万円以上330万円未満」なので税率10%・控除額97,500円です。</p>



<ul class="wp-block-list"><li>算出所得税額 ＝ 2,500,000 × 10% − 97,500 ＝ 152,500円</li><li>年調年税額 ＝ 152,500 × 102.1% ＝ 155,702.5円 → 100円未満切り捨てで <strong>155,700円</strong></li></ul>



<p class="wp-block-paragraph">この155,700円が、税額控除がなければ④源泉徴収税額になります。Excelでこの流れを再現するなら、ステップ5は次のように書けます。</p>



<pre class="wp-block-code"><code>=INT(算出所得税額 * 1.021 / 100) * 100</code></pre>



<p class="wp-block-paragraph">毎月の源泉徴収で集めた税額の合計とこの年調年税額を比べ、差額が還付（払いすぎ）か追加徴収（不足）かを判定します。</p>



<h4 class="wp-block-heading">差額が生じた場合の確認ポイント</h4>



<p class="wp-block-paragraph">年調年税額と毎月の源泉徴収合計に大きな差が出た場合は、次を順に確認してください。</p>



<ul class="wp-block-list"><li>給与所得控除を令和7年分の新しい速算表（190万円以下65万円）で計算しているか</li><li>所得控除の合計に控除の入れ忘れ・重複がないか</li><li>端数処理（1,000円未満切り捨て・100円未満切り捨て）を正しく行っているか</li></ul>



<p class="wp-block-paragraph">原因が絞り込めない場合は、次のセクションの典型パターンに当てはまっていないかを見てみましょう。</p>



<h2 class="wp-block-heading"><span id="toc17">金額が合わない3パターンと対処法</span></h2>



<p class="wp-block-paragraph">実務でよく起きる「金額が合わない」3パターンです。原因がわかれば、どこを直せばよいかがすぐ見えます。</p>



<h3 class="wp-block-heading"><span id="toc18">① 端数処理のズレ（円未満切り捨てルール）</span></h3>



<p class="wp-block-paragraph">最も多いのが端数処理の取り違えです。種類ごとに丸め方とタイミングが異なります。</p>



<ul class="wp-block-list"><li>社会保険料の月次計算: <strong>50銭以下は切り捨て・50銭超は切り上げ</strong>（単純な四捨五入ではありません）</li><li>課税給与所得金額: 1,000円未満切り捨て</li><li>年調年税額: 100円未満切り捨て</li></ul>



<p class="wp-block-paragraph">Excelで手計算するとき、これらをすべて ROUND（四捨五入）で処理してしまうと、わずかな差が積み上がって最終的な税額がずれます。<strong>切り捨ては INT、四捨五入は ROUND</strong> と使い分けてください。</p>



<p class="wp-block-paragraph">社会保険料の50銭基準のように四捨五入と異なる丸めが必要な箇所は、計算式を分けて明示的に処理するのが安全です。</p>



<h3 class="wp-block-heading"><span id="toc19">② 社会保険料に事業主負担分が混入している</span></h3>



<p class="wp-block-paragraph">「社会保険料等の金額」欄に入れてよいのは<strong>従業員の負担分のみ</strong>です。健康保険料や厚生年金保険料は会社と従業員が折半していますが、源泉徴収票に記載するのは従業員が負担した分だけです。</p>



<p class="wp-block-paragraph">会社負担分（事業主負担分）を誤って合算すると、金額が実際よりふくらんでしまいます。</p>



<p class="wp-block-paragraph"><strong>賞与から天引きした社会保険料の集計漏れ</strong>にも注意してください。賞与分を給与台帳の別の場所に記録していると、SUMIFの集計範囲から外れてしまうことがあります。賞与の行も給与と同じ列・同じ社員番号で入力し、集計に含まれているかを確認しましょう。</p>



<h3 class="wp-block-heading"><span id="toc20">③ 年途中退職者の控除が誤って適用されている</span></h3>



<p class="wp-block-paragraph">年の途中で退職した従業員は、原則として会社では年末調整を行わず、本人が確定申告をします。源泉徴収票には<strong>在職期間中に支払った分だけ</strong>を集計するのが正解です。</p>



<p class="wp-block-paragraph">ありがちなミスは、退職者なのに1年分のつもりで計算してしまう、または在職していなかった月の控除まで適用してしまうケースです。SUMIFの集計範囲が退職後の月まで含んでいないか、対象期間を必ず確認してください。</p>



<p class="wp-block-paragraph">入社者も同様で、入社前の月のデータが混ざっていないかをチェックします。</p>



<p class="wp-block-paragraph">なお、令和7年分は税制改正で給与所得控除が引き上げられています。基礎控除についても見直しがあるとされていますが、確定額は国税庁の最新資料で必ず確認してください。古い控除額のまま計算すると税額がずれる原因になります。</p>



<h2 class="wp-block-heading"><span id="toc21">よくある質問（FAQ）</span></h2>



<h3 class="wp-block-heading"><span id="toc22">源泉徴収票はいつもらえる？</span></h3>



<p class="wp-block-paragraph">通常は、その年の年末調整が終わった後、12月の給与支払い時か翌年1月にかけて交付されます。退職した場合は、退職後1か月以内に交付するのが原則。</p>



<h3 class="wp-block-heading"><span id="toc23">前職分と合算する場合は？</span></h3>



<p class="wp-block-paragraph">年の途中で転職した人は、前職の源泉徴収票を新しい勤務先に提出します。新しい勤務先が前職分の支払金額・社会保険料・源泉徴収税額を合算して年末調整を行い、最終的な源泉徴収票を作成します。</p>



<p class="wp-block-paragraph">Excelで集計する場合は、前職分の金額を「前職」として給与台帳に1行追加し、SUMIFでまとめて拾えるようにしておくと管理が楽になります。</p>



<h3 class="wp-block-heading"><span id="toc24">Excelで作った票は正式書類として使える？</span></h3>



<p class="wp-block-paragraph">記載すべき項目が正しく揃っていれば、Excelで作成した源泉徴収票も交付書類として使えます。重要なのは作成ツールではなく、国税庁の定める様式に沿って必要事項が正確に記載されていること。</p>



<p class="wp-block-paragraph">住民税の給与支払報告書を電子提出する場合など、外部連携が必要な場面ではソフトのほうが効率的なこともあります。人数や運用に応じて判断してください。</p>



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



<p class="wp-block-paragraph">源泉徴収票は、主要4欄（①支払金額 → ②給与所得控除後の金額 → ③所得控除の額の合計額 → ④源泉徴収税額）を上から順に追えば、読み方も作り方も見えてきます。</p>



<ul class="wp-block-list"><li>給与台帳がExcelで整っていれば、支払金額や社会保険料は <strong>SUMIF</strong> で集計、固定情報は <strong>VLOOKUP / INDEX+MATCH</strong> で転記できる</li><li>端数処理は <strong>切り捨ては INT・四捨五入は ROUND</strong> と明確に使い分ける</li><li>見つからない社員番号は <strong>IFERROR</strong> で安全に処理する</li><li>金額が合わないときは「端数処理のズレ」「事業主負担分の混入・賞与の集計漏れ」「年途中退職者の期間誤り」の3パターンをまず疑う</li></ul>



<p class="wp-block-paragraph">少人数の事業所なら、計算の中身が見えるExcelでの管理は十分に実用的です。まずは自分の源泉徴収票で4欄の関係を確認し、慣れてきたら台帳からの転記式を組んでみてください。令和7年分は控除額の改正があるため、計算式を更新する際は国税庁の最新資料を必ず確認しましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-withholding-slip-create/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>年末調整の還付額をExcelで計算｜VLOOKUPで税額表を自動化</title>
		<link>https://mashukabu.com/excel-year-end-tax-adjustment-refund/</link>
					<comments>https://mashukabu.com/excel-year-end-tax-adjustment-refund/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 20 Jun 2026 10:36:30 +0000</pubDate>
				<category><![CDATA[仕事効率化]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[年末調整]]></category>
		<category><![CDATA[源泉徴収]]></category>
		<category><![CDATA[経理・総務]]></category>
		<category><![CDATA[給与計算]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=8043</guid>

					<description><![CDATA[年末調整の還付額をExcelで計算する手順を解説。源泉徴収税額表をVLOOKUP（近似値検索）で引く数式の書き方から、XLOOKUP対応の切り替え方法、「計算が合わない」原因別トラブル対処まで、総務兼務の方でも自作シートを完成できるよう具体的にまとめました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">年末調整の時期になると、「還付額がいくらになるのか、自分のExcelで確かめたい」と思うことはありませんか。給与計算ソフトを使っていない少人数の事業所だと、なおさらですよね。</p>



<p class="wp-block-paragraph">ところが、いざ計算しようとすると「源泉徴収税額表の引き方が分からない」「VLOOKUPで組んでみたのに計算が合わない」とつまずきがちです。手作業のまま放置すると、毎年12月に同じ悩みを繰り返すことに。</p>



<p class="wp-block-paragraph">最悪の場合、還付額を間違えて従業員に説明できないという事態にもなりかねません。</p>



<p class="wp-block-paragraph">この記事では、年末調整の還付額をExcelで計算する手順を、計算フローの全体像から順に解説します。源泉徴収税額表をVLOOKUP（表から値を探し出す関数）で引く数式の書き方、XLOOKUPへの切り替え方法、「計算が合わない」原因別の対処法まで取り上げます。</p>



<p class="wp-block-paragraph">総務・経理を兼務している方でも自作シートを完成できるようにまとめました。一緒に組み立てていきましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>対応バージョン</strong>: VLOOKUP・IF・IFERROR・ROUNDDOWN は Excel 全バージョン（Web版含む）で使用できます。XLOOKUP は Microsoft 365 / Excel 2021 以降 / Excel for the web で使用可能です。</p></blockquote>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>税額表の数値について（重要）</strong>: 税額表・税率・控除額は毎年改正されます。本記事では「計算の仕組みと数式設計」だけを解説し、具体的な税額の数値は固定しません。実際の計算では、国税庁が毎年公表する最新版（令和○年分の年末調整のための各表）を必ず参照してください。記事中の数式例で出てくる数値は、すべて説明用の仮の値です。</p></blockquote>




  <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">年末調整をExcelで計算する全体像（6ステップ）</a></li><li><a href="#toc2" tabindex="0">源泉徴収税額表をVLOOKUPで引く方法</a><ol><li><a href="#toc3" tabindex="0">月額表ではなく「年末調整用の表」を使う</a></li><li><a href="#toc4" tabindex="0">近似一致（TRUE）で閾値を引く仕組み</a></li><li><a href="#toc5" tabindex="0">数式の書き方（速算表を引く例）</a></li><li><a href="#toc6" tabindex="0">ステップ③と⑤の端数処理（ROUNDDOWN）</a></li><li><a href="#toc7" tabindex="0">税額表は毎年更新される：国税庁公式の参照方法</a></li></ol></li><li><a href="#toc8" tabindex="0">VLOOKUP vs XLOOKUP：使える関数の切り替え対比表</a><ol><li><a href="#toc9" tabindex="0">Microsoft 365 / Web版でXLOOKUPを使う書き方</a></li><li><a href="#toc10" tabindex="0">エラー処理の書き方（IFERROR vs XLOOKUP第4引数）</a></li></ol></li><li><a href="#toc11" tabindex="0">計算が合わないときの原因別トラブル対処</a><ol><li><a href="#toc12" tabindex="0">近似一致（TRUE）の指定漏れで#N/Aが出る</a></li><li><a href="#toc13" tabindex="0">表が昇順に並んでいなくて誤った金額が返る</a></li><li><a href="#toc14" tabindex="0">端数処理（ROUNDDOWN）の入れ忘れで数百円ズレる</a></li><li><a href="#toc15" tabindex="0">給与所得控除や税額表の年度違い</a></li><li><a href="#toc16" tabindex="0">それでも合わないときは</a></li></ol></li><li><a href="#toc17" tabindex="0">年末調整Excelシートの完成イメージと数式のつながり</a><ol><li><a href="#toc18" tabindex="0">セル参照で6ステップをつなぐ設計例</a></li><li><a href="#toc19" tabindex="0">源泉徴収票への転記と確定申告との違い</a></li></ol></li><li><a href="#toc20" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">年末調整をExcelで計算する全体像（6ステップ）</span></h2>



<p class="wp-block-paragraph">まずは全体像をつかみましょう。年末調整の計算（1年間の所得税を精算する手続き）は、大きく6つのステップに分かれます。Excelで自動化するときも、この流れをそのままセルの並びに置き換えるだけです。</p>



<p class="wp-block-paragraph">各ステップは「前のステップの結果を次のステップの入力に使う」という形でつながっています。だから1か所だけ作るのではなく、全体の流れとして設計するのがポイント。次の表で、計算のつながりを確認してください。</p>



<figure class="wp-block-table"><table><thead><tr><th>ステップ</th><th>やること</th><th>Excelでの処理</th></tr></thead><tbody><tr><td>① 給与総額の集計</td><td>1年間の給与・賞与の合計を出す</td><td>SUM で合算</td></tr><tr><td>② 給与所得控除後の金額</td><td>給与総額から給与所得控除（給与所得者の必要経費にあたる控除）を引いた金額を求める</td><td>「給与所得控除後の給与等の金額の表」を VLOOKUP で引く</td></tr><tr><td>③ 課税給与所得金額</td><td>②から所得控除合計（社会保険料・配偶者・扶養・基礎控除など）を引く（1,000円未満切り捨て）</td><td>引き算 + ROUNDDOWN</td></tr><tr><td>④ 算出所得税額</td><td>「算出所得税額の速算表」で 課税給与所得金額 × 税率 − 控除額 を計算する</td><td>速算表を VLOOKUP で引く</td></tr><tr><td>⑤ 年調年税額</td><td>④に 102.1%（復興特別所得税込み）を掛ける（100円未満切り捨て）</td><td>掛け算 + ROUNDDOWN</td></tr><tr><td>⑥ 過不足額（還付額）</td><td>⑤から1年間の源泉徴収税額合計を引く</td><td>引き算</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">⑥の結果がマイナスなら還付（戻ってくる）、プラスなら追徴（追加で徴収）です。住宅借入金等特別控除（住宅ローン控除）がある場合は、④の算出所得税額から差し引いてから⑤に進みます。</p>



<p class="wp-block-paragraph">ここで大事なのは、年末調整で使う表は「月額表」ではないという点です。毎月の源泉徴収で使う月額表と、年末調整で使う表は別物なので、混同しないようにしましょう。詳しくは次のセクションで説明しますね。</p>



<h2 class="wp-block-heading"><span id="toc2">源泉徴収税額表をVLOOKUPで引く方法</span></h2>



<p class="wp-block-paragraph">年末調整で関数の出番になるのは、主にステップ②と④です。どちらも「金額に応じて表から該当する行を探す」という処理で、VLOOKUPの近似一致がぴったりはまります。</p>



<h3 class="wp-block-heading"><span id="toc3">月額表ではなく「年末調整用の表」を使う</span></h3>



<p class="wp-block-paragraph">最初に押さえておきたいのが、表の使い分けです。源泉徴収税額表にはいくつか種類があり、用途がそれぞれ違います。混同すると、計算が根本からずれてしまうので要注意。</p>



<ul class="wp-block-list"><li><strong>月額表・賞与の税額表</strong>: 毎月の給与や賞与を支払うときに、その都度引く表です。年末調整では使いません。</li><li><strong>給与所得控除後の給与等の金額の表</strong>: 年末調整専用です。1年間の給与総額から、控除後の金額を求めるのに使います（ステップ②）。</li><li><strong>算出所得税額の速算表</strong>: こちらも年末調整専用。課税給与所得金額・税率・控除額の3列構成で、ステップ④の税額計算に使います。</li></ul>



<p class="wp-block-paragraph">年末調整で引くのは、後ろの2つです。月額表は毎月の処理用なので、年末調整シートには取り込まなくて大丈夫ですよ。</p>



<h3 class="wp-block-heading"><span id="toc4">近似一致（TRUE）で閾値を引く仕組み</span></h3>



<p class="wp-block-paragraph">税額表は「○円以上△円未満ならこの値」という階段状の構造。こういう範囲の引き当てには、VLOOKUPの近似一致モードを使います。</p>



<p class="wp-block-paragraph">VLOOKUPの第4引数を <code>TRUE</code>（または省略）にすると、近似一致になります。これは「検索値以下で最も大きい値」を返すモード。つまり、表の各帯の「下限値」を左端の列に並べておけば、給与額や課税所得がどの帯に入るかを自動で判定できます。</p>



<p class="wp-block-paragraph">近似一致には1つだけ絶対条件があります。それは、表の左端の列が昇順（小さい順）に並んでいること。</p>



<p class="wp-block-paragraph">これを守らないとエラーは出ませんが、静かに間違った値を返してしまいます。注意してくださいね。</p>



<h3 class="wp-block-heading"><span id="toc5">数式の書き方（速算表を引く例）</span></h3>



<p class="wp-block-paragraph">実際の数式を見てみましょう。ステップ④の算出所得税額を求める例です。速算表を <code>税額表!A:C</code> の範囲に取り込んだとします（A列=下限額、B列=税率、C列=控除額）。</p>



<pre class="wp-block-code"><code># 課税給与所得金額（B3セル）に対応する税率を引く
=VLOOKUP(B3, 税額表!$A:$C, 2, TRUE)

# 同じく控除額を引く
=VLOOKUP(B3, 税額表!$A:$C, 3, TRUE)</code></pre>



<p class="wp-block-paragraph">2番目の引数で列番号を指定します。<code>2</code> なら範囲の2列目（税率）、<code>3</code> なら3列目（控除額）です。範囲はコピーしてもズレないよう <code>$</code> で固定しておくと安心です。</p>



<p class="wp-block-paragraph">この2つを組み合わせて、算出所得税額の式はこう書けます。</p>



<pre class="wp-block-code"><code># 算出所得税額 = 課税給与所得金額 × 税率 − 控除額
=B3 * VLOOKUP(B3, 税額表!$A:$C, 2, TRUE) - VLOOKUP(B3, 税額表!$A:$C, 3, TRUE)</code></pre>



<p class="wp-block-paragraph">具体的な数値で確認してみましょう。課税給与所得金額が 2,500,000円、その帯の税率が 10%、控除額が 97,500円だったとします（※これらは説明用の仮の値です。実際は最新の公式表を参照してください）。</p>



<pre class="wp-block-code"><code>2,500,000 × 0.10 − 97,500 = 250,000 − 97,500 = 152,500円</code></pre>



<p class="wp-block-paragraph">算出所得税額は 152,500円になります。電卓で計算するのと同じ結果が、VLOOKUPで自動的に出せるわけですね。</p>



<h3 class="wp-block-heading"><span id="toc6">ステップ③と⑤の端数処理（ROUNDDOWN）</span></h3>



<p class="wp-block-paragraph">年末調整には、国税庁が定めた端数処理のルールがあります。これを入れ忘れると数十円〜数百円のズレが出るので、必ず数式に組み込みましょう。ROUNDDOWN（指定した桁数で切り捨てる関数）を使います。</p>



<pre class="wp-block-code"><code># ステップ③ 差引課税給与所得金額（1,000円未満切り捨て）
=ROUNDDOWN(給与所得控除後の金額 - 所得控除合計, -3)

# ステップ⑤ 年調年税額（復興特別所得税込み・100円未満切り捨て）
=ROUNDDOWN(算出所得税額 * 1.021, -2)</code></pre>



<p class="wp-block-paragraph">ROUNDDOWNの2番目の引数がマイナスなのがポイントです。<code>-3</code> で1,000円未満（下3桁）を、<code>-2</code> で100円未満（下2桁）を切り捨てます。普段あまり使わない指定ですが、年末調整ではこれが正解ですよ。</p>



<h3 class="wp-block-heading"><span id="toc7">税額表は毎年更新される：国税庁公式の参照方法</span></h3>



<p class="wp-block-paragraph">最後に、大切な注意点をひとつ。給与所得控除後の金額の表も、算出所得税額の速算表も、毎年改正されます。基礎控除の見直しなどで金額が変わるので、去年のシートをそのまま使い回すと計算が合わなくなります。</p>



<p class="wp-block-paragraph">数式の設計（VLOOKUPやROUNDDOWNの組み方）は毎年同じで構いません。変わるのは「税額表!」に貼り付ける表の中身だけです。</p>



<p class="wp-block-paragraph">毎年12月の作業前に、国税庁の「年末調整がよくわかるページ」から最新版の表をダウンロードして、表の範囲だけ差し替えてください。仕組みを一度作っておけば、翌年からは数値の入れ替えで済みますよ。</p>



<h2 class="wp-block-heading"><span id="toc8">VLOOKUP vs XLOOKUP：使える関数の切り替え対比表</span></h2>



<p class="wp-block-paragraph">ここまでVLOOKUPで解説してきましたが、Microsoft 365 や Web版のExcelをお使いなら、XLOOKUP（VLOOKUPの後継にあたる新しい検索関数）という選択肢もあります。どちらでも税額表は引けますが、書き方とエラー処理が少し違います。下の表で比較してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較軸</th><th>VLOOKUP</th><th>XLOOKUP</th></tr></thead><tbody><tr><td>使えるバージョン</td><td>全バージョン（Web版含む）</td><td>Microsoft 365 / Excel 2021 以降 / Web版</td></tr><tr><td>近似一致（閾値引き）の指定</td><td>第4引数を <code>TRUE</code>（または省略）</td><td>第5引数（match_mode）を <code>-1</code></td></tr><tr><td>昇順ソートの必要</td><td>必須（守らないと誤答）</td><td>不要（match_mode=-1ならソート不問）</td></tr><tr><td>エラー時の代替値</td><td>IFERROR で囲む</td><td>第4引数（if_not_found）で直接指定</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">VLOOKUPは全バージョンで使えるのが強みです。職場のExcelのバージョンがバラバラなら、VLOOKUPで統一しておくと安全ですよ。一方XLOOKUPは、昇順ソートが不要でエラー処理も式の中に書けるので、シートが少しすっきりします。</p>



<h3 class="wp-block-heading"><span id="toc9">Microsoft 365 / Web版でXLOOKUPを使う書き方</span></h3>



<p class="wp-block-paragraph">XLOOKUPで速算表の税率を引く例です。VLOOKUPと違って、検索する列と返す列を別々に指定します。</p>



<pre class="wp-block-code"><code># 課税給与所得金額（B3）に対応する税率を引く（match_mode=-1で閾値以下の最大値）
=XLOOKUP(B3, 税額表!$A:$A, 税額表!$B:$B, , -1)

# 控除額を引く
=XLOOKUP(B3, 税額表!$A:$A, 税額表!$C:$C, , -1)</code></pre>



<p class="wp-block-paragraph">引数の並びは「検索値、検索範囲、戻り範囲、見つからないとき、一致モード」です。4番目を空にしているのは、次で説明するエラー処理を入れないときの書き方。5番目の <code>-1</code> が「検索値以下で最も近い値を返す」という指定で、これがVLOOKUPの <code>TRUE</code> に相当します。</p>



<h3 class="wp-block-heading"><span id="toc10">エラー処理の書き方（IFERROR vs XLOOKUP第4引数）</span></h3>



<p class="wp-block-paragraph">万が一、表に該当する帯がなくてエラーになったとき、画面に <code>#N/A</code> が出ると見栄えが悪いですよね。エラー処理を入れておくと、分かりやすいメッセージに置き換えられます。</p>



<pre class="wp-block-code"><code># VLOOKUP の場合：IFERROR で全体を囲む
=IFERROR(VLOOKUP(B3, 税額表!$A:$C, 2, TRUE), &quot;表を確認してください&quot;)

# XLOOKUP の場合：第4引数に直接書ける
=XLOOKUP(B3, 税額表!$A:$A, 税額表!$B:$B, &quot;表を確認してください&quot;, -1)</code></pre>



<p class="wp-block-paragraph">VLOOKUPは式全体をIFERROR（エラーなら別の値を返す関数）で囲む必要があります。XLOOKUPなら4番目の引数に書くだけなので、こちらのほうがシンプルです。どちらでも結果は同じなので、お使いの環境に合わせて選んでくださいね。</p>



<h2 class="wp-block-heading"><span id="toc11">計算が合わないときの原因別トラブル対処</span></h2>



<p class="wp-block-paragraph">「数式は入れたのに、手計算と金額が合わない」というのは、年末調整シートでいちばん多い悩みです。原因はだいたいパターンが決まっています。症状から原因を特定して、修正していきましょう。</p>



<h3 class="wp-block-heading"><span id="toc12">近似一致（TRUE）の指定漏れで#N/Aが出る</span></h3>



<p class="wp-block-paragraph">VLOOKUPの第4引数を <code>FALSE</code> にしてしまうと、完全一致モードになります。税額表に検索値とぴったり同じ金額が載っていることはまずないので、結果は <code>#N/A</code> になります。</p>



<p class="wp-block-paragraph">税額表のような閾値引きは、近似一致が正解です。第4引数を <code>TRUE</code> に直してください。</p>



<p class="wp-block-paragraph">XLOOKUPで <code>#N/A</code> が出る場合は、match_mode（第5引数）の指定漏れが原因です。省略するとデフォルトの完全一致になってしまうので、<code>-1</code> を必ず付けましょう。</p>



<pre class="wp-block-code"><code># NG: 完全一致で #N/A になる
=VLOOKUP(B3, 税額表!$A:$C, 2, FALSE)

# OK: 近似一致に修正
=VLOOKUP(B3, 税額表!$A:$C, 2, TRUE)</code></pre>



<h3 class="wp-block-heading"><span id="toc13">表が昇順に並んでいなくて誤った金額が返る</span></h3>



<p class="wp-block-paragraph">VLOOKUPの近似一致でいちばん厄介なのが、これです。表の左端の列が昇順になっていないと、エラーは出ないのに間違った値を返します。<code>#N/A</code> のような分かりやすい合図がないので、気づきにくいんですよね。</p>



<p class="wp-block-paragraph">税額表を貼り付けたら、左端の「下限額」の列が小さい順に並んでいるか確認してください。並び替えが必要なら、表の範囲を選んで左端の列を昇順でソートします。XLOOKUPの match_mode=-1 を使っている場合はソート不要なので、こちらに切り替えるのも手です。</p>



<h3 class="wp-block-heading"><span id="toc14">端数処理（ROUNDDOWN）の入れ忘れで数百円ズレる</span></h3>



<p class="wp-block-paragraph">金額が「あと少しのところで合わない」ときは、端数処理を疑いましょう。差引課税給与所得金額の1,000円未満切り捨てや、年調年税額の100円未満切り捨てを省略していると、わずかにズレます。</p>



<p class="wp-block-paragraph">該当のセルに ROUNDDOWN が入っているか確認してください。ステップ③は <code>-3</code>、ステップ⑤は <code>-2</code> です。手計算とExcelの結果を1ステップずつ突き合わせると、どこで端数処理が抜けているか見つけやすいですよ。</p>



<h3 class="wp-block-heading"><span id="toc15">給与所得控除や税額表の年度違い</span></h3>



<p class="wp-block-paragraph">数式は正しいのに大きくズレる場合は、貼り付けた表の年度を確認しましょう。去年の表をそのまま使っていると、改正された控除額とずれて、結果が合いません。</p>



<p class="wp-block-paragraph">国税庁の最新版の表に差し替えれば解決します。数式はそのままで、表の中身だけ入れ替えれば大丈夫です。毎年この確認をルーティンに組み込んでおくと、ミスを防げますよ。</p>



<h3 class="wp-block-heading"><span id="toc16">それでも合わないときは</span></h3>



<p class="wp-block-paragraph">ここまで試しても合わない場合は、ステップごとに中間結果を表示させて、どこで食い違うかを切り分けてください。給与所得控除後の金額、課税給与所得金額、算出所得税額を別々のセルに出しておくと、原因の特定がぐっと楽になります。1か所ずつ手計算と照らし合わせれば、必ず原因にたどり着けますよ。</p>



<h2 class="wp-block-heading"><span id="toc17">年末調整Excelシートの完成イメージと数式のつながり</span></h2>



<p class="wp-block-paragraph">最後に、6ステップを1枚のシートにつなげた設計例を見てみましょう。各ステップの結果を次のステップが参照する形にすると、入力値を変えるだけで還付額まで自動更新されます。</p>



<h3 class="wp-block-heading"><span id="toc18">セル参照で6ステップをつなぐ設計例</span></h3>



<p class="wp-block-paragraph">たとえば次のようにセルを割り当てます（実際の表の配置に合わせて調整してください）。</p>



<pre class="wp-block-code"><code># B1: 給与総額（手入力 または 月別給与のSUM）
=SUM(月別給与の範囲)

# B2: 給与所得控除後の金額（ステップ②）
=VLOOKUP(B1, 控除後表!$A:$B, 2, TRUE)

# B3: 課税給与所得金額（ステップ③・1,000円未満切り捨て）
=ROUNDDOWN(B2 - 所得控除合計, -3)

# B4: 算出所得税額（ステップ④）
=B3 * VLOOKUP(B3, 速算表!$A:$C, 2, TRUE) - VLOOKUP(B3, 速算表!$A:$C, 3, TRUE)

# B5: 年調年税額（ステップ⑤・復興特別所得税込み・100円未満切り捨て）
=ROUNDDOWN(B4 * 1.021, -2)

# B6: 過不足額（ステップ⑥・マイナスが還付）
=B5 - 年間源泉徴収税額合計</code></pre>



<p class="wp-block-paragraph">説明用の仮の値で最後まで通してみます。給与所得控除後の金額が 4,000,000円、所得控除合計が 1,500,000円、年間源泉徴収税額合計が 170,000円だとしましょう（※すべて説明用の仮の値です）。</p>



<pre class="wp-block-code"><code>B3 = 4,000,000 − 1,500,000 = 2,500,000円（1,000円未満なし）
B4 = 2,500,000 × 0.10 − 97,500 = 152,500円
B5 = 152,500 × 1.021 = 155,702.5 → 155,700円（100円未満切り捨て）
B6 = 155,700 − 170,000 = −14,300円</code></pre>



<p class="wp-block-paragraph">B6がマイナス14,300円なので、14,300円の還付という結果になります。一度この型を作っておけば、来年は税額表の差し替えと入力値の更新だけで済みますよ。</p>



<h3 class="wp-block-heading"><span id="toc19">源泉徴収票への転記と確定申告との違い</span></h3>



<p class="wp-block-paragraph">年末調整で算出した年調年税額や還付額は、最終的に源泉徴収票の各欄へ転記します。転記もExcelの関数で自動化できるので、計算シートと票を連動させたい方は<a href="https://mashukabu.com/excel-withholding-slip-create/">源泉徴収票の見方とExcelでの作り方</a>もあわせてご覧ください。各欄をどの数式で埋めるかをまとめています。</p>



<p class="wp-block-paragraph">なお、年末調整では扱えない控除もあります。たとえば医療費控除は所得控除のひとつですが、年末調整の対象外で、確定申告で申告する必要があります。年末調整と確定申告の住み分けが気になる方は、<a href="https://mashukabu.com/excel-medical-expense-deduction/">医療費控除をExcelで集計する方法</a>で集計の手順を確認しておくと、確定申告の準備もスムーズになりますよ。</p>



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



<p class="wp-block-paragraph">年末調整の還付額をExcelで計算する手順を、6ステップの全体像から関数の組み方、トラブル対処まで通して解説しました。ポイントを振り返っておきましょう。</p>



<ul class="wp-block-list"><li>計算は6ステップ。給与総額 → 給与所得控除後の金額 → 課税給与所得金額 → 算出所得税額 → 年調年税額 → 過不足額（還付額）の順につなぐ</li><li>税額表は近似一致で引く。VLOOKUPなら第4引数 <code>TRUE</code>、XLOOKUPなら第5引数 <code>-1</code></li><li>端数処理を忘れない。ステップ③は ROUNDDOWN の <code>-3</code>、ステップ⑤は <code>-2</code></li><li>計算が合わないときは、近似一致の指定・昇順ソート・端数処理・表の年度を順に確認する</li><li>税額表の数値は毎年改正されるので、国税庁の最新版を毎年差し替える</li></ul>



<p class="wp-block-paragraph">数式の設計は一度作れば毎年使い回せます。むずかしく見えるかもしれませんが、やっていることは「表から値を探して、引き算と掛け算をする」だけです。この記事のセル設計を参考に、ぜひご自身のシートを完成させてみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-year-end-tax-adjustment-refund/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<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-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">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-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">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-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">スプレッドシートの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-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">スプレッドシートの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-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">スプレッドシートの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-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">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-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">スプレッドシートの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>
	</channel>
</rss>
