<?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%9b%9e%e9%81%bf/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Sat, 18 Apr 2026 09:03:28 +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>ExcelのFIND関数の使い方｜文字位置を検索して文字列を抽出する</title>
		<link>https://mashukabu.com/excel-function-howto-use-find/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-find/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 18 Apr 2026 09:03:28 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[FIND関数]]></category>
		<category><![CDATA[SEARCH関数との違い]]></category>
		<category><![CDATA[エラー回避]]></category>
		<category><![CDATA[文字列抽出]]></category>
		<category><![CDATA[文字列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6048</guid>

					<description><![CDATA[ExcelのFIND関数の使い方を基本から解説。SEARCH関数との違い（大文字小文字区別・ワイルドカード可否）を比較表で即決。LEFT/MID/RIGHTとの組み合わせで商品コード・メールアドレスを実務的に抽出する方法と、IFERRORでエラーを回避するテクニックを紹介します。]]></description>
										<content:encoded><![CDATA[
<p>Excelで「商品コードのハイフンが何文字目にあるか調べたい」「メールアドレスの@の位置を取って、その前後を切り出したい」と思ったことはありませんか？ LEFT・MID・RIGHT関数は知っていても、「切り出し位置を自動で判定する」までつながらないと、結局セルごとに手作業で文字数を数える羽目になりますよね。</p>



<p>そんなときに使えるのが <strong>FIND関数</strong>（ファインド関数）です。 FIND（ファインド）は英語で「見つける」を意味し、指定した文字が何文字目にあるかを返してくれます。 返した位置をLEFT・MID・RIGHTの引数にそのまま渡せば、商品コード・メールアドレス・カッコ付き文字列を一発で分解できます。</p>



<p>この記事では、FIND関数の基本構文からSEARCH関数との違い、LEFT・MID・RIGHTとの組み合わせ実例3パターン、エラー回避まで、実務で使える知識を一通り解説しますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>対象バージョン:</strong> Excel 2016 / 2019 / 2021 / Microsoft 365（Windows・Mac共通）。Excel for the web・Googleスプレッドシートでも同じ構文で使えます。</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">FIND関数とSEARCH関数の違い：どちらを使うべきか</a></li><li><a href="#toc2" tabindex="0">FIND関数の基本構文と引数</a><ol><li><a href="#toc3" tabindex="0">書式</a></li><li><a href="#toc4" tabindex="0">戻り値は「1から数えた文字位置」</a></li><li><a href="#toc5" tabindex="0">大文字と小文字は別物として扱う</a></li><li><a href="#toc6" tabindex="0">#VALUE!エラーが出る条件</a></li><li><a href="#toc7" tabindex="0">ワイルドカードは使えない</a></li></ol></li><li><a href="#toc8" tabindex="0">FIND関数の基本的な使い方</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">FIND + LEFT/MID/RIGHT 組み合わせパターン3選</a><ol><li><a href="#toc12" tabindex="0">パターン①：商品コードのハイフン位置から型番を抽出する</a></li><li><a href="#toc13" tabindex="0">パターン②：メールアドレスの「@」位置でID・ドメインを分離する</a></li><li><a href="#toc14" tabindex="0">パターン③：全角カッコ「（」「）」の両位置からカッコ内を取り出す</a></li></ol></li><li><a href="#toc15" tabindex="0">2つ目の同一文字を探す：開始位置の指定テクニック</a><ol><li><a href="#toc16" tabindex="0">2つ目のハイフン位置を取得する基本形</a></li><li><a href="#toc17" tabindex="0">FIND+LENで可変長文字列に対応する</a></li></ol></li><li><a href="#toc18" tabindex="0">IFERROR + FIND でエラーを回避する</a><ol><li><a href="#toc19" tabindex="0">#VALUE!エラーの発生原因をおさらい</a></li><li><a href="#toc20" tabindex="0">「0返し」と「空文字返し」の使い分け</a></li></ol></li><li><a href="#toc21" tabindex="0">まとめ：FIND関数の活用ポイント</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">FIND関数とSEARCH関数の違い：どちらを使うべきか</span></h2>



<p>FIND関数の説明に入る前に、ほぼ同じ機能を持つ <strong>SEARCH関数</strong> との違いを先に片付けてしまいましょう。 ここを最初に整理しておくと、以降の解説で「なぜFINDを選ぶのか」が腹落ちしますよ。</p>



<p>両者の違いはシンプルで、ポイントは2つだけです。 1つ目は <strong>大文字小文字を区別するか</strong>、2つ目は <strong>ワイルドカードが使えるか</strong> です。</p>



<figure class="wp-block-table"><table><thead><tr><th>観点</th><th>FIND関数</th><th>SEARCH関数</th></tr></thead><tbody><tr><td>大文字・小文字の区別</td><td>区別する（厳密）</td><td>区別しない（柔軟）</td></tr><tr><td>ワイルドカード（<code>?</code> <code>*</code>）</td><td>非対応</td><td>対応</td></tr><tr><td>主な用途</td><td>完全一致・厳密な位置検索</td><td>表記ゆれ対応・あいまい検索</td></tr><tr><td>エラー条件</td><td>見つからない等で <code>#VALUE!</code></td><td>見つからない等で <code>#VALUE!</code></td></tr><tr><td>構文</td><td><code>=FIND(検索文字, 対象, [開始位置])</code></td><td><code>=SEARCH(検索文字, 対象, [開始位置])</code></td></tr></tbody></table></figure>



<p>使い分けは次のように覚えておけばOKです。 「<strong>データが厳密に揃っているならFIND、表記ゆれがあるならSEARCH</strong>」です。 商品コードやメールアドレスはFIND、ユーザーが自由に入力した文章内の検索はSEARCHが向いています。</p>



<p>SEARCH関数を詳しく知りたい方は、<a href="https://mashukabu.com/excel-function-howto-use-search/">SEARCH関数の使い方記事</a> も合わせて読んでみてくださいね。</p>



<h2 class="wp-block-heading"><span id="toc2">FIND関数の基本構文と引数</span></h2>



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



<p>FIND関数の構文は次のとおりです。</p>



<pre class="wp-block-code"><code>=FIND(find_text, within_text, [start_num])</code></pre>



<p>日本語で書き直すとこうなります。</p>



<pre class="wp-block-code"><code>=FIND(検索する文字, 対象の文字列, [開始位置])</code></pre>



<p>引数は3つあり、最後の開始位置だけ省略可能です。 それぞれの役割を表で確認しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th><th>指定例</th></tr></thead><tbody><tr><td>find_text（検索する文字）</td><td>必須</td><td>探したい文字列。1文字でも複数文字でも可</td><td><code>"-"</code>, <code>"@"</code>, <code>"abc"</code></td></tr><tr><td>within_text（対象の文字列）</td><td>必須</td><td>検索対象のセルまたは文字列</td><td><code>A1</code>, <code>"PRD-001-BK"</code></td></tr><tr><td>start_num（開始位置）</td><td>省略可</td><td>検索を始める文字位置。省略時は1</td><td><code>5</code> → 5文字目から検索</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc4">戻り値は「1から数えた文字位置」</span></h3>



<p>FIND関数が返すのは、<strong>検索文字が対象の中で最初にヒットした位置</strong> を1始まりの整数で表した値です。 たとえば「PRD-001-BK」の「-」を検索すると、1つ目のハイフンは4文字目にあるので4が返ります。</p>



<pre class="wp-block-code"><code>=FIND(&quot;-&quot;, &quot;PRD-001-BK&quot;)
→ 結果: 4</code></pre>



<h3 class="wp-block-heading"><span id="toc5">大文字と小文字は別物として扱う</span></h3>



<p>FINDの最大の特徴は <strong>大文字と小文字を厳密に区別する</strong> ことです。 「A」と「a」は別の文字として扱われるので、表記ゆれがあるデータだと意図通りにヒットしません。</p>



<pre class="wp-block-code"><code>=FIND(&quot;excel&quot;, &quot;I love Excel&quot;)
→ 結果: #VALUE!（&quot;excel&quot;（小文字）は見つからない）

=FIND(&quot;Excel&quot;, &quot;I love Excel&quot;)
→ 結果: 8（&quot;Excel&quot; は8文字目にある）</code></pre>



<p>この挙動が「厳密でありがたい」と感じるか「面倒」と感じるかで、FINDとSEARCHの使い分けが決まります。</p>



<h3 class="wp-block-heading"><span id="toc6">#VALUE!エラーが出る条件</span></h3>



<p>FIND関数でエラーが出るのは、主に次の2パターンです。 どちらもあとのIFERRORセクションで回避方法を紹介しますよ。</p>



<ol class="wp-block-list"><li><strong>検索文字が対象に含まれていない</strong>（例: <code>=FIND("z", "abc")</code> → 「z」は「abc」にない）</li><li><strong>start_numが0以下、またはwithin_textの文字数を超えている</strong>（例: <code>=FIND("a", "abc", 10)</code> → 対象は3文字しかない）</li></ol>



<h3 class="wp-block-heading"><span id="toc7">ワイルドカードは使えない</span></h3>



<p>FIND関数では <code>?</code>（任意の1文字）や <code>*</code>（任意の文字列）といったワイルドカードは使えません。 あいまい検索をしたい場合はSEARCH関数を使うか、<a href="https://mashukabu.com/excel-function-howto-use-substitute/">SUBSTITUTE関数</a> で前処理してからFINDに渡す、といった工夫が必要です。</p>



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



<h3 class="wp-block-heading"><span id="toc9">特定の文字が何文字目にあるかを調べる</span></h3>



<p>まずは一番シンプルな使い方からです。 セルA2に「PRD-001-BK」という商品コードが入っているとして、最初のハイフンが何文字目にあるかを調べてみましょう。</p>



<pre class="wp-block-code"><code>=FIND(&quot;-&quot;, A2)
→ 結果: 4</code></pre>



<p>「PRD」の3文字のあとにハイフンが来るので、4が返りますね。</p>



<h3 class="wp-block-heading"><span id="toc10">開始位置を指定して途中から検索する</span></h3>



<p>FIND関数の3つ目の引数 <code>start_num</code> を使うと、検索開始位置をずらせます。 たとえば「PRD-001-BK」の5文字目以降から「-」を探すとこうなります。</p>



<pre class="wp-block-code"><code>=FIND(&quot;-&quot;, A2, 5)
→ 結果: 8</code></pre>



<p>1つ目のハイフン（4文字目）は無視されて、2つ目のハイフン（8文字目）が見つかりましたね。 この「開始位置の指定」は、後述の「2つ目の同一文字を探す」テクニックで大活躍します。</p>



<h2 class="wp-block-heading"><span id="toc11">FIND + LEFT/MID/RIGHT 組み合わせパターン3選</span></h2>



<p>ここからが本記事のメインテーマです。 FIND関数は単独で使うことはほぼなく、LEFT・MID・RIGHTの切り出し位置を自動算出するパーツとして組み合わせるのが定番です。 実務でよく使う3パターンを具体的に見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン①：商品コードのハイフン位置から型番を抽出する</span></h3>



<p>商品コード「PRD-001-BK」から真ん中の型番「001」だけを取り出したいケースを考えます。 型番の前後はハイフンで挟まれているので、「1つ目のハイフンの次の文字」から「2つ目のハイフンの1つ前」までを切り出せばOKですね。</p>



<p>これを数式にするとこうなります。</p>



<pre class="wp-block-code"><code>=MID(A2, FIND(&quot;-&quot;, A2)+1, FIND(&quot;-&quot;, A2, FIND(&quot;-&quot;, A2)+1)-FIND(&quot;-&quot;, A2)-1)</code></pre>



<p>一見複雑ですが、パーツに分解すれば怖くありません。</p>



<ul class="wp-block-list"><li><code>FIND("-", A2)</code> → 1つ目のハイフン位置（4）</li><li><code>FIND("-", A2, FIND("-", A2)+1)</code> → 2つ目のハイフン位置（8）</li><li>開始位置: <code>FIND("-", A2)+1</code> = 5</li><li>文字数: <code>8 - 4 - 1</code> = 3</li></ul>



<p>結果として「001」が取り出せます。 MID関数の仕様を詳しく知りたい方は <a href="https://mashukabu.com/excel-function-howto-use-mid/">MID関数の使い方記事</a> も参考にしてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン②：メールアドレスの「@」位置でID・ドメインを分離する</span></h3>



<p>次はメールアドレスを「ユーザーID」と「ドメイン」に分離するパターンです。 「taro@example.com」のように <code>@</code> が1つだけあるフォーマットなので、FINDで <code>@</code> の位置を取れば左右に分解できます。</p>



<p>セルA2に <code>taro@example.com</code> が入っているとして、ユーザーID側を取り出す式はこうです。</p>



<pre class="wp-block-code"><code>=LEFT(A2, FIND(&quot;@&quot;, A2)-1)
→ 結果: taro</code></pre>



<p>「@の位置 &#8211; 1」の文字数だけ左から取り出せば、@ の直前までが切り出せますね。 LEFT関数の詳細は <a href="https://mashukabu.com/excel-function-howto-use-left/">LEFT関数の使い方記事</a> で解説しています。</p>



<p>続けてドメイン側です。 「全体の長さ &#8211; @の位置」の文字数を右から取ればOKで、可変長のドメインにも対応できます。</p>



<pre class="wp-block-code"><code>=RIGHT(A2, LEN(A2)-FIND(&quot;@&quot;, A2))
→ 結果: example.com</code></pre>



<p><code>LEN(A2)</code> で全体の文字数（16）を取り、そこから <code>@</code> の位置（5）を引いた11文字をRIGHTで切り出しています。 RIGHT関数は <a href="https://mashukabu.com/excel-function-howto-use-right/">RIGHT関数の使い方記事</a>、LEN関数は <a href="https://mashukabu.com/excel-function-howto-use-len/">LEN関数の使い方記事</a> に詳しい解説があります。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン③：全角カッコ「（」「）」の両位置からカッコ内を取り出す</span></h3>



<p>3つ目は「商品名（送料込み）」から、カッコ内の「送料込み」だけを抜き出すパターンです。 FIND関数を2回使って「（」と「）」の位置を取得し、MIDで挟まれた部分を切り出します。</p>



<p>セルA2に <code>商品名（送料込み）</code> が入っているとすると、式はこうなります。</p>



<pre class="wp-block-code"><code>=MID(A2, FIND(&quot;（&quot;, A2)+1, FIND(&quot;）&quot;, A2)-FIND(&quot;（&quot;, A2)-1)
→ 結果: 送料込み</code></pre>



<p>ロジックはパターン①と同じで、「（の次の位置」から「）の1つ前までの文字数」を取っているだけです。 全角カッコと半角カッコが混在するデータでは、SUBSTITUTEで統一してから処理すると安定しますよ。</p>



<h2 class="wp-block-heading"><span id="toc15">2つ目の同一文字を探す：開始位置の指定テクニック</span></h2>



<p>商品コード「PRD-001-BK」のように同じ文字が複数含まれるとき、「2つ目のハイフンだけを狙いたい」場面がよくあります。 ここで活躍するのが、FIND関数の3つ目の引数 <code>start_num</code> です。</p>



<h3 class="wp-block-heading"><span id="toc16">2つ目のハイフン位置を取得する基本形</span></h3>



<p>考え方はシンプルで、「1つ目のハイフン位置の次の文字から検索を再開する」というだけです。</p>



<pre class="wp-block-code"><code>=FIND(&quot;-&quot;, A2, FIND(&quot;-&quot;, A2)+1)
→ 結果: 8</code></pre>



<p>内側の <code>FIND("-", A2)</code> で1つ目のハイフン位置（4）を取り、<code>+1</code> した5文字目から再検索します。 そうすると2つ目のハイフン位置（8）が返ります。 この「FINDのネスト」は商品コード解析で頻出するパターンなので、覚えておくと武器になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc17">FIND+LENで可変長文字列に対応する</span></h3>



<p>ハイフン区切りのコードで、各パートの長さが可変になることもあります。 たとえば「PRD-12-BK」「PRD-0001-WH」のように型番の桁数がバラバラなケースです。</p>



<p>末尾の「BK」「WH」を取り出すには「2つ目のハイフンの次から末尾まで」を切り出せばよく、その文字数は <code>LEN - 2つ目のハイフン位置</code> で計算できます。</p>



<pre class="wp-block-code"><code>=RIGHT(A2, LEN(A2)-FIND(&quot;-&quot;, A2, FIND(&quot;-&quot;, A2)+1))</code></pre>



<p>セルA2が「PRD-0001-WH」なら、LENは11、2つ目のハイフン位置は9、差分は2なのでRIGHTで末尾2文字「WH」が取れます。 可変長データにFINDとLENを組み合わせるこの型は、応用範囲がとても広いですよ。</p>



<h2 class="wp-block-heading"><span id="toc18">IFERROR + FIND でエラーを回避する</span></h2>



<p>ここまで紹介した式は「必ず検索文字が含まれている」前提でしたが、実務データにはハイフンなしのコードやメールアドレス不備の行が混ざることがよくあります。 そのままFIND関数を通すと <code>#VALUE!</code> エラーが返り、以降の計算がすべて崩れてしまいます。 これを防ぐのが <a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a> との組み合わせです。</p>



<h3 class="wp-block-heading"><span id="toc19">#VALUE!エラーの発生原因をおさらい</span></h3>



<p>FIND関数でエラーになる代表的な原因は次の2つです。</p>



<ul class="wp-block-list"><li>検索文字がwithin_textに含まれていない（例: ハイフンなしの商品コード）</li><li>start_numが0以下、またはwithin_textの文字数より大きい</li></ul>



<p>どちらも「たまに混ざるイレギュラーなデータ」で発生しがちです。 集計シート全体が <code>#VALUE!</code> で埋め尽くされるのはよくある事故なので、IFERRORでの保険は必ず入れておきたいところです。</p>



<h3 class="wp-block-heading"><span id="toc20">「0返し」と「空文字返し」の使い分け</span></h3>



<p>IFERROR+FINDの書き方には、大きく分けて2パターンあります。</p>



<p><strong>パターン1：0を返す</strong></p>



<pre class="wp-block-code"><code>=IFERROR(FIND(&quot;-&quot;, A2), 0)</code></pre>



<p>エラー時に0を返す書き方です。 返り値を後続のMIDやLEFTに渡す場合や、ヒット数をカウントしたい場合に向いています。 0が返ったセルだけ別処理する、といった分岐にも使えますよ。</p>



<p><strong>パターン2：空文字を返す</strong></p>



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



<p>エラー時に空文字を返す書き方です。 一覧表示で「該当なしの行は空欄にしたい」ときに向いています。 ただし空文字は数値ではないので、後続の数式に直接つなぐとかえってエラーになることがあります。注意してください。</p>



<p><strong>使い分けの目安</strong></p>



<ul class="wp-block-list"><li>後続の数式で計算に使う → <strong>0返し</strong>（数値として扱える）</li><li>表示用・目視確認用 → <strong>空文字返し</strong>（0だと紛らわしい場面で有効）</li><li>LEFT/MID/RIGHTに直接つなぐ → IFERRORを <strong>外側に巻く</strong> 書き方が安全</li></ul>



<p>たとえばメールアドレスのID抽出なら、IFERRORを外側に巻く書き方が実用的です。</p>



<pre class="wp-block-code"><code>=IFERROR(LEFT(A2, FIND(&quot;@&quot;, A2)-1), &quot;&quot;)</code></pre>



<p>こう書いておけば、「@が含まれない不正なメールアドレス」の行は空欄になり、集計が止まりません。</p>



<h2 class="wp-block-heading"><span id="toc21">まとめ：FIND関数の活用ポイント</span></h2>



<p>FIND関数の使いどころを最後に整理しますね。</p>



<ul class="wp-block-list"><li><strong>基本</strong>: <code>=FIND(検索文字, 対象, [開始位置])</code> で1始まりの位置を返す。大文字小文字は <strong>区別する</strong>、ワイルドカードは <strong>非対応</strong></li><li><strong>SEARCH関数との使い分け</strong>: 厳密なデータ（コード・メールアドレス）はFIND、表記ゆれやあいまい検索はSEARCH</li><li><strong>LEFT/MID/RIGHTとの組み合わせが本領</strong>: 商品コードの型番抽出・メールアドレス分離・カッコ内抽出の3パターンはテンプレとして覚えると実務で即戦力</li><li><strong>開始位置の指定</strong> は「2つ目の同一文字」を狙うときの必須テクニック。FINDをネストするとシンプルに書ける</li><li><strong>FIND+LEN</strong> の組み合わせで可変長文字列にも対応できる</li><li><strong>IFERRORでの保険</strong> を忘れずに。0返しは数値計算向き、空文字返しは表示向き。LEFT/MID/RIGHTと組み合わせるときはIFERRORを外側に巻くのが安全</li></ul>



<p>FIND関数は単独で眺めるとシンプルですが、LEFT・MID・RIGHT・LEN・IFERROR・SUBSTITUTEと組み合わせることで、実務データをきれいにさばけるようになります。 文字列操作の全体像を俯瞰したい方は、<a href="https://mashukabu.com/excel-string-functions-guide/">Excelの文字列関数まとめ</a> もぜひ読んでみてくださいね。 1つずつ手を動かして試せば、「コードの分解は手作業でやる」状態から必ず卒業できますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-find/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
