<?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>エラー対処 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%E3%82%A8%E3%83%A9%E3%83%BC%E5%AF%BE%E5%87%A6/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Fri, 03 Apr 2026 22:02:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>エラー対処 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのVLOOKUP関数の使い方｜別シート参照・エラー対処まで解説</title>
		<link>https://mashukabu.com/spreadsheet-vlookup-function/</link>
					<comments>https://mashukabu.com/spreadsheet-vlookup-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 15:12:53 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></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=4650</guid>

					<description><![CDATA[スプレッドシートのVLOOKUP関数の使い方を基本から丁寧に解説。構文・引数の意味、別シート参照、#N/Aエラーの対処法、XLOOKUP・INDEX+MATCHとの使い分けまで実務で使えるサンプルつきで紹介します。]]></description>
										<content:encoded><![CDATA[
<p>「商品コードを入れたら商品名を自動で表示したい」。スプレッドシートを使っていると、こんな場面によく出会いますよね。</p>



<p>手作業で1つずつ探していたら時間がかかりますし、コピペミスも起きがちです。</p>



<p>そんなときに活躍するのがVLOOKUP関数です。検索値を指定するだけで、表から対応するデータを一発で取得できます。この記事では基本の書き方から別シート参照、エラー対処、XLOOKUPとの使い分けまで紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのVLOOKUP関数とは？</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">引数の説明</a></li><li><a href="#toc5" tabindex="0">「並べ替え済み」（FALSE / TRUE）の使い分け</a></li></ol></li><li><a href="#toc6" tabindex="0">VLOOKUP関数の基本的な使い方</a><ol><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">VLOOKUP関数の実務活用パターン</a><ol><li><a href="#toc11" tabindex="0">IFERROR関数と組み合わせてエラーを防ぐ</a></li><li><a href="#toc12" tabindex="0">近似一致（TRUE）で料金ランク判定する</a></li><li><a href="#toc13" tabindex="0">ワイルドカードで部分一致検索する</a></li><li><a href="#toc14" tabindex="0">IMPORTRANGE関数と組み合わせて別ファイルを参照する</a></li><li><a href="#toc15" tabindex="0">複数条件で検索する（補助列の活用）</a></li></ol></li><li><a href="#toc16" tabindex="0">よくあるエラーと対処法</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">間違った値が返る</a></li></ol></li><li><a href="#toc20" tabindex="0">VLOOKUP関数と他の検索関数の使い分け</a><ol><li><a href="#toc21" tabindex="0">VLOOKUPの3つの制約</a></li><li><a href="#toc22" tabindex="0">VLOOKUP / XLOOKUP / INDEX+MATCH 比較表</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></ol></li></ol>
    </div>
  </div>

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



<p>VLOOKUP関数（読み方: ブイルックアップ関数）は、範囲の先頭列を縦方向に検索する関数です。一致した行から、指定した列の値を返してくれます。</p>



<p>名前はVertical（垂直）+ Lookup（検索）が由来です。「商品コードから商品名を引っ張る」「社員番号から部署名を取得する」。こうした「表引き」作業を数式1つで片付けてくれます。</p>



<p>ポイントは<strong>検索する列が範囲の先頭（左端）にある</strong>ことです。左端以外の列で検索したい場合は、<a href="https://mashukabu.com/spreadsheet-xlookup/">XLOOKUP関数</a>を検討してください。</p>



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



<ul class="wp-block-list"><li>マスタ表から名前・価格・区分などを自動取得する</li><li>別シートや別ファイルのデータを参照する</li><li>近似一致で料金ランク・成績判定を行う</li><li>ワイルドカードで部分一致検索をする</li></ul>



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



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



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



<p>VLOOKUP関数の構文はこちらです。</p>



<pre class="wp-block-code"><code>=VLOOKUP(検索キー, 範囲, 番号, [並べ替え済み])</code></pre>



<p>引数は4つあります。最後の「並べ替え済み」だけ省略できます。</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><th>指定例</th></tr></thead><tbody><tr><td>検索キー</td><td>必須</td><td>探したい値。セル参照が一般的</td><td>A2</td></tr><tr><td>範囲</td><td>必須</td><td>検索対象の表。先頭列に検索キーを含むこと</td><td>B2:E100</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>Excelでは「検索値・列番号・検索の型」と呼びますが、スプレッドシートでは「検索キー・番号・並べ替え済み」です。動作は同じなので、Excel経験者はそのまま読み替えてください。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc5">「並べ替え済み」（FALSE / TRUE）の使い分け</span></h3>



<p>ここがVLOOKUPで一番つまずきやすい部分です。</p>



<p><strong>FALSE（完全一致）</strong> は、検索キーとぴったり一致するデータだけを探します。実務の9割はこちらです。一致しなければ#N/Aエラーになります。</p>



<pre class="wp-block-code"><code>=VLOOKUP(A2, B2:D100, 2, FALSE)</code></pre>



<p><strong>TRUE（近似一致）</strong> は、検索キー以下の最大値を返します。料金表やランク判定に使います。ただし先頭列が昇順ソートされていることが前提です。</p>



<pre class="wp-block-code"><code>=VLOOKUP(A2, F2:G10, 2, TRUE)</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>「並べ替え済み」を省略するとデフォルトはTRUEです。「なぜか変な値が返る」の原因は、たいていこの省略です。迷ったらFALSEを明示してください。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc7">同じシート内でデータを検索する</span></h3>



<p>商品コードから商品名を取得する例で見てみましょう。</p>



<p>A列〜C列に商品マスタがあるとします。A列が商品コード、B列が商品名、C列が価格です。</p>



<p>E2に入力したコードから商品名を取得するにはこう書きます。</p>



<pre class="wp-block-code"><code>=VLOOKUP(E2, A2:C100, 2, FALSE)</code></pre>



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



<ul class="wp-block-list"><li>E2: 検索キー（入力した商品コード）</li><li>A2:C100: 範囲（商品マスタ全体）</li><li>2: 範囲の左から2列目（商品名）を返す</li><li>FALSE: 完全一致で検索</li></ul>



<p>E2に「P-001」と入力すると、A列から「P-001」を探し、同じ行のB列の値を返します。</p>



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



<p>実務では検索先が別シートにあることがほとんどです。シート名のあとに「!」をつけて範囲を指定します。</p>



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



<p>シート名に空白を含む場合はシングルクォーテーションで囲みます。</p>



<pre class="wp-block-code"><code>=VLOOKUP(A2, '商品 マスタ'!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>



<h3 class="wp-block-heading"><span id="toc9">範囲を固定するコツ（絶対参照）</span></h3>



<p>VLOOKUPを下方向にコピーすると、範囲がズレることがあります。範囲は絶対参照で固定しましょう。</p>



<p>セル参照を選択した状態でF4キーを押すと「$」がつきます。</p>



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



<p>検索キーのA2は相対参照のまま、範囲だけ固定するのが正解です。</p>



<p>なお、列全体を参照する書き方（A:Dなど）ならコピーしてもズレません。ただしデータ量が多いと処理が遅くなる場合があります。</p>



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



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



<p>VLOOKUPは検索キーが見つからないと#N/Aエラーを返します。資料として見栄えが悪いですし、後続の計算にも影響します。</p>



<p>IFERROR関数（エラー時に別の値を返す関数）で囲めば、エラーを防げます。</p>



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



<p>実務では「該当なし」や空文字「&#8221;&#8221;」を指定するケースが多いです。</p>



<h3 class="wp-block-heading"><span id="toc12">近似一致（TRUE）で料金ランク判定する</span></h3>



<p>売上金額からランクを判定する場面では、近似一致が便利です。</p>



<p>ランク表が次のようになっているとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>下限金額</th><th>ランク</th></tr></thead><tbody><tr><td>0</td><td>C</td></tr><tr><td>100000</td><td>B</td></tr><tr><td>300000</td><td>A</td></tr><tr><td>500000</td><td>S</td></tr></tbody></table></figure>



<p>この表がF2:G5にあるとします。B2の金額に対してランクを返すにはこう書きます。</p>



<pre class="wp-block-code"><code>=VLOOKUP(B2, $F$2:$G$5, 2, TRUE)</code></pre>



<p>B2が250,000なら「B」が返ります。250,000以下の最大値は100,000なので、その行のランクが返る仕組みです。</p>



<p>近似一致を使うときは下限金額を必ず昇順で並べてください。</p>



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



<p>「並べ替え済み」をFALSEにした状態でワイルドカードが使えます。</p>



<pre class="wp-block-code"><code>=VLOOKUP(&quot;*東京*&quot;, A2:C100, 2, FALSE)</code></pre>



<p>「*」は任意の文字列にマッチします。「東京」を含む最初のデータを探したいときに使えます。</p>



<p>セル参照を使う場合は「&#038;」で連結します。</p>



<pre class="wp-block-code"><code>=VLOOKUP(&quot;*&quot;&amp;E2&amp;&quot;*&quot;, A2:C100, 2, FALSE)</code></pre>



<h3 class="wp-block-heading"><span id="toc14">IMPORTRANGE関数と組み合わせて別ファイルを参照する</span></h3>



<p>スプレッドシートならではの活用法です。IMPORTRANGE関数（別ファイルのデータを取得する関数）で取り込んだ範囲をVLOOKUPの検索対象にできます。</p>



<pre class="wp-block-code"><code>=VLOOKUP(A2, IMPORTRANGE(&quot;スプレッドシートURL&quot;, &quot;マスタ!A:D&quot;), 3, FALSE)</code></pre>



<p>初回はアクセス許可の確認が表示されます。「アクセスを許可」を押せば、以降は自動的にデータを参照できます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>IMPORTRANGEは共有ドライブの大規模マスタなどで重宝します。ただしファイルが重くなりやすいので、必要な列だけに絞ると安心です。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc15">複数条件で検索する（補助列の活用）</span></h3>



<p>VLOOKUPは検索キーを1つしか指定できません。「部署」と「役職」の2条件で検索したい場合は、補助列を作ります。</p>



<p>補助列に2つの値を「&#038;」で連結した値を入れます。</p>



<pre class="wp-block-code"><code>=A2&amp;&quot;-&quot;&amp;B2</code></pre>



<p>VLOOKUPの検索キーも同じ形式で連結します。</p>



<pre class="wp-block-code"><code>=VLOOKUP(E2&amp;&quot;-&quot;&amp;F2, 補助列を含む範囲, 列番号, FALSE)</code></pre>



<p>補助列を使いたくない場合は、<a href="https://mashukabu.com/spreadsheet-xlookup/">XLOOKUP関数</a>やFILTER関数も検討してみてください。</p>



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



<h3 class="wp-block-heading"><span id="toc17">#N/Aエラー</span></h3>



<p>「検索キーが見つからない」という意味のエラーです。主な原因と対処法を表にまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>確認ポイント</th><th>対処法</th></tr></thead><tbody><tr><td>値が存在しない</td><td>マスタ側に該当データがあるか</td><td>データを追加するかIFERRORで対処</td></tr><tr><td>データ型の不一致</td><td>数値と文字列が混在していないか</td><td><a href="https://mashukabu.com/spreadsheet-value-function/">VALUE関数</a>で型を統一</td></tr><tr><td>余分なスペース</td><td>見えない空白が入っていないか</td><td><a href="https://mashukabu.com/spreadsheet-trim-function/">TRIM関数</a>で除去</td></tr><tr><td>範囲がズレている</td><td>絶対参照をつけ忘れていないか</td><td>F4キーで$をつける</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">#REF!エラー</span></h3>



<p>列番号が範囲の列数を超えているときに出ます。</p>



<p>たとえば範囲がA:Cの3列なのに、番号に4を指定した場合です。列を削除した直後にも起こりやすいので、範囲と番号の対応を確認してください。</p>



<h3 class="wp-block-heading"><span id="toc19">間違った値が返る</span></h3>



<p>エラーにはならないのに期待と違う値が返る。これが一番やっかいなケースです。</p>



<p>最も多い原因は「並べ替え済みを省略してTRUEになっている」パターンです。FALSEを明示すれば解決します。</p>



<p>もう1つは範囲の先頭列が検索対象と一致していないケースです。範囲の開始列を見直してみてください。</p>



<h2 class="wp-block-heading"><span id="toc20">VLOOKUP関数と他の検索関数の使い分け</span></h2>



<p>VLOOKUPは便利ですが、万能ではありません。場面に応じた関数選びのポイントを整理します。</p>



<h3 class="wp-block-heading"><span id="toc21">VLOOKUPの3つの制約</span></h3>



<ol class="wp-block-list"><li><strong>左方向に検索できない</strong>: 範囲の先頭列でしか検索できません</li><li><strong>列番号がハードコード</strong>: 列の挿入や削除で番号がズレます</li><li><strong>最初の一致しか返さない</strong>: 重複があっても先頭の1件だけです</li></ol>



<h3 class="wp-block-heading"><span id="toc22">VLOOKUP / XLOOKUP / INDEX+MATCH 比較表</span></h3>



<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>エラー時の既定値</td><td>IFERROR必要</td><td>引数で指定可</td><td>IFERROR必要</td></tr><tr><td>デフォルトの一致方式</td><td>近似一致</td><td>完全一致</td><td>完全一致（0指定）</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>



<h3 class="wp-block-heading"><span id="toc23">どの関数を選べばいい？</span></h3>



<p>判断基準はシンプルです。</p>



<ul class="wp-block-list"><li><strong>左方向の値を取りたい</strong> → <a href="https://mashukabu.com/spreadsheet-xlookup/">XLOOKUP関数</a>がベスト</li><li><strong>複数列の結果を一括で返したい</strong> → XLOOKUP関数がベスト</li><li><strong>条件に合う複数行を抽出したい</strong> → <a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>の出番</li><li><strong>シンプルな右方向の表引き</strong> → VLOOKUPで十分</li></ul>



<p>VLOOKUPは「古い関数」と言われることもあります。ただ、構文がシンプルで直感的なのは大きなメリットです。左方向検索が不要な場面ではVLOOKUPのほうが読みやすい数式になります。</p>



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



<p>VLOOKUP関数のポイントを振り返ります。</p>



<ul class="wp-block-list"><li>構文は <code>=VLOOKUP(検索キー, 範囲, 番号, 並べ替え済み)</code> の4引数</li><li>「並べ替え済み」は省略せずFALSEを明示するのが安全</li><li>範囲の絶対参照とIFERRORの組み合わせは実務の必須テクニック</li><li>#N/Aエラーは「データ型の不一致」や「余分なスペース」を疑う</li><li>左方向検索が必要なら<a href="https://mashukabu.com/spreadsheet-xlookup/">XLOOKUP関数</a>を検討</li></ul>



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



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-xlookup/">スプレッドシートのXLOOKUP関数の使い方｜VLOOKUPとの違いも解説</a></li><li><a href="https://mashukabu.com/spreadsheet-filter-function/">スプレッドシートのFILTER関数の使い方｜条件に合うデータを自動抽出</a></li><li><a href="https://mashukabu.com/spreadsheet-value-function/">スプレッドシートのVALUE関数の使い方｜文字列を数値に変換</a></li><li><a href="https://mashukabu.com/spreadsheet-trim-function/">スプレッドシートのTRIM関数の使い方｜余分なスペースを一括削除</a></li><li><a href="https://mashukabu.com/spreadsheet-sumif-function/">スプレッドシートのSUMIF関数の使い方｜条件付き合計</a></li><li><a href="https://mashukabu.com/spreadsheet-countif-function/">スプレッドシートのCOUNTIF関数の使い方｜条件付きカウント</a></li><li><a href="https://mashukabu.com/spreadsheet-today-function/">スプレッドシートのTODAY関数の使い方｜今日の日付を自動入力</a></li><li><a href="https://mashukabu.com/spreadsheet-text-function/">スプレッドシートのTEXT関数の使い方｜数値を任意の書式で表示</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-vlookup-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのVALUE関数の使い方｜文字列を数値に変換する方法</title>
		<link>https://mashukabu.com/spreadsheet-value-function/</link>
					<comments>https://mashukabu.com/spreadsheet-value-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 09:20:57 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[CSV]]></category>
		<category><![CDATA[DATEVALUE]]></category>
		<category><![CDATA[VALUE関数]]></category>
		<category><![CDATA[エラー対処]]></category>
		<category><![CDATA[数値変換]]></category>
		<category><![CDATA[文字列変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4274</guid>

					<description><![CDATA[スプレッドシートのVALUE関数を使えば、CSVや外部システム由来の「文字列数値」をSUM・VLOOKUPで使える数値に変換できます。*1・--との比較、日付変換の注意点、#VALUE!エラーの原因別チェックリストもまとめて解説。]]></description>
										<content:encoded><![CDATA[
<p>CSVをインポートしたらSUMで合計が出ない。見た目は数字なのに、計算に使えない。</p>



<p>こうなると原因を探すだけで時間が取られますよね。実はCSVや外部システムから取り込んだ数字は「文字列」として扱われていることが多いんです。</p>



<p>そんなときに使うのがVALUE関数です。文字列として格納された数字を、計算できる「数値」に一発変換してくれます。</p>



<p>この記事では、スプレッドシートのVALUE関数の基本から<code>*1</code>・<code>--</code>との違い、エラー別の対処法まで解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">VALUE関数とは？文字列を数値に変換する関数</a></li><li><a href="#toc2" tabindex="0">VALUE関数の基本的な使い方</a><ol><li><a href="#toc3" tabindex="0">構文と引数</a></li><li><a href="#toc4" tabindex="0">使用例：CSVデータの文字列数値を合計できるようにする</a></li></ol></li><li><a href="#toc5" tabindex="0">文字列→数値変換の3つの方法を比較｜VALUE・*1・&#8211;</a><ol><li><a href="#toc6" tabindex="0">3つの比較表</a></li></ol></li><li><a href="#toc7" tabindex="0">実務でよくある場面別の使い方</a><ol><li><a href="#toc8" tabindex="0">CSVインポートデータがSUMできない</a></li><li><a href="#toc9" tabindex="0">TEXT関数で変換した文字列を数値に戻す</a></li><li><a href="#toc10" tabindex="0">文字列形式の日付をシリアル値に変換する</a></li></ol></li><li><a href="#toc11" tabindex="0">#VALUE!エラーの原因と対処法</a><ol><li><a href="#toc12" tabindex="0">全角数字が混入している</a></li><li><a href="#toc13" tabindex="0">通貨記号・単位が含まれている</a></li><li><a href="#toc14" tabindex="0">英字や記号が混入している</a></li><li><a href="#toc15" tabindex="0">見えないスペース・制御文字がある</a></li><li><a href="#toc16" tabindex="0">IFERRORで安全に変換する</a></li></ol></li><li><a href="#toc17" tabindex="0">日付文字列の変換にはDATEVALUEも検討</a></li><li><a href="#toc18" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">VALUE関数とは？文字列を数値に変換する関数</span></h2>



<p>VALUE関数（読み方: バリュー関数）は、<strong>文字列を数値に変換する関数</strong>です。</p>



<p>名前は英語の「value（値）」からきています。Googleスプレッドシートでは「他の表計算アプリケーションとの互換性のために用意された関数」と説明されています。</p>



<p>VALUE関数で変換できる文字列は次の5種類です。</p>



<ul class="wp-block-list"><li>半角数字の文字列（例: &#8220;123&#8221;、&#8221;1.5&#8243;）</li><li>カンマ区切りの数値（例: &#8220;1,234&#8221;）</li><li>パーセント文字列（例: &#8220;75%&#8221;）→ 0.75に変換</li><li>日付文字列（例: &#8220;2024/3/15&#8243;）→ シリアル値に変換</li><li>時刻文字列（例: &#8220;12:30:00&#8243;）→ 0〜1の小数に変換</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>シリアル値とは、日付や時刻を数値で表したものです。日付は1899年12月30日を起点にした通し番号、時刻は1日を1とした小数で表されます。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=VALUE(テキスト)</code></pre>



<p>引数はひとつだけです。変換したい文字列をカッコの中に入れます。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>テキスト</td><td>必須</td><td>数値に変換したい文字列、またはセル参照</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc4">使用例：CSVデータの文字列数値を合計できるようにする</span></h3>



<p>CSVインポートで取り込んだ売上データがA列に入っているとします。見た目は数字ですが、セルの左寄せになっていて文字列扱いです。</p>



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



<p>A2が「12500」という文字列なら、結果は数値の12500です。これでSUMやVLOOKUPの対象として使えるようになります。</p>



<p>カンマ付きの文字列もそのまま変換できます。</p>



<pre class="wp-block-code"><code>=VALUE(&quot;1,234&quot;)     → 1234
=VALUE(&quot;75%&quot;)       → 0.75
=VALUE(&quot;2024/3/15&quot;) → 45366（日付のシリアル値）</code></pre>



<h2 class="wp-block-heading"><span id="toc5">文字列→数値変換の3つの方法を比較｜VALUE・*1・&#8211;</span></h2>



<p>スプレッドシートで文字列を数値に変換する方法は、VALUE関数だけではありません。<code>*1</code>（1を掛ける）や<code>--</code>（二重マイナス）も使えます。</p>



<h3 class="wp-block-heading"><span id="toc6">3つの比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>方法</th><th>書き方</th><th>特徴</th><th>日付・時刻文字列</th><th>主な用途</th></tr></thead><tbody><tr><td>VALUE関数</td><td><code>=VALUE(A1)</code></td><td>意図が明確で読みやすい</td><td>変換できる</td><td>文字列→数値の汎用変換</td></tr><tr><td>*1（乗算）</td><td><code>=A1*1</code></td><td>短く書ける</td><td>エラーになる場合あり</td><td>数値文字列のかんたん変換</td></tr><tr><td>&#8211;（二重マイナス）</td><td><code>=--A1</code></td><td>配列数式でよく使う</td><td>エラーになる場合あり</td><td>TRUE/FALSE→1/0の変換</td></tr></tbody></table></figure>



<p><code>*1</code>と<code>--</code>は短く書けて便利です。ただし日付や時刻の文字列はエラーになることがあります。</p>



<p>VALUE関数なら日付・時刻の文字列もシリアル値に変換できます。「何の文字列が入っているかわからない」ときはVALUE関数が安全です。</p>



<p><code>--</code>は主にIF関数やCOUNTIF関数の条件結果（TRUE/FALSE）を1/0に変換する用途で使われます。文字列の数値変換にも使えますが、本来の用途はブール値変換です。</p>



<h2 class="wp-block-heading"><span id="toc7">実務でよくある場面別の使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc8">CSVインポートデータがSUMできない</span></h3>



<p>もっとも多いパターンです。CSVや外部システムから貼り付けたデータは文字列になりがちです。</p>



<p>SUM関数で合計しても「0」になったら、文字列が原因かもしれません。セルが左寄せになっていないか確認してみてください。</p>



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



<p>B列にVALUE関数を入れて数値に変換し、SUMで集計すればOKです。</p>



<p>データが大量にあるときは、B2に数式を入れてからB列全体にコピーしましょう。変換後の値だけ残したい場合は、B列をコピーして「値のみ貼り付け」すると数式が消えてすっきりします。</p>



<h3 class="wp-block-heading"><span id="toc9">TEXT関数で変換した文字列を数値に戻す</span></h3>



<p><a href="https://mashukabu.com/spreadsheet-text-function/">TEXT関数</a>で日付や数値を表示用に整えたあと、その値を再び計算に使いたいことがあります。</p>



<pre class="wp-block-code"><code>=TEXT(45366, &quot;YYYY/MM/DD&quot;)  → &quot;2024/03/15&quot;（文字列）
=VALUE(&quot;2024/03/15&quot;)         → 45366（シリアル値に戻る）</code></pre>



<p>TEXT関数の結果は文字列です。計算に使うにはVALUE関数で数値に戻す必要があります。</p>



<h3 class="wp-block-heading"><span id="toc10">文字列形式の日付をシリアル値に変換する</span></h3>



<p>外部システムから取り込んだ日付が「2024/3/15」のように文字列で入っていることがあります。このままでは日付の計算ができません。</p>



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



<p>A2が「2024/3/15」なら、シリアル値（整数）が返ります。あとはセルの表示形式を「日付」に変更すれば、見た目も日付になります。</p>



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



<p>VALUE関数で変換できない文字列を渡すと#VALUE!エラーが出ます。原因は大きく5つです。</p>



<h3 class="wp-block-heading"><span id="toc12">全角数字が混入している</span></h3>



<p>Googleスプレッドシートでは全角数字を変換できません。「１２３」のような全角数字は#VALUE!エラーになります。</p>



<pre class="wp-block-code"><code>=VALUE(&quot;１２３&quot;)  → #VALUE!エラー</code></pre>



<p>ASC関数で半角に変換してからVALUE関数に渡しましょう。</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>ExcelのVALUE関数は全角数字もそのまま変換できます。スプレッドシートではASC関数との組み合わせが必須です。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc13">通貨記号・単位が含まれている</span></h3>



<p>「100円」「50個」のように単位付きの文字列は変換できません。</p>



<pre class="wp-block-code"><code>=VALUE(&quot;100円&quot;)  → #VALUE!エラー</code></pre>



<p><a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a>で単位を除去してから変換します。</p>



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



<h3 class="wp-block-heading"><span id="toc14">英字や記号が混入している</span></h3>



<p>「123abc」のように英字が混じった文字列も変換できません。</p>



<pre class="wp-block-code"><code>=VALUE(&quot;123abc&quot;)  → #VALUE!エラー</code></pre>



<p>SUBSTITUTE関数で英字部分を除去するか、そもそも英字が混入しないよう入力規則で防ぐのが根本解決です。</p>



<h3 class="wp-block-heading"><span id="toc15">見えないスペース・制御文字がある</span></h3>



<p>見た目は数字なのにエラーが出るときは、スペースや制御文字が混入している可能性があります。</p>



<p><a href="https://mashukabu.com/spreadsheet-trim-function/">TRIM関数</a>とCLEAN関数で前処理してから変換しましょう。</p>



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



<p>TRIM関数は余分なスペースを除去します。CLEAN関数は印刷できない制御文字を除去します。両方組み合わせるとほとんどのケースに対応できます。</p>



<h3 class="wp-block-heading"><span id="toc16">IFERRORで安全に変換する</span></h3>



<p>変換できない文字列が混在しているときは、IFERRORで囲むとエラーを回避できます。</p>



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



<p>エラーのときは空白を返します。これなら大量データを一括変換しても、エラーで止まることがありません。</p>



<p>原因別の対処法をまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>例</th><th>対処法</th></tr></thead><tbody><tr><td>全角数字</td><td>&#8220;１２３&#8221;</td><td><code>=VALUE(ASC(A1))</code></td></tr><tr><td>単位付き</td><td>&#8220;100円&#8221;、&#8221;50個&#8221;</td><td><code>=VALUE(SUBSTITUTE(A1,"円",""))</code></td></tr><tr><td>英字混在</td><td>&#8220;123abc&#8221;</td><td><code>=VALUE(SUBSTITUTE(A1,"abc",""))</code> または入力規則で防ぐ</td></tr><tr><td>スペース・制御文字</td><td>&#8221; 123 &#8220;</td><td><code>=VALUE(TRIM(CLEAN(A1)))</code></td></tr><tr><td>複数の原因が重なる</td><td>&#8220;　１００円&#8221;</td><td><code>=VALUE(SUBSTITUTE(ASC(TRIM(A1)),"円",""))</code></td></tr><tr><td>原因不明</td><td>—</td><td><code>=IFERROR(VALUE(A1),"")</code> で回避</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc17">日付文字列の変換にはDATEVALUEも検討</span></h2>



<p>VALUE関数は日付文字列もシリアル値に変換できます。ただし、日付専用のDATEVALUE関数もあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>入力</th><th>出力</th><th>使う場面</th></tr></thead><tbody><tr><td>VALUE</td><td>数値/日付/時刻すべて</td><td>数値（シリアル値含む）</td><td>入力の形式が不明なとき</td></tr><tr><td>DATEVALUE</td><td>日付文字列のみ</td><td>日付のシリアル値</td><td>確実に日付とわかっているとき</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=VALUE(&quot;2024/3/15&quot;)      → 45366
=DATEVALUE(&quot;2024/3/15&quot;)  → 45366</code></pre>



<p>結果は同じです。ただしDATEVALUE関数を使うと「この列は日付データ」という意図が数式を見た人に伝わります。確実に日付とわかっている列にはDATEVALUEを使うのがおすすめです。</p>



<p>一方、数値も日付も混在している列にはVALUE関数が向いています。どちらの形式でも変換してくれるからです。</p>



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



<p>VALUE関数は、文字列として格納された数字を計算できる数値に変換する関数です。</p>



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



<ul class="wp-block-list"><li>構文は <code>=VALUE(テキスト)</code> の1引数だけ</li><li>CSVインポートでSUMが効かないときの定番の解決策</li><li><code>*1</code>や<code>--</code>と違い、日付・時刻の文字列もシリアル値に変換できる</li><li>全角数字はASC関数、単位付きは<a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a>で前処理</li><li>#VALUE!エラーはIFERRORで回避できる</li><li>日付専用の変換にはDATEVALUE関数も検討</li></ul>



<p>まずは <code>=VALUE(A2)</code> でCSVデータの文字列数値を変換するところから試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-value-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのBAHTTEXT関数の使い方｜エラー対処と実務例</title>
		<link>https://mashukabu.com/excel-function-howto-use-bahttext/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-bahttext/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 20 Aug 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[BAHTTEXT関数]]></category>
		<category><![CDATA[IFERROR]]></category>
		<category><![CDATA[エラー対処]]></category>
		<category><![CDATA[タイ語変換]]></category>
		<category><![CDATA[テキスト関数]]></category>
		<category><![CDATA[請求書テンプレート]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2571</guid>

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



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



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



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




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

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p>エラーが心配な場合は <code>=IFERROR(BAHTTEXT(A1),"")</code> と書いておけば安心ですよ。タイ語の請求書テンプレートを作るときにぜひ活用してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-bahttext/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのSHEET関数の使い方｜シート番号取得と実務活用</title>
		<link>https://mashukabu.com/excel-function-howto-use-sheet/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-sheet/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 19 Jul 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[INDIRECT関数]]></category>
		<category><![CDATA[INFO関数]]></category>
		<category><![CDATA[SHEETS関数]]></category>
		<category><![CDATA[SHEET関数]]></category>
		<category><![CDATA[エラー対処]]></category>
		<category><![CDATA[シート番号]]></category>
		<category><![CDATA[情報関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2420</guid>

					<description><![CDATA[ExcelのSHEET関数でシート番号を取得する方法を徹底解説。引数4パターン（省略・シート名・セル参照・テーブル名）を比較表で整理し、SHEETS関数との違いも明確にします。INDIRECT関数との組み合わせ実務例や、#N/A・#REF!エラーの対処法まで網羅した完全ガイドです。]]></description>
										<content:encoded><![CDATA[
<p>「このシートって左から何番目だっけ？」と、手作業で数えた経験はありませんか？</p>



<p>シートが10枚、20枚と増えてくると、目視で順番を確認するのは手間がかかります。非表示シートがあると、正確な番号を把握するのはさらに大変です。</p>



<p><strong>ExcelのSHEET関数を使えば、シートの番号を数式で自動取得できます。</strong> この記事では引数の4パターンを比較表で整理し、SHEETS関数との違いやエラー対処法まで解説します。</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のSHEET関数とは？できることをおさらい</a><ol><li><a href="#toc2" tabindex="0">SHEET関数の読み方・基本構文</a></li><li><a href="#toc3" tabindex="0">シート番号の仕組み（左から1,2,3…非表示シートも含む）</a></li></ol></li><li><a href="#toc4" tabindex="0">SHEET関数の使い方｜引数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></ol></li><li><a href="#toc9" tabindex="0">SHEET関数とSHEETS関数の違い</a><ol><li><a href="#toc10" tabindex="0">一目でわかる比較表</a></li><li><a href="#toc11" tabindex="0">使い分けの判断基準</a></li></ol></li><li><a href="#toc12" tabindex="0">SHEET関数の実務活用パターン</a><ol><li><a href="#toc13" tabindex="0">INDIRECT関数と組み合わせてシートを動的参照する</a></li><li><a href="#toc14" tabindex="0">シートの並び順を数式でチェックする</a></li></ol></li><li><a href="#toc15" tabindex="0">SHEET関数のエラーと対処方法</a><ol><li><a href="#toc16" tabindex="0">#N/Aが表示される原因と解決策</a></li><li><a href="#toc17" tabindex="0">#REF!が表示される原因と解決策</a></li><li><a href="#toc18" tabindex="0">#NAME?が表示される原因と解決策</a></li></ol></li><li><a href="#toc19" tabindex="0">まとめ</a><ol><li><a href="#toc20" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのSHEET関数とは？できることをおさらい</span></h2>



<p>SHEET関数は、指定したシートの<strong>番号（位置）</strong>を返す関数です。「このシートはブック内で左から何番目にあるか」を数値で教えてくれます。</p>



<p>Excel 2016以降のすべてのバージョンとMicrosoft 365で使えます。</p>



<p>SHEET関数はExcelの<strong>情報関数</strong>カテゴリに分類されます。同じカテゴリには、Excelのバージョンや動作環境を取得できる<a href="https://mashukabu.com/excel-function-howto-use-info/">INFO関数</a>があります。</p>



<h3 class="wp-block-heading"><span id="toc2">SHEET関数の読み方・基本構文</span></h3>



<p>読み方は「<strong>シート関数</strong>」です。英語の「sheet」がそのまま関数名になっています。</p>



<pre class="wp-block-code"><code>=SHEET([値])</code></pre>



<p>引数の「値」は省略できます。省略した場合は、数式を入力したシートの番号を返します。</p>



<h3 class="wp-block-heading"><span id="toc3">シート番号の仕組み（左から1,2,3…非表示シートも含む）</span></h3>



<p>シート番号は、タブの左端から順に1, 2, 3…と割り振られます。固定IDではありません。シートを並べ替えたり追加・削除したりすると、番号も変わります。</p>



<p>ここで注意したいのが、<strong>非表示シートもカウントに含まれる</strong>点です。通常の非表示シートだけでなく、VBAで設定するVery Hidden（完全非表示）シートもカウント対象です。たとえば3枚のシートがあり、2番目が非表示の場合でも番号は1, 2, 3です。非表示だからといって飛ばされることはありません。</p>



<h2 class="wp-block-heading"><span id="toc4">SHEET関数の使い方｜引数4パターン比較</span></h2>



<p>SHEET関数は引数の指定方法が4種類あります。まず一覧で確認し、それぞれ詳しく見ていきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>パターン</th><th>数式の例</th><th>返す値</th></tr></thead><tbody><tr><td>引数を省略</td><td><code>=SHEET()</code></td><td>現在のシート番号</td></tr><tr><td>シート名を指定</td><td><code>=SHEET(売上)</code></td><td>「売上」シートの番号</td></tr><tr><td>セル参照で指定</td><td><code>=SHEET(Sheet2!A1)</code></td><td>Sheet2の番号</td></tr><tr><td>テーブル名・名前定義</td><td><code>=SHEET(売上テーブル)</code></td><td>テーブルがあるシートの番号</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">引数を省略する（現在シートの番号を取得）</span></h3>



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



<p>最もシンプルな使い方です。数式を入力したシートの番号が返ります。たとえば左から3番目のシートに入力すれば、結果は「3」です。</p>



<h3 class="wp-block-heading"><span id="toc6">シート名を直接指定する</span></h3>



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



<p>シート名をそのまま引数に入力します。<strong>ダブルクォーテーション（&#8221;）で囲む必要はありません。</strong> 「売上」シートが左から2番目にあれば、結果は「2」です。</p>



<p>シート名にスペースが含まれる場合も同様です。たとえば「売上 月別」というシート名でも、そのまま <code>=SHEET(売上 月別)</code> と入力できます。</p>



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



<pre class="wp-block-code"><code>=SHEET(Sheet2!A1)</code></pre>



<p>別シートのセルを参照する形式です。参照先のシートの番号が返ります。セルの値ではなく、セルが存在するシートの位置を取得するのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc8">テーブル名・名前付き範囲で指定する</span></h3>



<pre class="wp-block-code"><code>=SHEET(売上テーブル)</code></pre>



<p>テーブル名や名前の定義（ブックスコープ）を指定できます。そのテーブルや名前が存在するシートの番号を返します。</p>



<p>ただし、<strong>シートスコープの名前定義を指定すると#NAME?エラー</strong>になります。名前の定義を使う場合は、スコープがブック全体になっているか確認してください。</p>



<h2 class="wp-block-heading"><span id="toc9">SHEET関数とSHEETS関数の違い</span></h2>



<p>SHEET関数と<a href="https://mashukabu.com/excel-function-howto-use-sheets/">SHEETS関数</a>は名前が似ていて混同しやすい関数です。役割はまったく異なるので、しっかり区別しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc10">一目でわかる比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>SHEET関数</th><th><a href="https://mashukabu.com/excel-function-howto-use-sheets/">SHEETS関数</a></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>#REF! / #N/A / #NAME?</td><td>#REF!</td></tr><tr><td>用途例</td><td>このシートは何番目？</td><td>このブックに何枚ある？</td></tr></tbody></table></figure>



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



<ul class="wp-block-list"><li><strong>シートの「位置」を知りたい</strong> → SHEET関数</li><li><strong>シートの「枚数」を知りたい</strong> → SHEETS関数</li></ul>



<p>たとえば「現在のシートが左から何番目かを表示したい」ならSHEET関数です。「ブックにシートが全部で何枚あるか確認したい」なら<a href="https://mashukabu.com/excel-function-howto-use-sheets/">SHEETS関数</a>を使います。</p>



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



<p>SHEET関数は単体でもシート番号を取得できます。他の関数と組み合わせると、さらに便利に活用できます。</p>



<h3 class="wp-block-heading"><span id="toc13">INDIRECT関数と組み合わせてシートを動的参照する</span></h3>



<p>SHEET関数が返すのは数値（番号）です。<a href="https://mashukabu.com/excel-function-howto-use-indirect/">INDIRECT関数</a>（文字列をセル参照に変換する関数）はシート名の文字列が必要なので、直接組み合わせることはできません。</p>



<p>実務では、シート名の一覧をセルに用意しておく方法がよく使われます。A列にシート名の一覧があるとします。</p>



<pre class="wp-block-code"><code>=INDIRECT(&quot;'&quot;&amp;INDEX(A:A,SHEET())&amp;&quot;'!B1&quot;)</code></pre>



<p>SHEET関数で現在のシート番号を取得し、INDEX関数でA列からシート名を引き当てています。INDIRECT関数がそのシート名を使ってB1セルを動的に参照します。</p>



<h3 class="wp-block-heading"><span id="toc14">シートの並び順を数式でチェックする</span></h3>



<p>シートが想定どおりの順番になっているか確認する例です。</p>



<pre class="wp-block-code"><code>=IF(SHEET()=SHEETS(), &quot;最後のシートです&quot;, &quot;残り&quot;&amp;SHEETS()-SHEET()&amp;&quot;枚&quot;)</code></pre>



<p>SHEET関数で現在の番号を取得し、SHEETS関数の総数と比較しています。「最後のシートです」や「残り3枚」のように表示されます。</p>



<h2 class="wp-block-heading"><span id="toc15">SHEET関数のエラーと対処方法</span></h2>



<p>SHEET関数で表示されるエラーは主に3種類です。原因と対処法をそれぞれ確認しましょう。エラーの詳細は<a href="https://mashukabu.com/excel-error-value-list/">エラー値の種類と対処方法</a>も参考にしてください。</p>



<h3 class="wp-block-heading"><span id="toc16">#N/Aが表示される原因と解決策</span></h3>



<p><strong>原因</strong>: 存在しないシート名を引数に指定した場合に発生します。</p>



<pre class="wp-block-code"><code>=SHEET(受注)   → シート「受注」が存在しなければ #N/A</code></pre>



<p><strong>対処法</strong>: シート名のスペルを確認してください。タブに表示されている名前と完全に一致している必要があります。スペースの有無や全角・半角の違いにも注意しましょう。</p>



<h3 class="wp-block-heading"><span id="toc17">#REF!が表示される原因と解決策</span></h3>



<p><strong>原因</strong>: 数式が参照しているシートが削除された場合に発生します。</p>



<p>もともと存在していたシートを参照する数式を作成した後で、そのシートを削除すると#REF!になります。</p>



<p><strong>対処法</strong>: 削除したシートを復元するか、数式の参照先を修正してください。IFERROR関数で囲んでおくと、エラー時に代替値を表示できます。</p>



<h3 class="wp-block-heading"><span id="toc18">#NAME?が表示される原因と解決策</span></h3>



<p><strong>原因</strong>: スコープがシート限定の名前定義を引数に指定した場合に発生します。</p>



<pre class="wp-block-code"><code>=SHEET(シートスコープの名前)   → #NAME?</code></pre>



<p><strong>対処法</strong>: 「数式」タブの「名前の管理」でスコープを確認してください。「ブック」スコープの名前定義に変更すると解決します。</p>



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



<p>SHEET関数は、シートの番号（左からの位置）を返す関数です。</p>



<ul class="wp-block-list"><li><code>=SHEET()</code> で現在のシート番号を取得できる</li><li>引数にはシート名・セル参照・テーブル名を指定できる</li><li>シート名にダブルクォーテーションは不要</li><li><strong>非表示シートもカウント対象</strong>に含まれる</li><li><a href="https://mashukabu.com/excel-function-howto-use-sheets/">SHEETS関数</a>はシートの「枚数」、SHEET関数はシートの「番号」を返す</li></ul>



<p><a href="https://mashukabu.com/excel-function-howto-use-indirect/">INDIRECT関数</a>との組み合わせなど、応用の幅も広い関数です。ぜひ活用してみてください。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-sheets/">SHEETS関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-indirect/">INDIRECT関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-info/">INFO関数の使い方</a></li><li><a href="https://mashukabu.com/excel-error-value-list/">エラー値の種類と対処方法</a></li><li><a href="https://mashukabu.com/excel-function-alphabetical-order/">Excel関数 アルファベット順一覧</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-sheet/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのARABIC関数｜ローマ数字を数値に変換する使い方</title>
		<link>https://mashukabu.com/excel-function-howto-use-arabic/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-arabic/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 19 Jun 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[ARABIC関数]]></category>
		<category><![CDATA[ROMAN関数]]></category>
		<category><![CDATA[アラビア数字]]></category>
		<category><![CDATA[エラー対処]]></category>
		<category><![CDATA[ローマ数字]]></category>
		<category><![CDATA[数値変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2248</guid>

					<description><![CDATA[ExcelのARABIC関数は「IV」「XIV」などのローマ数字を数値に変換する関数です。書式・引数の基本から実務シナリオ3例、#VALUE!エラーの原因と対処、逆変換のROMANとのペア活用まで丁寧に解説します。]]></description>
										<content:encoded><![CDATA[
<p>「ローマ数字をExcelで数値に変換したいけど、どうすればいいの？」。手動で1つずつ読み替えるのは面倒ですよね。</p>



<p>変換ルールを覚えても、大量データになるとミスが起きやすいです。たとえば「MCMXCIX」が何の数字か、パッと答えられる人は少ないはずです。</p>



<p>この記事ではARABIC関数を使って、ローマ数字を一発でアラビア数字に変換する方法を解説します。エラー対処法や実務での活用パターンもまとめたので、ぜひ最後まで読んでみてください。</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">ARABIC関数とは</a><ol><li><a href="#toc2" tabindex="0">読み方と基本の役割</a></li><li><a href="#toc3" tabindex="0">ROMAN関数との関係（逆変換ペア）</a></li></ol></li><li><a href="#toc4" tabindex="0">ARABIC関数の書式と引数</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></ol></li><li><a href="#toc8" tabindex="0">ARABIC関数の使い方（基本例）</a><ol><li><a href="#toc9" tabindex="0">ローマ数字を直接入力して変換する</a></li><li><a href="#toc10" tabindex="0">セル参照でリスト一括変換する</a></li><li><a href="#toc11" tabindex="0">負のローマ数字を変換する</a></li></ol></li><li><a href="#toc12" tabindex="0">実務での活用シナリオ3選</a><ol><li><a href="#toc13" tabindex="0">シナリオ1：ローマ数字入りの商品番号を集計する</a></li><li><a href="#toc14" tabindex="0">シナリオ2：四半期表記（Q-I〜Q-IV）を数値化して並び替える</a></li><li><a href="#toc15" tabindex="0">シナリオ3：ARABIC＋ROMANで表記を統一する</a></li></ol></li><li><a href="#toc16" tabindex="0">ARABIC関数のエラーと対処法</a><ol><li><a href="#toc17" tabindex="0">#VALUE!が出る主な原因</a></li><li><a href="#toc18" tabindex="0">空文字・空白セルを指定したときの挙動</a></li></ol></li><li><a href="#toc19" tabindex="0">ROMAN関数との比較・使い分け</a></li><li><a href="#toc20" tabindex="0">まとめ</a><ol><li><a href="#toc21" tabindex="0">関数一覧</a></li></ol></li></ol>
    </div>
  </div>

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



<h3 class="wp-block-heading"><span id="toc2">読み方と基本の役割</span></h3>



<p>ARABIC関数の読み方は「アラビック関数」です。「アラビア数字の」という意味の英語がそのまま関数名になっています。</p>



<p>この関数は、ローマ数字の文字列をアラビア数字（普段使っている1, 2, 3のような数値）に変換します。Excel 2013で追加された関数で、Microsoft 365にも対応しています。</p>



<p>たとえば「XIV」を渡すと14が返ってきます。手動で変換ルールを計算する必要がなくなりますよ。</p>



<h3 class="wp-block-heading"><span id="toc3">ROMAN関数との関係（逆変換ペア）</span></h3>



<p>ARABIC関数には対になる<a href="https://mashukabu.com/excel-function-howto-use-roman/">ROMAN関数</a>があります。ROMAN関数はアラビア数字をローマ数字に変換する関数です。</p>



<p>つまり2つの関数は「逆変換ペア」の関係です。</p>



<ul class="wp-block-list"><li><strong>ARABIC関数</strong>: ローマ数字 → アラビア数字（文字列を数値に変換）</li><li><strong>ROMAN関数</strong>: アラビア数字 → ローマ数字（数値を文字列に変換）</li></ul>



<p>3999以内の値であれば、<code>=ARABIC(ROMAN(100))</code>のように組み合わせると元の値に戻ります。覚えておくと便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc4">ARABIC関数の書式と引数</span></h2>



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



<pre class="wp-block-code"><code>=ARABIC(文字列)</code></pre>



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



<h3 class="wp-block-heading"><span id="toc6">引数「文字列」の指定方法</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>型</th><th>説明</th></tr></thead><tbody><tr><td>文字列</td><td>必須</td><td>文字列</td><td>ローマ数字の文字列、またはローマ数字が入ったセル参照</td></tr></tbody></table></figure>



<p>指定方法は3つあります。</p>



<ul class="wp-block-list"><li><strong>直接入力</strong>: <code>=ARABIC("XIV")</code> のようにダブルクォーテーションで囲む</li><li><strong>セル参照</strong>: <code>=ARABIC(A1)</code> のようにセルを指定する</li><li><strong>他の関数の結果</strong>: <code>=ARABIC(ROMAN(100))</code> のように関数を組み合わせる</li></ul>



<h3 class="wp-block-heading"><span id="toc7">大文字・小文字は区別されない</span></h3>



<p>ARABIC関数はケースインセンシティブ（大文字・小文字を区別しない）です。以下はすべて同じ結果の14を返します。</p>



<pre class="wp-block-code"><code>=ARABIC(&quot;XIV&quot;)    → 14
=ARABIC(&quot;xiv&quot;)    → 14
=ARABIC(&quot;Xiv&quot;)    → 14</code></pre>



<p>データに大文字・小文字が混在していても、変換前にわざわざ揃える必要はありません。そのまま使えるのがうれしいポイントですね。</p>



<h2 class="wp-block-heading"><span id="toc8">ARABIC関数の使い方（基本例）</span></h2>



<h3 class="wp-block-heading"><span id="toc9">ローマ数字を直接入力して変換する</span></h3>



<p>もっともシンプルな使い方です。引数にローマ数字を直接書きます。</p>



<pre class="wp-block-code"><code>=ARABIC(&quot;I&quot;)        → 1
=ARABIC(&quot;V&quot;)        → 5
=ARABIC(&quot;X&quot;)        → 10
=ARABIC(&quot;L&quot;)        → 50
=ARABIC(&quot;C&quot;)        → 100
=ARABIC(&quot;D&quot;)        → 500
=ARABIC(&quot;M&quot;)        → 1000
=ARABIC(&quot;MCMXCIX&quot;)  → 1999</code></pre>



<p>ローマ数字の基本7文字と、それを組み合わせた文字列をそのまま変換できます。「IIII」のような非標準の書き方も4として認識されますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">セル参照でリスト一括変換する</span></h3>



<p>実務では、セルに入ったローマ数字をまとめて変換するケースが多いです。</p>



<p>たとえばA列にローマ数字が入っている場合、B1セルに次のように入力します。</p>



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



<p>あとはB1をコピーして下方向に貼り付ければ、リスト全体を一括で変換できます。前後にスペースが入っていても自動的に無視されるので、データのクリーニングは不要です。</p>



<h3 class="wp-block-heading"><span id="toc11">負のローマ数字を変換する</span></h3>



<p>ARABIC関数は負の値にも対応しています。ローマ数字の先頭にマイナス記号を付けると、負の数値を返します。</p>



<pre class="wp-block-code"><code>=ARABIC(&quot;-X&quot;)      → -10
=ARABIC(&quot;-MMXI&quot;)   → -2011</code></pre>



<p>ROMAN関数（アラビア数字→ローマ数字）は負数に対応していないので、この点はARABIC関数だけの特徴です。</p>



<h2 class="wp-block-heading"><span id="toc12">実務での活用シナリオ3選</span></h2>



<h3 class="wp-block-heading"><span id="toc13">シナリオ1：ローマ数字入りの商品番号を集計する</span></h3>



<p>商品番号に「MODEL-III」「MODEL-VII」のようなローマ数字が含まれているケースを考えます。ローマ数字部分を数値に変換すれば、集計や並び替えが簡単になります。</p>



<p>A列に商品番号、B列にローマ数字部分が入っていると仮定します。</p>



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



<p>B1が「III」なら3、「VII」なら7が返ります。この数値を使ってSUM関数やSORT機能で集計・並び替えができますよ。</p>



<p>もしローマ数字部分だけを取り出す必要があれば、SUBSTITUTE関数やMID関数と組み合わせます。SUBSTITUTE関数は文字列を置換する関数、MID関数は文字列の途中を取り出す関数です。</p>



<h3 class="wp-block-heading"><span id="toc14">シナリオ2：四半期表記（Q-I〜Q-IV）を数値化して並び替える</span></h3>



<p>レポートで「Q-I」「Q-II」「Q-III」「Q-IV」のような四半期表記を使うことがあります。このままではExcelは正しく並び替えできません。</p>



<p>A列に四半期表記が入っている場合、次の数式でローマ数字部分を取り出して変換します。</p>



<pre class="wp-block-code"><code>=ARABIC(MID(A1,3,LEN(A1)-2))</code></pre>



<p>この数式のポイントは次のとおりです。</p>



<ul class="wp-block-list"><li>MID関数（文字列の指定位置から取り出す関数）で3文字目以降を抽出</li><li>LEN関数（文字数を数える関数）で全体の文字数を取得</li><li>ARABIC関数で抽出したローマ数字を数値に変換</li></ul>



<p>結果は1〜4の数値になるので、並び替えやグラフの軸に使えます。</p>



<h3 class="wp-block-heading"><span id="toc15">シナリオ3：ARABIC＋ROMANで表記を統一する</span></h3>



<p>データに「IIII」（非標準）と「IV」（標準）が混在している場合、表記を統一できます。</p>



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



<p>ARABIC関数で一度数値に変換し、<a href="https://mashukabu.com/excel-function-howto-use-roman/">ROMAN関数</a>で標準形式のローマ数字に戻します。「IIII」も「IV」もどちらも4になり、ROMAN関数が「IV」として返してくれます。</p>



<p>データの見た目を揃えたいときに試してみてください。</p>



<h2 class="wp-block-heading"><span id="toc16">ARABIC関数のエラーと対処法</span></h2>



<h3 class="wp-block-heading"><span id="toc17">#VALUE!が出る主な原因</span></h3>



<p>ARABIC関数で<code>#VALUE!</code>エラーが出るのは、引数がローマ数字として認識できない場合です。主な原因は3つあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>入力例</th><th>説明</th></tr></thead><tbody><tr><td>ローマ数字以外の文字を含む</td><td><code>=ARABIC("ABC")</code></td><td>A・B・Cはローマ数字の文字ではない</td></tr><tr><td>数値を直接渡した</td><td><code>=ARABIC(14)</code></td><td>数値型は文字列型ではないのでエラー</td></tr><tr><td>日付や記号を渡した</td><td><code>=ARABIC("2024/1/1")</code></td><td>ローマ数字として解釈できない</td></tr></tbody></table></figure>



<p>数値を直接渡してエラーになるケースは意外と多いです。<code>=ARABIC(14)</code>ではなく<code>=ARABIC("XIV")</code>のように、必ず文字列で渡しましょう。</p>



<p>セルに入っている値が数値なのか文字列なのかわからない場合は、TYPE関数（データの型を調べる関数）で確認できます。エラーの詳細は<a href="https://mashukabu.com/excel-error-value-list/">Excelのエラー値一覧</a>も参考にしてみてください。</p>



<h3 class="wp-block-heading"><span id="toc18">空文字・空白セルを指定したときの挙動</span></h3>



<p>空文字列<code>""</code>を渡した場合、ARABIC関数はエラーにならず<strong>0</strong>を返します。</p>



<pre class="wp-block-code"><code>=ARABIC(&quot;&quot;)    → 0</code></pre>



<p>空白セルを参照した場合も同様に0が返ります。「0が入っていると困る」という場合は、IF関数で分岐させましょう。</p>



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



<p>これでA1が空白のときは空白、値があるときだけ変換を実行します。</p>



<h2 class="wp-block-heading"><span id="toc19">ROMAN関数との比較・使い分け</span></h2>



<p>ARABIC関数と<a href="https://mashukabu.com/excel-function-howto-use-roman/">ROMAN関数</a>は逆変換の関係ですが、仕様には非対称な部分があります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>ARABIC関数</th><th>ROMAN関数</th></tr></thead><tbody><tr><td>変換方向</td><td>ローマ数字 → 数値</td><td>数値 → ローマ数字</td></tr><tr><td>構文</td><td><code>=ARABIC(文字列)</code></td><td><code>=ROMAN(数値, [書式])</code></td></tr><tr><td>入力の型</td><td>文字列</td><td>数値</td></tr><tr><td>出力の型</td><td>数値</td><td>文字列</td></tr><tr><td>対応範囲</td><td>最大255,000（理論値）</td><td>1〜3999のみ</td></tr><tr><td>負の値</td><td>対応（<code>"-XIV"</code> → -14）</td><td>非対応（#VALUE!）</td></tr><tr><td>書式指定</td><td>なし</td><td>あり（0〜4で正式〜略式を選択）</td></tr><tr><td>対応バージョン</td><td>Excel 2013以降</td><td>全バージョン</td></tr></tbody></table></figure>



<p>覚えておきたいポイントは次の3つです。</p>



<ul class="wp-block-list"><li><strong>ROMAN関数は3999まで</strong>しか変換できないが、ARABIC関数は255,000まで対応する</li><li><strong>負の値はARABIC関数だけ</strong>が対応している</li><li>3999以内なら<code>=ARABIC(ROMAN(n))</code>で元の値に戻る<strong>完全互換</strong>になる</li></ul>



<p>「ローマ数字を数値に直したい」ならARABIC関数。「数値をローマ数字で表示したい」ならROMAN関数です。この使い分けを覚えておけば迷いませんよ。</p>



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



<p>この記事では、ExcelのARABIC関数でローマ数字をアラビア数字に変換する方法を解説しました。</p>



<ul class="wp-block-list"><li>ARABIC関数の構文は <code>=ARABIC(文字列)</code> で引数は1つだけ</li><li>大文字・小文字を区別せず、前後のスペースも自動で無視する</li><li>負のローマ数字にも対応している</li><li>空文字列は0を返し、無効な文字列は#VALUE!エラーになる</li><li>ペア関数の<a href="https://mashukabu.com/excel-function-howto-use-roman/">ROMAN関数</a>と組み合わせれば表記の統一もできる</li></ul>



<p>四半期表記の数値化や商品番号の集計など、実務で活躍する場面は意外と多いです。ぜひ使ってみてください。</p>



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



<p>各関数の解説記事へは下記のリンクからアクセスできます。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-alphabetical-order">アルファベット順 Excel関数一覧</a></li><li><a href="https://mashukabu.com/excel-function-list-by-function/">機能別 Excel関数一覧</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-arabic/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Excelエラー値12種類の原因と対処法一覧</title>
		<link>https://mashukabu.com/excel-error-value-list/</link>
					<comments>https://mashukabu.com/excel-error-value-list/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 10 Apr 2022 06:53:06 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[IFERROR]]></category>
		<category><![CDATA[エラー値]]></category>
		<category><![CDATA[エラー対処]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1611</guid>

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



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



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




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

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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

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



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



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



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

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



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



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



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



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



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

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



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



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



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



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



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



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



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



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



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



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

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



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



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



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



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



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



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



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



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



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

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

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



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



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



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



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



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



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



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



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

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



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



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



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

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



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



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



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



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



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

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

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



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



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



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

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



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



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



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



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



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



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

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



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



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



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

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



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



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



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



<ul class="wp-block-list"><li>列幅に対して数値や日付が長すぎる</li><li>日付・時刻の計算結果が負の値になっている（例: 終了時刻 &#8211; 開始時刻がマイナス）</li></ul>



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



<p>列幅の問題であれば、該当列のヘッダー右端をダブルクリックするだけで自動調整されます。</p>



<pre class="wp-block-code"><code>手順: 列ヘッダー（A, B, C...）の右端の境界線をダブルクリック
→ セルの内容に合わせて列幅が自動調整される</code></pre>



<p>負の日付値が原因の場合は、数式の計算ロジック自体を見直す必要があります。たとえば <code>=B1-A1</code> で開始時刻が終了時刻より大きいと負の値になるため、IF関数で順序をチェックしましょう。</p>



<h2 class="wp-block-heading"><span id="toc12">モダンExcel限定エラー4種（Microsoft 365 / Excel 2021以降）</span></h2>



<p>ここからはMicrosoft 365およびExcel 2021以降で追加された4つのエラー値です。動的配列数式やリンクデータ型に関連するもので、古いバージョンのExcelでは表示されません。</p>



<h3 class="wp-block-heading"><span id="toc13">#SPILL!（スピル）</span></h3>



<p><code>#SPILL!</code> は、動的配列数式の結果が複数セルに展開（スピル）されようとしたとき、展開先に障害物があると表示されるエラーです。</p>



<p><strong>よくある発生パターン（6種の原因）</strong></p>



<pre class="wp-block-code"><code>' NG例：スピル先にデータが入っている
=FILTER(A1:A10, B1:B10=&quot;東京&quot;)
→ 結果が3行に展開されるが、展開先のセルに既存データがある → #SPILL!

' NG例：結合セルがスピル範囲内にある
→ 結合セルは複数セルを占有するため、スピルの障害になる

' NG例：テーブル内でスピル数式を使用
→ Excelのテーブル機能はスピルに非対応</code></pre>



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



<p>エラーセルをクリックすると、スピル先の範囲が点線で表示されます。その範囲内にある既存データや結合セルを移動・解除してください。</p>



<pre class="wp-block-code"><code>' OK例：スピル先を空にしてから数式を入力
=FILTER(A1:A10, B1:B10=&quot;東京&quot;)
→ 展開先が空であれば正常にスピルされる</code></pre>



<p>FILTER、SORT、UNIQUE、SEQUENCE、RANDARRAYなどの<a href="https://mashukabu.com/excel-function-howto-use-filter/">動的配列関数</a>を使うときは、結果が展開される十分なスペースを確保しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc14">#CALC!（カルク）</span></h3>



<p><code>#CALC!</code> は、配列数式の計算結果が空の配列になったときに表示されます。もっとも多いのは、FILTER関数で条件に一致するデータが1件もないケースです。</p>



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



<pre class="wp-block-code"><code>' NG例：FILTER関数で一致ゼロ件
=FILTER(A1:A10, B1:B10=&quot;該当なし&quot;)
→ 条件に合うデータがない → 空の配列 → #CALC!

' NG例：LAMBDAの呼び出し忘れ
=LAMBDA(x, x*2)    → 引数を渡さず定義だけ → #CALC!</code></pre>



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



<p>FILTER関数の場合は、第3引数に「一致ゼロ件のときの代替値」を指定できます。</p>



<pre class="wp-block-code"><code>' OK例：FILTER関数の第3引数で代替値を指定
=FILTER(A1:A10, B1:B10=&quot;東京&quot;, &quot;該当データなし&quot;)
→ 一致ゼロ件のとき「該当データなし」と表示される</code></pre>



<p>この第3引数はFILTER関数の便利な機能なので、ぜひ覚えておいてください。</p>



<h3 class="wp-block-heading"><span id="toc15">#FIELD!（フィールド）</span></h3>



<p><code>#FIELD!</code> は、リンクデータ型（株価データ型・地理データ型）で、指定したフィールドが存在しないときに表示されるエラーです。</p>



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



<pre class="wp-block-code"><code>' NG例：存在しないフィールドを参照
=A1.人口    → A1が「株価」データ型で「人口」フィールドがない → #FIELD!</code></pre>



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



<p>セルをクリックしてデータ型のカードを開き、利用可能なフィールド一覧から正しいフィールド名を確認します。データ型を「地理」から「株価」に設定し直す必要がある場合もあります。</p>



<h3 class="wp-block-heading"><span id="toc16">#GETTING_DATA（ゲッティングデータ）</span></h3>



<p><code>#GETTING_DATA</code> は、外部ソースからデータを取得中であることを示す一時的な表示です。厳密にはエラーではなく、データの読み込みが完了すれば自動的に消えます。</p>



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



<p>基本的には待つだけで解消されます。数分経っても消えない場合は、以下を試してみてください。</p>



<ul class="wp-block-list"><li>ネットワーク接続を確認する</li><li><code>Ctrl + Alt + F9</code> で強制再計算を実行する</li><li>ファイルを保存してExcelを再起動する</li></ul>



<h2 class="wp-block-heading"><span id="toc17">エラー処理関数の使い分け</span></h2>



<p>エラーの原因を直すのが最善ですが、「データ未入力の段階ではエラーが出るのは仕方ない」というケースもあります。そんなときはエラー処理関数を使って、エラー表示を制御しましょう。</p>



<p>以下がエラー処理関数の使い分け早見表です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>キャッチするエラー</th><th>対応バージョン</th><th>使いどころ</th></tr></thead><tbody><tr><td>IFERROR</td><td>基本7種すべて</td><td>Excel 2007以降</td><td>エラーを空白や代替値に置き換えたいとき</td></tr><tr><td>IFNA</td><td><code>#N/A</code> のみ</td><td>Excel 2013以降</td><td>検索関数の「見つからない」だけを処理したいとき</td></tr><tr><td>ISERROR</td><td>基本7種すべて（TRUE/FALSE）</td><td>全バージョン</td><td>IF関数や条件付き書式と組み合わせたいとき</td></tr><tr><td>ISERR</td><td><code>#N/A</code> 以外の6種（TRUE/FALSE）</td><td>全バージョン</td><td><code>#N/A</code> を正常値として残したいとき</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">IFERROR &#8212; 全エラーを一括処理</span></h3>



<p><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>は、数式がエラーを返した場合に代替の値を表示する関数です。もっとも手軽で、実務で使用頻度が高い関数です。</p>



<pre class="wp-block-code"><code>=IFERROR(値, エラーの場合の値)

' 使用例：割り算のエラーを空白にする
=IFERROR(A1/B1, &quot;&quot;)

' 使用例：VLOOKUPのエラーに代替テキスト
=IFERROR(VLOOKUP(A1, D:E, 2, FALSE), &quot;未登録&quot;)</code></pre>



<p>便利な関数ですが、すべてのエラーを一括でキャッチしてしまう点には注意が必要です。数式にバグがあっても気づけなくなるリスクがあるため、「なぜエラーが出るのか」を理解したうえで使いましょう。</p>



<h3 class="wp-block-heading"><span id="toc19">IFNA &#8212; #N/Aだけを処理</span></h3>



<p>IFNA関数は、<code>#N/A</code> エラーだけをキャッチする関数です。<a href="https://mashukabu.com/excel-if-ifs-iferror-ifna-comparison/">IF系関数の使い分け</a>の中でも、検索関数とセットで使うのに最適です。</p>



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

' 使用例：VLOOKUPの検索ミスだけを処理
=IFNA(VLOOKUP(A1, D:E, 2, FALSE), &quot;該当なし&quot;)</code></pre>



<p>IFERRORとの違いは、<code>#N/A</code> 以外のエラー（<code>#REF!</code> や <code>#VALUE!</code> など）はそのまま表示される点です。つまり、数式のバグに気づきやすくなります。検索関数の「見つからない」を処理したいだけなら、IFERRORよりもIFNAを選ぶのがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc20">ISERROR / ISERR &#8212; IF関数と組み合わせた条件分岐</span></h3>



<p><a href="https://mashukabu.com/excel-function-howto-use-iserror/">ISERROR関数</a>と<a href="https://mashukabu.com/excel-function-howto-use-iserr/">ISERR関数</a>は、セルがエラーかどうかをTRUE/FALSEで返す関数です。単体では使わず、IF関数や条件付き書式と組み合わせて使います。</p>



<pre class="wp-block-code"><code>' ISERROR：基本7種すべてを検出
=IF(ISERROR(A1/B1), &quot;エラー&quot;, A1/B1)

' ISERR：#N/A以外の6種を検出
=IF(ISERR(A1/B1), &quot;計算エラー&quot;, A1/B1)</code></pre>



<p>条件付き書式のルール数式欄ではIFERROR関数が使えないため、エラーセルを色分けしたい場合にはISERROR関数が必須になります。</p>



<pre class="wp-block-code"><code>' 条件付き書式の数式例：エラーセルを赤くする
=ISERROR(A1)</code></pre>



<p><a href="https://mashukabu.com/excel-function-howto-use-iserr/">ISERR関数</a>は <code>#N/A</code> を検出しません。VLOOKUP等の検索結果で「見つからない」を正常扱いにしたい場面で活用できます。</p>



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



<p>Excelのエラー値12種類の原因と対処法を一覧で解説しました。最後にポイントを整理します。</p>



<ul class="wp-block-list"><li><strong>基本7種</strong>（<code>#DIV/0!</code>・<code>#VALUE!</code>・<code>#REF!</code>・<code>#NAME?</code>・<code>#N/A</code>・<code>#NUM!</code>・<code>#NULL!</code>）は全バージョン共通。原因のほとんどは「引数の型ミス」「参照先の消失」「スペルミス」のいずれか</li><li><strong><code>####</code> はエラーではない</strong>。列幅を広げるだけで解決する</li><li><strong>モダンエラー4種</strong>（<code>#SPILL!</code>・<code>#CALC!</code>・<code>#FIELD!</code>・<code>#GETTING_DATA</code>）はMicrosoft 365 / Excel 2021以降で発生する</li><li>エラー処理には<strong>IFNA > IFERROR</strong>の優先順位で検討する。IFNAなら数式バグを見逃しにくい</li><li>条件付き書式でエラーを判定するには<strong>ISERROR関数</strong>を使う</li></ul>



<p>エラーの種類と原因を押さえておくと、トラブルが発生しても慌てず対処できます。この一覧表をブックマークしておいて、困ったときにすぐ確認してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-error-value-list/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのVLOOKUP関数の使い方｜引数・エラー対処・INDEX+MATCHとの使い分けまで</title>
		<link>https://mashukabu.com/excel-function-howto-use-vlookup/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-vlookup/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 19 Mar 2022 10:11:08 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[INDEX MATCH]]></category>
		<category><![CDATA[VLOOKUP関数]]></category>
		<category><![CDATA[XLOOKUP]]></category>
		<category><![CDATA[エラー対処]]></category>
		<category><![CDATA[検索関数]]></category>
		<category><![CDATA[関数の使い方]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1390</guid>

					<description><![CDATA[ExcelのVLOOKUP関数の使い方を初心者向けに解説。基本構文・引数の意味・別シート参照から、#N/Aエラーの対処法、INDEX+MATCHやXLOOKUPとの使い分けまで網羅。]]></description>
										<content:encoded><![CDATA[
<p>「VLOOKUP関数を使いたいけど、引数の意味がわからない」「#N/Aエラーが出て困っている」という声はよく聞きます。VLOOKUPはExcel関数の中でもトップクラスの検索数を誇る人気関数です。ただ、引数が4つあるぶん最初はとっつきにくいですよね。</p>



<p>この記事では、VLOOKUPの基本的な書き方からエラーの直し方まで解説します。さらにINDEX+MATCHやXLOOKUPとの使い分けも紹介するので、読み終えるころには「VLOOKUPで困ることはほぼない」状態になれるはずです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>この記事は次のような人におすすめ</strong><br>&#8211; 表からデータを自動的に検索・取得したい人<br>&#8211; VLOOKUPのエラーが出て原因がわからない人<br>&#8211; INDEX+MATCHや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-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">VLOOKUP関数とは？</a><ol><li><a href="#toc2" tabindex="0">読み方と基本的な役割</a></li><li><a href="#toc3" tabindex="0">VLOOKUP関数が向いている場面</a></li></ol></li><li><a href="#toc4" tabindex="0">VLOOKUP関数の書き方（構文と引数）</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><li><a href="#toc11" tabindex="0">絶対参照のポイント（F4キー）</a></li></ol></li><li><a href="#toc12" tabindex="0">VLOOKUP関数の実務活用パターン</a><ol><li><a href="#toc13" tabindex="0">IFERROR関数と組み合わせてエラーを回避する</a></li><li><a href="#toc14" tabindex="0">近似一致（TRUE）で価格帯・ランク判定する</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">よくあるエラーと対処法</a><ol><li><a href="#toc18" tabindex="0">#N/Aエラー</a></li><li><a href="#toc19" tabindex="0">#REF!エラー</a></li><li><a href="#toc20" tabindex="0">間違った値が返る</a></li></ol></li><li><a href="#toc21" tabindex="0">VLOOKUPの弱点と代替関数の使い分け</a><ol><li><a href="#toc22" tabindex="0">VLOOKUPの3つの制約</a></li><li><a href="#toc23" tabindex="0">VLOOKUP / INDEX+MATCH / XLOOKUP 比較表</a></li><li><a href="#toc24" tabindex="0">どの関数を選べばいい？</a></li></ol></li><li><a href="#toc25" tabindex="0">まとめ</a><ol><li><a href="#toc26" tabindex="0">関連記事</a></li><li><a href="#toc27" 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">読み方と基本的な役割</span></h3>



<p>VLOOKUPは「ブイルックアップ」と読みます。Vertical（垂直）+ Lookup（検索）が名前の由来です。</p>



<p>やっていることはシンプルです。「この値を探して、同じ行にある別の列の値を持ってきて」という指示を出す関数です。</p>



<p>たとえば社員番号を入力したら名前や部署を自動で表示する。商品コードから価格を引っ張ってくる。こうした「表からデータを探す」作業を一発で片付けてくれます。</p>



<h3 class="wp-block-heading"><span id="toc3">VLOOKUP関数が向いている場面</span></h3>



<p>VLOOKUPが活躍するのは、次のような場面です。</p>



<ul class="wp-block-list"><li>マスタ表から情報を取得するとき（商品コード → 商品名など）</li><li>別シートのデータを参照したいとき</li><li>請求書や見積書でコードから自動入力したいとき</li></ul>



<p>「検索したい値が表の一番左にある」ならVLOOKUPの出番です。Excel 2007以前を含む全バージョンで使えるので、共有ファイルでも安心して使えます。</p>



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



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



<p>VLOOKUPの構文はこちらです。</p>



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>意味</th><th>指定例</th></tr></thead><tbody><tr><td>検索値</td><td>必須</td><td>探したい値。セル参照が一般的</td><td>A2</td></tr><tr><td>範囲</td><td>必須</td><td>検索対象の表。最左列に検索値を含むこと</td><td>B2:E100</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>



<p>ポイントは「範囲の左端列」で検索が行われることです。検索したい値が左端にない場合は、範囲の取り方を見直してください。</p>



<h3 class="wp-block-heading"><span id="toc7">検索の型（FALSE / TRUE）の使い分け</span></h3>



<p>ここがVLOOKUPで一番つまずきやすい部分です。</p>



<p><strong>FALSE（完全一致）</strong> は、検索値とぴったり一致するものだけを探します。実務の9割はこちらです。一致しなければ#N/Aエラーが返ります。</p>



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



<p><strong>TRUE（近似一致）</strong> は、検索値以下で最も大きい値を返します。料金表やランク判定で使います。ただし検索列の昇順ソートが必須です。</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>検索の型を省略するとデフォルトはTRUEになります。ここが最大の落とし穴です。「なんか変な値が返る」の原因は、たいていこの省略です。迷ったらFALSEを明示してください。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc9">同じシート内でデータを検索する</span></h3>



<p>商品コードから商品名を取得する例で見てみましょう。</p>



<p>B列〜D列に商品マスタがあるとします。B列が商品コード、C列が商品名、D列が価格です。</p>



<p>G2に入力したコードから商品名を取得するにはこう書きます。</p>



<pre class="wp-block-code"><code>=VLOOKUP(G2, B2:D100, 2, FALSE)</code></pre>



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



<ul class="wp-block-list"><li>G2：検索値（入力した商品コード）</li><li>B2:D100：範囲（商品マスタ全体）</li><li>2：範囲の左から2列目（商品名）を返す</li><li>FALSE：完全一致で検索</li></ul>



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



<p>実務では検索先が別シートにあることがほとんどです。シート名のあとに「!」をつけて範囲を指定します。</p>



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



<p>シート名に空白が含まれる場合は、シングルクォーテーションで囲みます。</p>



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



<p>別ブックのデータを参照する場合は、ブック名を角括弧で囲みます。</p>



<pre class="wp-block-code"><code>=VLOOKUP(A2, [顧客マスタ.xlsx]顧客情報!A:D, 4, FALSE)</code></pre>



<h3 class="wp-block-heading"><span id="toc11">絶対参照のポイント（F4キー）</span></h3>



<p>VLOOKUPを下方向にコピーすると、範囲がズレることがあります。範囲は絶対参照で固定しましょう。</p>



<p>セル参照を選択した状態でF4キーを押すと「$」がつきます。</p>



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



<p>検索値のA2は相対参照のまま、範囲だけ固定するのが正しい使い方です。</p>



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



<h3 class="wp-block-heading"><span id="toc13">IFERROR関数と組み合わせてエラーを回避する</span></h3>



<p>VLOOKUPは検索値が見つからないと#N/Aエラーを返します。資料の見栄えが悪いですし、後続の計算にも影響します。</p>



<p><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>で囲めば、エラー時に任意の値を表示できます。</p>



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



<p>実務では「該当なし」や空文字「&#8221;&#8221;」を指定するケースが多いです。</p>



<h3 class="wp-block-heading"><span id="toc14">近似一致（TRUE）で価格帯・ランク判定する</span></h3>



<p>売上金額からランクを判定する場面では、近似一致が便利です。</p>



<p>たとえば、ランク表が次のようになっているとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>下限金額</th><th>ランク</th></tr></thead><tbody><tr><td>0</td><td>C</td></tr><tr><td>100000</td><td>B</td></tr><tr><td>300000</td><td>A</td></tr><tr><td>500000</td><td>S</td></tr></tbody></table></figure>



<p>この表をF2:G5に置いたとします。B2の売上金額に対してランクを返すにはこう書きます。</p>



<pre class="wp-block-code"><code>=VLOOKUP(B2, $F$2:$G$5, 2, TRUE)</code></pre>



<p>B2が250,000なら「B」が返ります。250,000以下の最大値は100,000なので、その行のランクが選ばれるわけです。</p>



<p>近似一致を使うときは、下限金額を必ず昇順で並べてください。</p>



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



<p>検索の型をFALSEにしたまま、ワイルドカードで部分一致検索ができます。</p>



<pre class="wp-block-code"><code>=VLOOKUP(&quot;*東京*&quot;, A2:C100, 2, FALSE)</code></pre>



<p>「*」は任意の文字列、「?」は任意の1文字にマッチします。「東京」を含む最初のデータを探したいときに使えます。</p>



<p>セル参照を使う場合は「&#038;」で連結します。</p>



<pre class="wp-block-code"><code>=VLOOKUP(&quot;*&quot;&amp;E2&amp;&quot;*&quot;, A2:C100, 2, FALSE)</code></pre>



<h3 class="wp-block-heading"><span id="toc16">複数条件で検索する（補助列の活用）</span></h3>



<p>VLOOKUPは検索値をひとつしか指定できません。「部署」と「役職」の2条件で検索したい場合は、補助列を作りましょう。</p>



<p>補助列に2つの値を「&#038;」で連結した値を入れます。</p>



<pre class="wp-block-code"><code>=A2&amp;&quot;-&quot;&amp;B2</code></pre>



<p>VLOOKUPの検索値も同じように連結します。</p>



<pre class="wp-block-code"><code>=VLOOKUP(E2&amp;&quot;-&quot;&amp;F2, 補助列を含む範囲, 列番号, FALSE)</code></pre>



<p>補助列を増やしたくない場合は、<a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数</a>と<a href="https://mashukabu.com/excel-function-howto-use-match/">MATCH関数</a>の組み合わせも検討してください。</p>



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



<h3 class="wp-block-heading"><span id="toc18">#N/Aエラー</span></h3>



<p>「検索値が見つからない」という意味のエラーです。主な原因は次の4つです。</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>数値と文字列が混在していないか</td><td><a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数</a>で統一</td></tr><tr><td>余分なスペース</td><td>見えない空白が入っていないか</td><td><a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM関数</a>で除去</td></tr><tr><td>範囲がズレている</td><td>絶対参照をつけ忘れていないか</td><td>F4キーで$を付与</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc19">#REF!エラー</span></h3>



<p>列番号が範囲の列数を超えているときに出ます。</p>



<p>たとえば範囲がA:Cの3列なのに、列番号に4を指定した場合です。列を削除した直後にも起こりやすいエラーです。範囲と列番号の対応を見直してください。</p>



<h3 class="wp-block-heading"><span id="toc20">間違った値が返る</span></h3>



<p>エラーにはならないのに、期待と違う値が返る。これが一番やっかいなケースです。</p>



<p>最も多い原因は「検索の型を省略してTRUEになっているのに、データが昇順ソートされていない」パターンです。FALSEを明示すれば解決します。</p>



<p>もうひとつは範囲の最左列が検索対象と一致していないケースです。範囲の開始列を確認してみてください。</p>



<h2 class="wp-block-heading"><span id="toc21">VLOOKUPの弱点と代替関数の使い分け</span></h2>



<p>VLOOKUPは便利ですが、万能ではありません。弱点を知っておくと、場面に応じた関数選びがスムーズになります。</p>



<h3 class="wp-block-heading"><span id="toc22">VLOOKUPの3つの制約</span></h3>



<ol class="wp-block-list"><li><strong>左方向に検索できない</strong>: 範囲の最左列でしか検索できません。検索値の左側にある列の値は取得できません</li><li><strong>列番号がハードコード</strong>: 列の挿入や削除で番号がズレて壊れます</li><li><strong>最初の一致しか返さない</strong>: 重複データがあっても、最初に見つかった1件だけが返ります</li></ol>



<h3 class="wp-block-heading"><span id="toc23">VLOOKUP / INDEX+MATCH / XLOOKUP 比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>特徴</th><th>VLOOKUP</th><th>INDEX+MATCH</th><th>XLOOKUP</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>IFERROR必要</td><td>IFERROR必要</td><td>引数で指定可</td></tr><tr><td>デフォルトの一致方式</td><td>近似一致（TRUE）</td><td>完全一致（0指定）</td><td>完全一致</td></tr><tr><td>必要なExcelバージョン</td><td>全バージョン</td><td>全バージョン</td><td>2021以降 / 365</td></tr><tr><td>数式の読みやすさ</td><td>シンプル</td><td>やや複雑</td><td>シンプル</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc24">どの関数を選べばいい？</span></h3>



<p>判断基準はシンプルです。</p>



<ul class="wp-block-list"><li><strong>Excel 2021 / 365を使っている</strong> → <a href="https://mashukabu.com/excel-function-howto-use-xlookup/">XLOOKUP関数</a>を第一候補に。VLOOKUPの弱点をすべて解消しています</li><li><strong>古いバージョンとの互換性が必要</strong> → VLOOKUPで足りるならVLOOKUP。左方向検索が必要なら<a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数</a> + <a href="https://mashukabu.com/excel-function-howto-use-match/">MATCH関数</a></li><li><strong>シンプルな右方向検索だけ</strong> → VLOOKUPで十分です</li></ul>



<p>VLOOKUPは「古い関数」と言われることもありますが、多くの場面で今も問題なく使えます。無理に乗り換える必要はありません。</p>



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



<p>VLOOKUPのポイントを振り返ります。</p>



<ul class="wp-block-list"><li>構文は <code>=VLOOKUP(検索値, 範囲, 列番号, 検索の型)</code> の4引数</li><li>検索の型は省略せずFALSEを明示するのが安全</li><li>範囲の絶対参照とIFERRORの組み合わせは実務の必須テクニック</li><li>#N/Aエラーは「データ型の不一致」や「余分なスペース」を疑う</li><li>左方向検索や列追加への耐性が必要ならXLOOKUPやINDEX+MATCHを検討</li></ul>



<p>まずは基本の完全一致検索をマスターしましょう。そこからIFERRORやワイルドカードのテクニックを組み合わせてみてください。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-match/">ExcelのMATCH関数の使い方｜検索値の位置を取得する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-xlookup/">ExcelのXLOOKUP関数の使い方｜VLOOKUPとの違い・エラー対処まで解説</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-trim/">ExcelのTRIM関数の使い方｜余分なスペースを一括削除する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-substitute/">ExcelのSUBSTITUTE関数の使い方｜文字列を置き換える方法</a></li><li><a href="https://mashukabu.com/excel-function-alphabetical-order">アルファベット順 Excel関数一覧</a></li><li><a href="https://mashukabu.com/excel-function-list-by-function/">機能別 Excel関数一覧</a></li></ul>



<h3 class="wp-block-heading"><span id="toc27">エラー値についてのまとめ記事</span></h3>



<p>関数でエラーが発生した際に表示されるエラーの種類と対処方法は、以下の記事でまとめています。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-error-value-list/">【Excel】セルに表示されるエラーの種類と原因、対処方法を解説</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-vlookup/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
