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

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>MID関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのLEFT関数の使い方｜左から文字を抽出する基本と実務活用</title>
		<link>https://mashukabu.com/excel-function-howto-use-left/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-left/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 04 Apr 2026 04:32:44 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[FIND関数]]></category>
		<category><![CDATA[LEFTB関数]]></category>
		<category><![CDATA[LEFT関数]]></category>
		<category><![CDATA[MID関数]]></category>
		<category><![CDATA[RIGHT関数]]></category>
		<category><![CDATA[データ整形]]></category>
		<category><![CDATA[文字列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5782</guid>

					<description><![CDATA[ExcelのLEFT関数で文字列の左から指定文字数を抽出する方法を解説。基本構文、FIND関数との組み合わせ、MID・RIGHTとの比較、商品コード・郵便番号・都道府県の実務活用、エラー対処、FAQまで網羅します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelで「文字列の先頭から何文字かだけ取り出したい」と思ったことはありませんか。商品コードの頭2文字でカテゴリを判定したり、郵便番号の上3桁で地域を分類したりと、左から数文字だけ抜き出したい場面は意外と多いですよね。手作業でやると件数が増えるほどミスも増えてしまいます。</p>



<p class="wp-block-paragraph">そんなときに使えるのが <strong>LEFT関数</strong> です。左端から指定した文字数を一発で取り出せるので、データ整理がぐっと楽になりますよ。この記事では、LEFT関数の基本構文から<a href="https://mashukabu.com/excel-function-howto-use-mid/">MID関数</a>・<a href="https://mashukabu.com/excel-function-howto-use-right/">RIGHT関数</a>との比較、FIND関数との組み合わせ、よくあるエラー対処、FAQまで実務に直結する知識を順に解説します。</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共通）</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">LEFT関数とは？文字列の左から取り出す関数</a></li><li><a href="#toc2" tabindex="0">LEFT関数の書き方（構文・引数）</a><ol><li><a href="#toc3" tabindex="0">LEFT関数の基本構文</a></li><li><a href="#toc4" tabindex="0">文字数を省略すると1文字が返る</a></li><li><a href="#toc5" tabindex="0">LEFT関数の全角・半角のカウント方法</a></li></ol></li><li><a href="#toc6" tabindex="0">LEFT関数の基本的な使い方</a><ol><li><a href="#toc7" tabindex="0">LEFT関数でセル参照から左から取り出す</a></li><li><a href="#toc8" tabindex="0">文字数を多めに指定した場合のLEFT関数の動作</a></li><li><a href="#toc9" tabindex="0">LEFT関数の結果は常に文字列になる</a></li></ol></li><li><a href="#toc10" tabindex="0">LEFT関数の実務活用パターン</a><ol><li><a href="#toc11" tabindex="0">パターン1: 商品コードの頭2文字でカテゴリ判定（LEFT関数の基本活用）</a></li><li><a href="#toc12" tabindex="0">パターン2: 郵便番号の上3桁をLEFT関数で取り出す</a></li><li><a href="#toc13" tabindex="0">パターン3: 日付文字列から年だけLEFT関数で取り出す</a></li><li><a href="#toc14" tabindex="0">パターン4: LEFT関数とFIND関数で区切り文字の手前を取り出す</a></li><li><a href="#toc15" tabindex="0">パターン5: LEFT関数でメールアドレスから@より前を取り出す</a></li><li><a href="#toc16" tabindex="0">パターン6: LEFT関数で都道府県名を住所から抽出する</a></li><li><a href="#toc17" tabindex="0">LEFT関数の実務活用シーン早見表</a></li></ol></li><li><a href="#toc18" tabindex="0">LEFT関数でよくあるエラーと対処法</a><ol><li><a href="#toc19" tabindex="0">LEFT関数で#VALUE!エラーが出るケース</a></li><li><a href="#toc20" tabindex="0">LEFT関数を数値セルに使うと意図しない結果になる</a></li><li><a href="#toc21" tabindex="0">LEFT関数で空文字が返るケース</a></li></ol></li><li><a href="#toc22" tabindex="0">LEFT関数とLEFTB関数の違い</a></li><li><a href="#toc23" tabindex="0">LEFT関数と似た関数の使い分け</a><ol><li><a href="#toc24" tabindex="0">LEFT関数とMID関数の使い分け</a></li></ol></li><li><a href="#toc25" tabindex="0">LEFT関数のよくある質問（FAQ）</a><ol><li><a href="#toc26" tabindex="0">Q1. LEFT関数で取り出した数字を計算に使うには？</a></li><li><a href="#toc27" tabindex="0">Q2. LEFT関数とFIND関数を組み合わせたときにエラーが出ます</a></li><li><a href="#toc28" tabindex="0">Q3. LEFT関数で全角と半角を別々に数えたい</a></li><li><a href="#toc29" tabindex="0">Q4. LEFT関数で日付セルから年を取り出すと数字が変になります</a></li><li><a href="#toc30" tabindex="0">Q5. LEFT関数の結果をそのまま IF 関数の判定に使えますか？</a></li><li><a href="#toc31" tabindex="0">Q6. LEFT関数で複数の区切り文字に対応したい</a></li></ol></li><li><a href="#toc32" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">LEFT関数とは？文字列の左から取り出す関数</span></h2>



<p class="wp-block-paragraph">ExcelのLEFT関数は、文字列の <strong>左端（先頭）から指定した文字数</strong> を取り出す関数です。読み方は「レフト」で、英語の「Left（左）」がそのまま由来になっています。</p>



<p class="wp-block-paragraph">たとえば「東京都渋谷区」から「東京都」だけ取り出したり、「AB-001」から「AB」だけ取り出したり、といった操作が1つの関数で完了します。文字列をパーツに分解して別の列に並べたいときの定番ツールです。</p>



<p class="wp-block-paragraph">Excelには文字を取り出す関数が3つあります。まずは全体像を表で確認しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>取り出す位置</th><th>引数</th><th>使いどころ</th></tr></thead><tbody><tr><td>LEFT</td><td>先頭（左端）から</td><td>文字列, 文字数</td><td>先頭のコード・郵便番号上3桁など</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-right/">RIGHT</a></td><td>末尾（右端）から</td><td>文字列, 文字数</td><td>末尾の拡張子・年度下2桁など</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-mid/">MID</a></td><td>任意の位置から</td><td>文字列, 開始位置, 文字数</td><td>コード中央の分類番号など</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">LEFT関数は「先頭から何文字」と指定するだけなので、3つの中で一番シンプルです。文字列操作の入門としてもおすすめですよ。なお、文字数を数える<a href="https://mashukabu.com/excel-function-howto-use-len/">LEN関数</a>や、行数を数える<a href="https://mashukabu.com/excel-function-howto-use-rows/">ROWS関数</a>もデータ整形の場面でセットで使えるので覚えておくと便利です。</p>



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



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



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



<pre class="wp-block-code"><code>=LEFT(文字列, [文字数])</code></pre>



<p class="wp-block-paragraph">引数は2つで、文字数は省略可能です。それぞれの役割を表で確認しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th><th>指定例</th></tr></thead><tbody><tr><td>文字列</td><td>必須</td><td>取り出し元の文字列またはセル参照</td><td>A1, &#8220;ABCDE&#8221;</td></tr><tr><td>文字数</td><td>省略可</td><td>先頭から何文字取り出すか（省略時は1）</td><td>3 → 先頭3文字</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">文字数には正の整数を指定します。0を指定すると空文字、負の数を指定すると #VALUE! エラーになります。マイナス値は意図せず発生しやすいので注意してくださいね（後述の「よくあるエラー」で詳しく解説します）。</p>



<h3 class="wp-block-heading"><span id="toc4">文字数を省略すると1文字が返る</span></h3>



<p class="wp-block-paragraph">文字数を省略した場合、先頭の <strong>1文字だけ</strong> が返ります。</p>



<pre class="wp-block-code"><code>=LEFT(&quot;Excel&quot;)
→ 結果: &quot;E&quot;</code></pre>



<p class="wp-block-paragraph">「とりあえず先頭1文字がほしい」ときは、文字数を書かなくてOKです。ただし可読性の観点からは <code>=LEFT(A1, 1)</code> のように明示する方が、後で式を読み直したときにわかりやすくなります。</p>



<h3 class="wp-block-heading"><span id="toc5">LEFT関数の全角・半角のカウント方法</span></h3>



<p class="wp-block-paragraph">LEFT関数では、全角文字も半角文字も <strong>1文字=1</strong> としてカウントされます。バイト単位ではなく、見た目どおりの文字数で数える点が重要です。</p>



<pre class="wp-block-code"><code>=LEFT(&quot;エクセル&quot;, 2)
→ 結果: &quot;エク&quot;

=LEFT(&quot;Excel&quot;, 2)
→ 結果: &quot;Ex&quot;</code></pre>



<p class="wp-block-paragraph">どちらも2文字として扱われます。バイト数で計算したい場合は後述のLEFTB関数を使いますが、通常の業務ではLEFT関数で問題ありません。</p>



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



<h3 class="wp-block-heading"><span id="toc7">LEFT関数でセル参照から左から取り出す</span></h3>



<p class="wp-block-paragraph">実務では直接値を書くよりセル参照を使うのが一般的です。セルA1に「PRD-001-BK」が入っている場合を見てみましょう。</p>



<pre class="wp-block-code"><code>=LEFT(A1, 3)
→ 結果: &quot;PRD&quot;</code></pre>



<p class="wp-block-paragraph">先頭から3文字分、つまり「PRD」が取り出されます。ハイフンやスペースも1文字としてカウントされるので注意してくださいね。商品コードのプレフィックスを抜き出す典型例です。</p>



<h3 class="wp-block-heading"><span id="toc8">文字数を多めに指定した場合のLEFT関数の動作</span></h3>



<p class="wp-block-paragraph">「文字列の長さより大きい数を指定したらどうなるの？」と気になる方もいるかもしれません。結論から言うと、エラーにはなりません。文字列全体がそのまま返ります。</p>



<pre class="wp-block-code"><code>=LEFT(&quot;Hello&quot;, 100)
→ 結果: &quot;Hello&quot;</code></pre>



<p class="wp-block-paragraph">はみ出した分は無視されるので、安心して使ってください。長さがばらつくデータでも安全に処理できる仕様です。</p>



<h3 class="wp-block-heading"><span id="toc9">LEFT関数の結果は常に文字列になる</span></h3>



<p class="wp-block-paragraph">LEFT関数の結果は <strong>常に文字列</strong> です。数字を取り出しても、そのままでは計算に使えません。</p>



<pre class="wp-block-code"><code>=LEFT(&quot;12345&quot;, 3)
→ 結果: &quot;123&quot;（文字列として返る）</code></pre>



<p class="wp-block-paragraph">取り出した数字でSUM関数やIF関数の計算をしたいときは、VALUE関数で数値に変換する必要があります。</p>



<pre class="wp-block-code"><code>=VALUE(LEFT(A1, 3))</code></pre>



<p class="wp-block-paragraph">VALUE関数で囲むだけで、数値として扱えるようになりますよ。逆に数値判定で <code>=LEFT(A1, 3) = 123</code> のように比較すると常に FALSE になるので、比較対象も文字列にして <code>= "123"</code> と書くか、VALUE関数で数値化してから比較しましょう。</p>



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



<p class="wp-block-paragraph">ここからは、実務でよく使う活用パターンを紹介します。基本から応用まで段階的に見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン1: 商品コードの頭2文字でカテゴリ判定（LEFT関数の基本活用）</span></h3>



<p class="wp-block-paragraph">商品コード「AB-001」「CD-002」のように、先頭2文字がカテゴリを表しているケースです。</p>



<pre class="wp-block-code"><code>=LEFT(A1, 2)
→ 結果: &quot;AB&quot;</code></pre>



<p class="wp-block-paragraph">取り出した2文字を使って、IF関数やVLOOKUP関数で分類処理につなげられます。LEFT関数は「他の関数への橋渡し役」としても活躍しますよ。たとえば次のようにマスタ表を参照すれば、コード先頭からカテゴリ名を引いてくることもできます。</p>



<pre class="wp-block-code"><code>=VLOOKUP(LEFT(A1, 2), カテゴリマスタ, 2, FALSE)</code></pre>



<p class="wp-block-paragraph">商品分類・店舗分類・部門コードなどで頻出のパターンです。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン2: 郵便番号の上3桁をLEFT関数で取り出す</span></h3>



<p class="wp-block-paragraph">「123-4567」形式の郵便番号から、上3桁（地域コード）を取り出す例です。</p>



<pre class="wp-block-code"><code>=LEFT(A1, 3)
→ 結果: &quot;123&quot;</code></pre>



<p class="wp-block-paragraph">先頭3文字を取るだけなので、ハイフンの位置を気にする必要はありません。郵便番号を地域ごとに集計・分類したいときに便利です。配送料区分の判定や、エリア別の売上集計でよく使う処理ですね。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン3: 日付文字列から年だけLEFT関数で取り出す</span></h3>



<p class="wp-block-paragraph">「2026-04-04」のようなテキスト形式の日付から年だけ取り出す場合です。</p>



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



<p class="wp-block-paragraph">年が先頭4文字に入っているので、LEFT関数でスパッと取り出せます。ただし、セルが日付型（シリアル値）の場合は表示と異なる結果になるので注意が必要です。日付型の場合はTEXT関数で文字列に変換してから使いましょう。</p>



<pre class="wp-block-code"><code>=LEFT(TEXT(A1, &quot;YYYY-MM-DD&quot;), 4)</code></pre>



<p class="wp-block-paragraph">なお、シリアル値から年だけを数値で取り出したい場合は、専用の<a href="https://mashukabu.com/excel-function-howto-use-year/">YEAR関数</a>を使う方が確実です。LEFT関数はあくまで「文字列の左から取る」関数だと覚えておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン4: LEFT関数とFIND関数で区切り文字の手前を取り出す</span></h3>



<p class="wp-block-paragraph">ここからが実務で大活躍するパターンです。「田中 太郎」からスペースの手前「田中」を取り出す場合を考えましょう。</p>



<p class="wp-block-paragraph">姓の長さは人によって違うので、文字数を固定できません。こうした <strong>可変長データ</strong> には<a href="https://mashukabu.com/excel-function-howto-use-find/">FIND関数</a>（検索文字の位置を返す関数）が頼りになります。</p>



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



<p class="wp-block-paragraph">この式を分解すると、次のとおりです。</p>



<ol class="wp-block-list"><li><code>FIND(" ", A1)</code> → スペースの位置を取得（「田中 太郎」なら3）</li><li><code>- 1</code> → スペースの1つ手前まで（3-1=2文字）</li><li><code>LEFT(A1, 2)</code> → 先頭から2文字「田中」を取り出す</li></ol>



<p class="wp-block-paragraph">FIND関数が区切り文字の位置を自動で見つけてくれるので、姓が2文字でも3文字でも対応できますよ。「田中 太郎」「佐々木 花子」のように姓の長さが混在しても1つの式で処理できるのが大きなメリットです。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン5: LEFT関数でメールアドレスから@より前を取り出す</span></h3>



<p class="wp-block-paragraph">「tanaka@example.com」から「tanaka」を取り出すケースです。パターン4と同じ考え方で、区切り文字を <code>@</code> に変えるだけで対応できます。</p>



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



<p class="wp-block-paragraph"><code>FIND("@", A1)</code> で@の位置（7）を取得し、そこから1を引いた6文字をLEFTで取り出しています。社内データのユーザー名抽出や、顧客リストのドメイン振り分けなどで重宝するパターンです。</p>



<p class="wp-block-paragraph">ただし、@が含まれないデータが混在する場合はFIND関数がエラーを返します。<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>（エラー時に別の値を返す関数）で囲んでおくと安心です。</p>



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



<p class="wp-block-paragraph">エラー時は空文字を返すので、他のデータに影響しません。</p>



<h3 class="wp-block-heading"><span id="toc16">パターン6: LEFT関数で都道府県名を住所から抽出する</span></h3>



<p class="wp-block-paragraph">住所データから都道府県名だけを取り出す場面はとても多いですよね。ただし、都道府県名は「東京都」が3文字、「神奈川県」が4文字と長さが異なるのが厄介です。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>を使って、4文字の都道府県かどうかで分岐させる方法が定番です。</p>



<pre class="wp-block-code"><code>=IF(MID(A1,4,1)=&quot;県&quot;, LEFT(A1,4), LEFT(A1,3))</code></pre>



<p class="wp-block-paragraph">この式の考え方はこうです。</p>



<ol class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-mid/">MID関数</a>で4文字目を確認</li><li>4文字目が「県」なら4文字の県（神奈川県、和歌山県、鹿児島県）</li><li>そうでなければ3文字（東京都、大阪府、北海道、その他の県）</li></ol>



<p class="wp-block-paragraph">「北海道」は3文字なので3文字パターンで取得できます。多くの実務データではこの方法で十分対応できますよ。顧客住所マスタの整備や、エリア別の集計表を作るときの基本テクニックです。</p>



<h3 class="wp-block-heading"><span id="toc17">LEFT関数の実務活用シーン早見表</span></h3>



<p class="wp-block-paragraph">ここまで紹介したパターンを実務シーン別にまとめておきます。自分の業務に近いものから試してみてください。</p>



<figure class="wp-block-table"><table><thead><tr><th>業務シーン</th><th>データ例</th><th>LEFT関数の式</th></tr></thead><tbody><tr><td>商品分類</td><td>AB-001</td><td><code>=LEFT(A1, 2)</code></td></tr><tr><td>郵便番号の地域コード</td><td>123-4567</td><td><code>=LEFT(A1, 3)</code></td></tr><tr><td>文字列の日付から年抽出</td><td>2026-04-04</td><td><code>=LEFT(A1, 4)</code></td></tr><tr><td>氏名から姓抽出</td><td>田中 太郎</td><td><code>=LEFT(A1, FIND(" ", A1) - 1)</code></td></tr><tr><td>メールアドレスのユーザー名</td><td>tanaka@example.com</td><td><code>=LEFT(A1, FIND("@", A1) - 1)</code></td></tr><tr><td>住所から都道府県</td><td>東京都渋谷区&#8230;</td><td><code>=IF(MID(A1,4,1)="県", LEFT(A1,4), LEFT(A1,3))</code></td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">LEFT関数を使っていて「あれ？」となるケースをまとめました。事前に知っておくとトラブルを未然に防げます。</p>



<h3 class="wp-block-heading"><span id="toc19">LEFT関数で#VALUE!エラーが出るケース</span></h3>



<p class="wp-block-paragraph">#VALUE! エラーの原因はほぼ1つです。</p>



<ul class="wp-block-list"><li><strong>文字数にマイナスの値を指定している</strong></li></ul>



<pre class="wp-block-code"><code>=LEFT(A1, -1)
→ #VALUE! エラー</code></pre>



<p class="wp-block-paragraph">FIND関数と組み合わせたときに起こりやすいパターンです。検索文字が見つからないとFIND関数が #VALUE! を返し、LEFT関数にも波及します。たとえば <code>=LEFT(A1, FIND("-", A1) - 1)</code> で対象文字列にハイフンが含まれていない場合、FIND がエラーになり結果として #VALUE! が出ます。</p>



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



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>で囲んでおけば、区切り文字がないデータでもエラーになりません。元の値をそのまま返す設計にしておくと、後工程での扱いが楽になります。</p>



<h3 class="wp-block-heading"><span id="toc20">LEFT関数を数値セルに使うと意図しない結果になる</span></h3>



<p class="wp-block-paragraph">LEFT関数は文字列を扱う関数です。数値セルに使うと、書式に関係なくセルの実際の値から取り出されます。</p>



<p class="wp-block-paragraph">たとえば、日付セルに <code>2026/4/4</code> と表示されていても、内部的にはシリアル値（46114のような数値）です。LEFT関数はこのシリアル値の先頭から取り出してしまいます。</p>



<pre class="wp-block-code"><code>=LEFT(A1, 4)  ← 日付セル
→ 結果: &quot;4611&quot;（表示値と異なる!）</code></pre>



<p class="wp-block-paragraph">対策は、TEXT関数で表示形式を文字列に変換してからLEFTを適用することです。</p>



<pre class="wp-block-code"><code>=LEFT(TEXT(A1, &quot;YYYY/MM/DD&quot;), 4)
→ 結果: &quot;2026&quot;</code></pre>



<p class="wp-block-paragraph">「セルに見えている値」と「実際の値」が違うことを意識しておくと、この種のトラブルを避けられますよ。</p>



<h3 class="wp-block-heading"><span id="toc21">LEFT関数で空文字が返るケース</span></h3>



<p class="wp-block-paragraph">LEFT関数が空文字（&#8221;&#8221;）を返すのは次のケースです。</p>



<ul class="wp-block-list"><li><strong>文字数に0を指定した場合</strong></li><li><strong>参照セルが空の場合</strong></li></ul>



<p class="wp-block-paragraph">どちらもエラーにはなりませんが、意図した結果かどうか確認しておきましょう。空セルを処理するときは、IF関数で事前にチェックする方法もあります。</p>



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



<p class="wp-block-paragraph">これで空セルは空のまま返し、データがある行だけLEFT処理を実行できます。</p>



<h2 class="wp-block-heading"><span id="toc22">LEFT関数とLEFTB関数の違い</span></h2>



<p class="wp-block-paragraph">LEFT関数とよく比較されるのがLEFTB関数です。両者の違いは <strong>文字の数え方</strong> にあります。LEFTB の「B」は Byte（バイト）の頭文字で、バイト単位で数える関数です。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>LEFT関数</th><th>LEFTB関数</th></tr></thead><tbody><tr><td>カウント基準</td><td>文字数（1文字=1）</td><td>バイト数（全角=2、半角=1）</td></tr><tr><td>「Excel」の長さ</td><td>5</td><td>5（すべて半角）</td></tr><tr><td>「エクセル」の長さ</td><td>4</td><td>8（すべて全角）</td></tr><tr><td>主な用途</td><td>一般的な文字抽出</td><td>固定バイト長データの処理</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">LEFTB関数の構文はLEFT関数と同じです。</p>



<pre class="wp-block-code"><code>=LEFTB(文字列, [バイト数])</code></pre>



<p class="wp-block-paragraph">具体例で見てみましょう。「エクセル関数」から取り出す場合に結果が変わります。</p>



<pre class="wp-block-code"><code>=LEFT(&quot;エクセル関数&quot;, 3)
→ 結果: &quot;エクセ&quot;（3文字）

=LEFTB(&quot;エクセル関数&quot;, 3)
→ 結果: &quot;エ&quot;（3バイト = 全角1文字 + 半端な1バイトは切り捨て）</code></pre>



<p class="wp-block-paragraph">LEFTB関数は、全角文字を2バイト、半角文字を1バイトとして計算します。3バイト指定だと全角は1文字（2バイト）＋余り1バイトとなり、半端な文字は切り捨てられます。</p>



<p class="wp-block-paragraph">通常の業務では <strong>LEFT関数を使えば問題ありません</strong>。LEFTB関数が必要になるのは、レガシーシステムから出力された固定バイト長データ（COBOL系や銀行データなど）を扱うような限られた場面だけです。日常の名簿整理や売上集計では出番がほぼないので、LEFT関数を使い慣れることを優先しましょう。</p>



<h2 class="wp-block-heading"><span id="toc23">LEFT関数と似た関数の使い分け</span></h2>



<p class="wp-block-paragraph">LEFT関数と併用する機会が多い関数を整理しました。文字列処理の引き出しを増やしておくと、複雑なデータ整形もスムーズに対応できますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>役割</th><th>LEFTとの関係</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-right/">RIGHT</a></td><td>末尾から文字を取り出す</td><td>LEFTの逆方向版</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-mid/">MID</a></td><td>任意の位置から文字を取り出す</td><td>中央の取り出しに使う</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-len/">LEN</a></td><td>文字数を数える</td><td>LEFTの文字数指定に活用</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-find/">FIND</a></td><td>検索文字の位置を返す</td><td>可変長の区切り処理に必須</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM</a></td><td>余分なスペースを除去する</td><td>LEFT適用前のデータ前処理に</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-substitute/">SUBSTITUTE</a></td><td>文字列を置換する</td><td>区切り文字の変換と組み合わせ</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR</a></td><td>エラー時に別の値を返す</td><td>FIND連携時のエラー防止に</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">どの関数を使うか迷ったときは、次の判断フレームで選んでみてください。</p>



<ul class="wp-block-list"><li><strong>先頭から数えたほうが早い</strong> → LEFT関数</li><li><strong>末尾から数えたほうが早い</strong> → <a href="https://mashukabu.com/excel-function-howto-use-right/">RIGHT関数</a></li><li><strong>真ん中あたりにある</strong> → <a href="https://mashukabu.com/excel-function-howto-use-mid/">MID関数</a></li><li><strong>区切り文字の前後で分けたい</strong> → LEFT + FIND または MID + FIND</li><li><strong>末尾の区切り文字以降を取り出したい</strong> → RIGHT + FIND（応用）</li></ul>



<h3 class="wp-block-heading"><span id="toc24">LEFT関数とMID関数の使い分け</span></h3>



<p class="wp-block-paragraph">LEFT関数とMID関数はどちらも文字を抽出する関数ですが、使いどころが少し違います。</p>



<figure class="wp-block-table"><table><thead><tr><th>状況</th><th>おすすめ</th></tr></thead><tbody><tr><td>必ず先頭から取り出す</td><td>LEFT関数</td></tr><tr><td>開始位置が2文字目以降</td><td>MID関数</td></tr><tr><td>開始位置を可変にしたい</td><td>MID + FIND</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">LEFT関数は「先頭から」が固定なので、開始位置を変える必要があるならMID関数の出番です。たとえばコード中央の3文字を取り出したい場合は <code>=MID(A1, 4, 3)</code> のように書きます。</p>



<p class="wp-block-paragraph">文字列操作の関数を体系的に学びたい方は、<a href="https://mashukabu.com/excel-string-functions-guide/">Excelの文字列関数まとめ</a>もあわせてチェックしてみてくださいね。</p>



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



<p class="wp-block-paragraph">ここでは、LEFT関数についてよく寄せられる質問をまとめました。実務で迷ったときの早見集として活用してください。</p>



<h3 class="wp-block-heading"><span id="toc26">Q1. LEFT関数で取り出した数字を計算に使うには？</span></h3>



<p class="wp-block-paragraph">A. LEFT関数の結果は文字列なので、計算に使うには<a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数</a>で数値に変換します。</p>



<pre class="wp-block-code"><code>=VALUE(LEFT(A1, 3))</code></pre>



<p class="wp-block-paragraph">または <code>=LEFT(A1, 3) * 1</code> のように数値演算を加えても文字列を数値化できます。SUMやIFと組み合わせる前のひと手間として覚えておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc27">Q2. LEFT関数とFIND関数を組み合わせたときにエラーが出ます</span></h3>



<p class="wp-block-paragraph">A. FIND関数で検索文字が見つからないと #VALUE! エラーが出て、それがLEFT関数にも伝わります。IFERROR関数で囲むのが定番の対処です。</p>



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



<p class="wp-block-paragraph">検索文字がないときは元の文字列をそのまま返す、空文字を返す、など要件に応じて分岐させましょう。</p>



<h3 class="wp-block-heading"><span id="toc28">Q3. LEFT関数で全角と半角を別々に数えたい</span></h3>



<p class="wp-block-paragraph">A. LEFT関数は全角・半角を区別せず、すべて1文字として数えます。バイト単位で数えたいときはLEFTB関数を使います。ただし通常業務ではLEFT関数のほうが直感的なので、特別な要件がない限りLEFT関数で十分です。</p>



<h3 class="wp-block-heading"><span id="toc29">Q4. LEFT関数で日付セルから年を取り出すと数字が変になります</span></h3>



<p class="wp-block-paragraph">A. 日付セルは内部的にシリアル値（数値）なので、LEFT関数がシリアル値の先頭を取り出してしまいます。TEXT関数で文字列に変換してから使いましょう。</p>



<pre class="wp-block-code"><code>=LEFT(TEXT(A1, &quot;YYYY/MM/DD&quot;), 4)</code></pre>



<p class="wp-block-paragraph">数値として年を取りたいだけなら、<a href="https://mashukabu.com/excel-function-howto-use-year/">YEAR関数</a>を使うのがシンプルです。</p>



<h3 class="wp-block-heading"><span id="toc30">Q5. LEFT関数の結果をそのまま IF 関数の判定に使えますか？</span></h3>



<p class="wp-block-paragraph">A. 使えますが、比較する値も文字列で指定する必要があります。</p>



<pre class="wp-block-code"><code>=IF(LEFT(A1, 2) = &quot;AB&quot;, &quot;対象&quot;, &quot;対象外&quot;)</code></pre>



<p class="wp-block-paragraph">数値と比較したい場合は、<code>=IF(VALUE(LEFT(A1, 3)) > 100, ...)</code> のようにVALUE関数で数値化してから比較しましょう。文字列と数値の比較は意図しない結果（常にFALSE）になることがあります。</p>



<h3 class="wp-block-heading"><span id="toc31">Q6. LEFT関数で複数の区切り文字に対応したい</span></h3>



<p class="wp-block-paragraph">A. FIND関数を入れ子にするか、<a href="https://mashukabu.com/excel-function-howto-use-substitute/">SUBSTITUTE関数</a>で区切り文字を統一してから処理する方法があります。たとえばスペースか「-」のどちらかを区切りにしたい場合は、SUBSTITUTEで片方をもう片方に置換してからFIND+LEFTを適用するとシンプルです。</p>



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



<p class="wp-block-paragraph">複雑な区切り処理が必要なときは、<a href="https://mashukabu.com/excel-function-howto-use-textsplit/">TEXTSPLIT関数</a>（Microsoft 365）を検討するのもおすすめです。</p>



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



<p class="wp-block-paragraph">この記事では、ExcelのLEFT関数の使い方を基本から実務活用、FAQまで解説しました。最後にポイントを振り返りましょう。</p>



<ul class="wp-block-list"><li>LEFT関数は <code>=LEFT(文字列, 文字数)</code> で先頭から文字を取り出す</li><li>文字数を省略すると <strong>1文字だけ</strong> 返る</li><li>文字数を多めに指定してもエラーにならず、文字列全体が返る</li><li>FIND関数と組み合わせれば、可変長の区切り文字にも対応できる</li><li>LEFTB関数はバイト単位で数える関数で、通常業務ではLEFTで十分</li><li>結果は文字列になるので、数値として使うならVALUE関数で変換する</li><li>区切り文字がないデータが混在するならIFERROR関数で安全に処理する</li></ul>



<p class="wp-block-paragraph">LEFT関数は文字列操作の基本中の基本です。まずは「先頭から何文字取り出す」というシンプルな使い方から試してみてください。FIND関数との組み合わせに慣れれば、データ整理の幅がぐっと広がりますよ。次のステップとして<a href="https://mashukabu.com/excel-function-howto-use-right/">RIGHT関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-mid/">MID関数</a>も合わせて覚えれば、文字列操作の達人に近づけます。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-left/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのRIGHT関数の使い方｜文字列の右から指定文字数を取り出す方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-right/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-right/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 04 Apr 2026 04:32:39 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[FIND関数]]></category>
		<category><![CDATA[LEFT関数]]></category>
		<category><![CDATA[LEN関数]]></category>
		<category><![CDATA[MID関数]]></category>
		<category><![CDATA[RIGHTB関数]]></category>
		<category><![CDATA[RIGHT関数]]></category>
		<category><![CDATA[データ整形]]></category>
		<category><![CDATA[文字列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5780</guid>

					<description><![CDATA[ExcelのRIGHT関数で文字列の右端から指定した文字数を取り出す方法を解説。RIGHTB関数との違い、LEN・FIND関数との組み合わせ、電話番号末尾や拡張子の抽出など実務例も紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelで「文字列の末尾から何文字かだけ取り出したい」と思ったことはありませんか？ 電話番号の下4桁を取り出したり、ファイル名から拡張子だけ抽出したりと、末尾の文字を抜き出す場面は想像以上に多いですよね。 手作業で1件ずつコピーしていたら、件数が増えるほど時間もミスも増えてしまいます。</p>



<p class="wp-block-paragraph">そんなときに使えるのが <strong>RIGHT関数</strong> です。 文字列の右端から指定した文字数をサッと取り出せるので、データ整理の効率が一気に上がりますよ。 この記事では、RIGHT関数の基本構文からLEN・FIND関数との組み合わせまで、実務に使える知識を順を追って解説します。</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共通）</p></blockquote>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">RIGHT関数とは？文字列の末尾から文字を取り出す関数</a></li><li><a href="#toc2" tabindex="0">RIGHT関数の書き方（構文・引数）</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></ol></li><li><a href="#toc6" tabindex="0">RIGHT関数の基本的な使い方</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">RIGHT関数の実務活用パターン</a><ol><li><a href="#toc11" tabindex="0">パターン1: 電話番号の末尾4桁を取り出す</a></li><li><a href="#toc12" tabindex="0">パターン2: ファイル名から拡張子を取り出す</a></li><li><a href="#toc13" tabindex="0">パターン3: 年度コードの下2桁を取り出す</a></li><li><a href="#toc14" tabindex="0">パターン4: FIND関数と組み合わせて区切り文字の後ろを取り出す</a></li><li><a href="#toc15" tabindex="0">パターン5: メールアドレスからドメインを取り出す</a></li><li><a href="#toc16" tabindex="0">パターン6: 住所から市区町村以降を取り出す</a></li></ol></li><li><a href="#toc17" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc18" tabindex="0">#VALUE!エラーが出るケース</a></li><li><a href="#toc19" tabindex="0">数値セルで意図しない結果になるケース</a></li><li><a href="#toc20" tabindex="0">空文字が返るケース</a></li></ol></li><li><a href="#toc21" tabindex="0">RIGHT関数とRIGHTB関数の違い</a></li><li><a href="#toc22" tabindex="0">似た関数との比較・使い分け</a></li><li><a href="#toc23" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">RIGHT関数とは？文字列の末尾から文字を取り出す関数</span></h2>



<p class="wp-block-paragraph">ExcelのRIGHT関数は、文字列の <strong>右端（末尾）から指定した文字数</strong> を取り出す関数です。 読み方は「ライト」で、英語の「Right（右）」がそのまま由来になっています。</p>



<p class="wp-block-paragraph">たとえば「03-1234-5678」から末尾4桁の「5678」を取り出す、「report.xlsx」から「xlsx」を取り出す、といった操作が1つの関数で完了します。</p>



<p class="wp-block-paragraph">Excelには文字を取り出す関数が3つあります。 まずは全体像を押さえておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>取り出す位置</th><th>引数</th><th>使いどころ</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-left/">LEFT</a></td><td>先頭（左端）から</td><td>文字列, 文字数</td><td>先頭のコード・郵便番号上3桁など</td></tr><tr><td>RIGHT</td><td>末尾（右端）から</td><td>文字列, 文字数</td><td>末尾の拡張子・電話番号下4桁など</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-mid/">MID</a></td><td>任意の位置（途中）から</td><td>文字列, 開始位置, 文字数</td><td>コード中央の分類番号など</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">RIGHT関数は<a href="https://mashukabu.com/excel-function-howto-use-left/">LEFT関数</a>の逆方向版です。 「末尾から何文字」と指定するだけなので、使い方もシンプルですよ。</p>



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



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



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



<pre class="wp-block-code"><code>=RIGHT(文字列, [文字数])</code></pre>



<p class="wp-block-paragraph">引数は2つで、文字数は省略可能です。 それぞれの役割を表で確認しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th><th>指定例</th></tr></thead><tbody><tr><td>文字列</td><td>必須</td><td>取り出し元の文字列またはセル参照</td><td>A1, &#8220;ABCDE&#8221;</td></tr><tr><td>文字数</td><td>省略可</td><td>末尾から何文字取り出すか（省略時は1）</td><td>4 → 末尾4文字</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc4">文字数を省略すると1文字が返る</span></h3>



<p class="wp-block-paragraph">文字数を省略した場合、末尾の <strong>1文字だけ</strong> が返ります。</p>



<pre class="wp-block-code"><code>=RIGHT(&quot;Excel&quot;)
→ 結果: &quot;l&quot;</code></pre>



<p class="wp-block-paragraph">「とりあえず末尾1文字がほしい」ときは、文字数を書かなくてOKです。</p>



<h3 class="wp-block-heading"><span id="toc5">全角・半角のカウント方法</span></h3>



<p class="wp-block-paragraph">RIGHT関数では、全角文字も半角文字も <strong>1文字=1</strong> としてカウントされます。</p>



<pre class="wp-block-code"><code>=RIGHT(&quot;エクセル&quot;, 2)
→ 結果: &quot;セル&quot;

=RIGHT(&quot;Excel&quot;, 2)
→ 結果: &quot;el&quot;</code></pre>



<p class="wp-block-paragraph">どちらも2文字として扱われます。 バイト数で計算したい場合は後述のRIGHTB関数を使いますが、通常の業務ではRIGHT関数で問題ありません。</p>



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



<h3 class="wp-block-heading"><span id="toc7">セル参照で末尾から取り出す</span></h3>



<p class="wp-block-paragraph">実務では直接値よりセル参照を使うのが一般的です。 セルA1に「PRD-001-BK」が入っている場合を見てみましょう。</p>



<pre class="wp-block-code"><code>=RIGHT(A1, 2)
→ 結果: &quot;BK&quot;</code></pre>



<p class="wp-block-paragraph">末尾から2文字分、つまりカラーコード「BK」が取り出されます。 <a href="https://mashukabu.com/excel-function-howto-use-left/">LEFT関数</a>が先頭から取り出すのに対し、RIGHT関数は末尾から取り出すのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc8">文字数を多めに指定した場合の動作</span></h3>



<p class="wp-block-paragraph">「文字列の長さより大きい数を指定したらどうなるの？」と気になる方もいるかもしれません。 結論から言うと、エラーにはなりません。 文字列全体がそのまま返ります。</p>



<pre class="wp-block-code"><code>=RIGHT(&quot;Hello&quot;, 100)
→ 結果: &quot;Hello&quot;</code></pre>



<p class="wp-block-paragraph">はみ出した分は無視されるので、安心して使ってください。</p>



<h3 class="wp-block-heading"><span id="toc9">結果は常に文字列になる</span></h3>



<p class="wp-block-paragraph">RIGHT関数の結果は <strong>常に文字列</strong> です。 数字を取り出しても、そのままでは計算に使えません。</p>



<pre class="wp-block-code"><code>=RIGHT(&quot;12345&quot;, 3)
→ 結果: &quot;345&quot;（文字列として返る）</code></pre>



<p class="wp-block-paragraph">取り出した数字でSUM関数やIF関数の計算をしたいときは、<a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数</a>（文字列を数値に変換する関数）で変換する必要があります。</p>



<pre class="wp-block-code"><code>=VALUE(RIGHT(A1, 3))</code></pre>



<p class="wp-block-paragraph">VALUE関数で囲むだけで、数値として扱えるようになりますよ。</p>



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



<p class="wp-block-paragraph">ここからは、実務でよく使う活用パターンを紹介します。 基本から応用まで段階的に見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン1: 電話番号の末尾4桁を取り出す</span></h3>



<p class="wp-block-paragraph">「03-1234-5678」のような電話番号から、末尾4桁だけ取り出すケースです。</p>



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



<p class="wp-block-paragraph">末尾4文字を取るだけなので、電話番号の桁数やハイフンの位置に影響されません。 顧客データの照合や、末尾番号でのグループ分けに使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン2: ファイル名から拡張子を取り出す</span></h3>



<p class="wp-block-paragraph">「report.xlsx」や「photo.png」のようなファイル名から拡張子を取り出す場面です。 ただし、拡張子の文字数は3文字だったり4文字だったりと一定ではありませんよね。</p>



<p class="wp-block-paragraph">固定長なら簡単ですが、可変長の場合はFIND関数と<a href="https://mashukabu.com/excel-function-howto-use-len/">LEN関数</a>（文字数を数える関数）を組み合わせます。</p>



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



<p class="wp-block-paragraph">この式を分解すると、次のとおりです。</p>



<ol class="wp-block-list"><li>FIND(&#8220;.&#8221;, A1) → ドットの位置を取得（「report.xlsx」なら7）</li><li><a href="https://mashukabu.com/excel-function-howto-use-len/">LEN</a>(A1) → 文字列全体の長さ（11）</li><li>LEN(A1) &#8211; FIND(&#8220;.&#8221;, A1) → ドットより後ろの文字数（11 &#8211; 7 = 4）</li><li>RIGHT(A1, 4) → 末尾4文字「xlsx」を取り出す</li></ol>



<p class="wp-block-paragraph">RIGHT + LEN + FIND のこの組み合わせは、<strong>区切り文字より後ろを取り出す定番パターン</strong> です。 ぜひ覚えておいてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン3: 年度コードの下2桁を取り出す</span></h3>



<p class="wp-block-paragraph">「FY2026」のような年度コードから、下2桁「26」だけ取り出す例です。</p>



<pre class="wp-block-code"><code>=RIGHT(A1, 2)
→ 結果: &quot;26&quot;</code></pre>



<p class="wp-block-paragraph">帳票の表示スペースが限られているときや、年度の下2桁で集計キーを作りたいときに便利です。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン4: FIND関数と組み合わせて区切り文字の後ろを取り出す</span></h3>



<p class="wp-block-paragraph">パターン2で紹介した考え方をさらに発展させましょう。 「田中 太郎」からスペースの後ろ「太郎」を取り出す場合です。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-left/">LEFT関数</a>ではスペースの手前を取り出しましたが、RIGHT関数ではスペースの後ろを取り出します。</p>



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



<p class="wp-block-paragraph">この式の流れです。</p>



<ol class="wp-block-list"><li>FIND(&#8221; &#8220;, A1) → スペースの位置（「田中 太郎」なら3）</li><li><a href="https://mashukabu.com/excel-function-howto-use-len/">LEN</a>(A1) → 全体の文字数（5）</li><li>LEN(A1) &#8211; FIND(&#8221; &#8220;, A1) → スペースより後ろの文字数（5 &#8211; 3 = 2）</li><li>RIGHT(A1, 2) → 末尾2文字「太郎」を取り出す</li></ol>



<p class="wp-block-paragraph">LEFT関数が「区切り文字の手前」を取るのに対し、RIGHT関数は「区切り文字の後ろ」を取る。 この対の関係を覚えておくと、文字列の分割がスムーズにできますよ。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン5: メールアドレスからドメインを取り出す</span></h3>



<p class="wp-block-paragraph">「tanaka@example.com」から「example.com」を取り出すケースです。 パターン4と同じ考え方です。</p>



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



<p class="wp-block-paragraph">FIND(&#8220;@&#8221;, A1) で@の位置を取得し、全体の長さから引いた文字数をRIGHTで取り出しています。</p>



<p class="wp-block-paragraph">ただし、@が含まれないデータが混在する場合はFIND関数がエラーを返します。 <a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>（エラー時に別の値を返す関数）で囲んでおくと安心です。</p>



<pre class="wp-block-code"><code>=IFERROR(RIGHT(A1, LEN(A1) - FIND(&quot;@&quot;, A1)), &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">エラー時は空文字を返すので、他のデータに影響しません。 LEFT関数でユーザー名を取り出す方法は<a href="https://mashukabu.com/excel-function-howto-use-left/">LEFT関数の実務活用パターン</a>で紹介しています。</p>



<h3 class="wp-block-heading"><span id="toc16">パターン6: 住所から市区町村以降を取り出す</span></h3>



<p class="wp-block-paragraph">都道府県名を除いた住所部分を取り出す場面です。 <a href="https://mashukabu.com/excel-function-howto-use-left/">LEFT関数の記事</a>では都道府県名の取り出し方を紹介しましたが、RIGHT関数では逆に「都道府県名を除いた部分」を取り出します。</p>



<p class="wp-block-paragraph">都道府県名は3文字か4文字なので、IF関数と<a href="https://mashukabu.com/excel-function-howto-use-mid/">MID関数</a>で分岐させます。</p>



<pre class="wp-block-code"><code>=IF(MID(A1,4,1)=&quot;県&quot;, RIGHT(A1, LEN(A1)-4), RIGHT(A1, LEN(A1)-3))</code></pre>



<p class="wp-block-paragraph">この式の考え方はこうです。</p>



<ol class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-mid/">MID関数</a>で4文字目を確認</li><li>4文字目が「県」なら4文字の県（神奈川県、和歌山県、鹿児島県）→ 4文字分を除く</li><li>そうでなければ3文字（東京都、大阪府、北海道、その他の県）→ 3文字分を除く</li></ol>



<p class="wp-block-paragraph">LEFT関数で都道府県を取り出し、RIGHT関数で残りの市区町村を取り出す。 セットで使うときれいにデータを分割できますよ。</p>



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



<p class="wp-block-paragraph">RIGHT関数を使っていて「あれ？」となるケースをまとめました。</p>



<h3 class="wp-block-heading"><span id="toc18">#VALUE!エラーが出るケース</span></h3>



<p class="wp-block-paragraph">#VALUE! エラーの原因はほぼ1つです。</p>



<ul class="wp-block-list"><li><strong>文字数にマイナスの値を指定している</strong></li></ul>



<pre class="wp-block-code"><code>=RIGHT(A1, -1)
→ #VALUE! エラー</code></pre>



<p class="wp-block-paragraph">FIND関数やLEN関数と組み合わせたときに起こりやすいパターンです。 区切り文字が見つからないとFIND関数が #VALUE! を返し、RIGHT関数にも波及します。</p>



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



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>で囲んでおけば、区切り文字がないデータでもエラーになりません。</p>



<h3 class="wp-block-heading"><span id="toc19">数値セルで意図しない結果になるケース</span></h3>



<p class="wp-block-paragraph">RIGHT関数は文字列を扱う関数です。 数値セルに使うと、書式に関係なくセルの実際の値から取り出されます。</p>



<p class="wp-block-paragraph">たとえば、日付セルに <code>2026/4/4</code> と表示されていても、内部的にはシリアル値（46114のような数値）です。 RIGHT関数はこのシリアル値の末尾から取り出してしまいます。</p>



<pre class="wp-block-code"><code>=RIGHT(A1, 2)  ← 日付セル
→ 結果: &quot;14&quot;（表示値と異なる!）</code></pre>



<p class="wp-block-paragraph">対策は、TEXT関数で表示形式を文字列に変換してからRIGHTを適用することです。</p>



<pre class="wp-block-code"><code>=RIGHT(TEXT(A1, &quot;YYYY/MM/DD&quot;), 2)
→ 結果: &quot;04&quot;</code></pre>



<h3 class="wp-block-heading"><span id="toc20">空文字が返るケース</span></h3>



<p class="wp-block-paragraph">RIGHT関数が空文字（&#8221;&#8221;）を返すのは次のケースです。</p>



<ul class="wp-block-list"><li><strong>文字数に0を指定した場合</strong></li><li><strong>参照セルが空の場合</strong></li></ul>



<p class="wp-block-paragraph">どちらもエラーにはなりませんが、意図した結果かどうか確認しておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc21">RIGHT関数とRIGHTB関数の違い</span></h2>



<p class="wp-block-paragraph">RIGHT関数とよく比較されるのがRIGHTB関数です。 両者の違いは <strong>文字の数え方</strong> にあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>RIGHT関数</th><th>RIGHTB関数</th></tr></thead><tbody><tr><td>カウント基準</td><td>文字数（1文字=1）</td><td>バイト数（全角=2、半角=1）</td></tr><tr><td>「Excel」の長さ</td><td>5</td><td>5（すべて半角）</td></tr><tr><td>「エクセル」の長さ</td><td>4</td><td>8（すべて全角）</td></tr><tr><td>主な用途</td><td>一般的な文字抽出</td><td>固定バイト長データの処理</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">RIGHTB関数の構文はRIGHT関数と同じです。</p>



<pre class="wp-block-code"><code>=RIGHTB(文字列, [バイト数])</code></pre>



<p class="wp-block-paragraph">具体例で見てみましょう。 「エクセル関数」から取り出す場合に結果が変わります。</p>



<pre class="wp-block-code"><code>=RIGHT(&quot;エクセル関数&quot;, 3)
→ 結果: &quot;関数&quot;ではなく &quot;ル関数&quot;（末尾3文字）

=RIGHTB(&quot;エクセル関数&quot;, 3)
→ 結果: &quot;数&quot;（末尾3バイト = 全角1文字 + 半端な1バイトは切り捨て）</code></pre>



<p class="wp-block-paragraph">RIGHTB関数は、全角文字を2バイト、半角文字を1バイトとして計算します。 3バイト指定だと全角は1文字（2バイト）＋余り1バイトとなり、半端な文字は切り捨てられます。</p>



<p class="wp-block-paragraph">通常の業務では <strong>RIGHT関数を使えば問題ありません</strong>。 RIGHTB関数が必要になるのは、レガシーシステムから出力された固定バイト長データ（COBOL系や銀行データなど）を扱うような限られた場面だけです。</p>



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



<p class="wp-block-paragraph">RIGHT関数と併用する機会が多い関数を整理しました。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>役割</th><th>RIGHTとの関係</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-left/">LEFT</a></td><td>先頭から文字を取り出す</td><td>RIGHTの逆方向版</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-mid/">MID</a></td><td>任意の位置から文字を取り出す</td><td>中央の取り出しに使う</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-len/">LEN</a></td><td>文字数を数える</td><td>RIGHT+FINDで必須の相棒</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM</a></td><td>余分なスペースを除去する</td><td>RIGHT適用前のデータ前処理に</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-substitute/">SUBSTITUTE</a></td><td>文字列を置換する</td><td>区切り文字の変換と組み合わせ</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR</a></td><td>エラー時に別の値を返す</td><td>FIND連携時のエラー防止に</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">どの関数を使うか迷ったときは、次の判断フレームで選んでみてください。</p>



<ul class="wp-block-list"><li><strong>先頭から数えたほうが早い</strong> → <a href="https://mashukabu.com/excel-function-howto-use-left/">LEFT関数</a></li><li><strong>末尾から数えたほうが早い</strong> → RIGHT関数</li><li><strong>真ん中あたりにある</strong> → <a href="https://mashukabu.com/excel-function-howto-use-mid/">MID関数</a></li><li><strong>区切り文字の前を取りたい</strong> → LEFT + FIND</li><li><strong>区切り文字の後ろを取りたい</strong> → RIGHT + LEN + FIND</li></ul>



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



<p class="wp-block-paragraph">この記事では、ExcelのRIGHT関数の使い方を基本から実務活用まで解説しました。 最後にポイントを振り返りましょう。</p>



<ul class="wp-block-list"><li>RIGHT関数は <code>=RIGHT(文字列, 文字数)</code> で末尾から文字を取り出す</li><li>文字数を省略すると <strong>1文字だけ</strong> 返る</li><li>文字数を多めに指定してもエラーにならず、文字列全体が返る</li><li>LEN関数・FIND関数と組み合わせれば、区切り文字の後ろを柔軟に取り出せる</li><li>RIGHTB関数はバイト単位で数える関数で、通常業務ではRIGHTで十分</li><li>結果は文字列になるので、数値として使うなら<a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数</a>で変換する</li></ul>



<p class="wp-block-paragraph">RIGHT関数は<a href="https://mashukabu.com/excel-function-howto-use-left/">LEFT関数</a>とセットで覚えるのがおすすめです。 「先頭からはLEFT、末尾からはRIGHT」と対で覚えておけば、文字列の分割がスムーズになりますよ。 まずは電話番号の末尾4桁やファイルの拡張子取り出しなど、身近なデータで試してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-right/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのSEARCH関数の使い方｜大文字小文字を区別しない文字列検索</title>
		<link>https://mashukabu.com/excel-function-howto-use-search/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-search/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 04 Apr 2026 04:32:35 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[FIND関数]]></category>
		<category><![CDATA[IFERROR関数]]></category>
		<category><![CDATA[LEFT関数]]></category>
		<category><![CDATA[MID関数]]></category>
		<category><![CDATA[RIGHT関数]]></category>
		<category><![CDATA[SEARCHB関数]]></category>
		<category><![CDATA[SEARCH関数]]></category>
		<category><![CDATA[ワイルドカード]]></category>
		<category><![CDATA[文字列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5778</guid>

					<description><![CDATA[ExcelのSEARCH関数で大文字小文字を区別せずに文字列の位置を検索する方法を解説。FIND関数との違い、ワイルドカードの活用、SEARCHB関数との比較、MID・LEFTとの組み合わせなど実務例も紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelで「この文字列の中に特定の文字が何文字目にあるか調べたい」と思ったことはありませんか？ しかもデータに大文字・小文字が混在していて、「Excel」も「EXCEL」も同じように見つけたい場面は意外と多いですよね。 手作業で目視チェックするのは、データ量が増えるほど現実的ではありません。</p>



<p class="wp-block-paragraph">そんなときに使えるのが <strong>SEARCH関数</strong> です。 大文字・小文字を区別しないで文字列の位置を返してくれるので、表記ゆれがあるデータでも安心して検索できますよ。 この記事では、SEARCH関数の基本構文からワイルドカード活用、LEFT・MID関数との組み合わせまで、実務に使える知識を順を追って解説します。</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共通）</p></blockquote>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-3" checked><label class="toc-title" for="toc-checkbox-3">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">SEARCH関数とは？大文字小文字を区別しない文字列検索</a></li><li><a href="#toc2" tabindex="0">SEARCH関数の書き方（構文・引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">戻り値は「先頭からの文字位置」</a></li><li><a href="#toc5" tabindex="0">見つからない場合は#VALUE!エラー</a></li></ol></li><li><a href="#toc6" tabindex="0">SEARCH関数の基本的な使い方</a><ol><li><a href="#toc7" tabindex="0">特定の文字が何番目にあるか調べる</a></li><li><a href="#toc8" tabindex="0">大文字小文字を区別しない検索</a></li><li><a href="#toc9" tabindex="0">開始位置を指定して2つ目の文字を探す</a></li></ol></li><li><a href="#toc10" tabindex="0">SEARCH関数の実務活用パターン</a><ol><li><a href="#toc11" tabindex="0">パターン1: LEFT関数と組み合わせて区切り文字の手前を取り出す</a></li><li><a href="#toc12" tabindex="0">パターン2: MID関数と組み合わせて区切り文字の後ろを取り出す</a></li><li><a href="#toc13" tabindex="0">パターン3: RIGHT関数と組み合わせてファイル拡張子を取り出す</a></li><li><a href="#toc14" tabindex="0">パターン4: ワイルドカードであいまい検索する</a></li><li><a href="#toc15" tabindex="0">パターン5: IF関数と組み合わせてカテゴリ分類する</a></li></ol></li><li><a href="#toc16" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc17" tabindex="0">#VALUE!エラーが出るケース</a></li><li><a href="#toc18" tabindex="0">ワイルドカード文字そのものを検索したいとき</a></li><li><a href="#toc19" tabindex="0">意図しない位置がマッチするケース</a></li></ol></li><li><a href="#toc20" tabindex="0">SEARCH関数とSEARCHB関数の違い</a></li><li><a href="#toc21" tabindex="0">SEARCH関数とFIND関数の使い分け</a></li><li><a href="#toc22" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">SEARCH関数とは？大文字小文字を区別しない文字列検索</span></h2>



<p class="wp-block-paragraph">ExcelのSEARCH関数は、文字列の中から <strong>指定した文字が何文字目にあるか</strong> を返す関数です。 読み方は「サーチ」で、英語の「Search（検索する）」が由来になっています。</p>



<p class="wp-block-paragraph">最大の特徴は <strong>大文字と小文字を区別しない</strong> ことです。 たとえば「Excel」というセルに対してSEARCH(&#8220;excel&#8221;, A1)と書いても、ちゃんと1が返ります。</p>



<p class="wp-block-paragraph">もう1つの特徴は <strong>ワイルドカードが使える</strong> ことです。 <code>?</code>（任意の1文字）や <code>*</code>（任意の文字列）を検索文字に指定でき、あいまい検索ができます。</p>



<p class="wp-block-paragraph">SEARCH関数とよく比較されるFIND関数との違いを、まず一覧で確認しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>SEARCH関数</th><th>FIND関数</th></tr></thead><tbody><tr><td>大文字・小文字</td><td>区別しない</td><td>区別する</td></tr><tr><td>ワイルドカード</td><td>使える（?, *）</td><td>使えない</td></tr><tr><td>主な用途</td><td>表記ゆれ対応・あいまい検索</td><td>厳密な文字列マッチング</td></tr><tr><td>構文</td><td>同じ</td><td>同じ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「大文字小文字を気にせず探したい」「パターンであいまい検索したい」ならSEARCH関数、「完全に一致する文字だけ探したい」ならFIND関数、と覚えておけばOKです。</p>



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



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



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



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



<p class="wp-block-paragraph">引数は3つで、開始位置は省略可能です。 それぞれの役割を表で確認しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th><th>指定例</th></tr></thead><tbody><tr><td>検索文字列</td><td>必須</td><td>探したい文字列（ワイルドカード使用可）</td><td>&#8220;abc&#8221;, &#8220;?-*&#8221;</td></tr><tr><td>対象</td><td>必須</td><td>検索対象のセルまたは文字列</td><td>A1, &#8220;Hello World&#8221;</td></tr><tr><td>開始位置</td><td>省略可</td><td>検索を開始する位置（省略時は1）</td><td>5 → 5文字目から検索</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc4">戻り値は「先頭からの文字位置」</span></h3>



<p class="wp-block-paragraph">SEARCH関数が返すのは、<strong>検索文字列が見つかった先頭位置</strong>（1から始まる番号）です。</p>



<pre class="wp-block-code"><code>=SEARCH(&quot;World&quot;, &quot;Hello World&quot;)
→ 結果: 7</code></pre>



<p class="wp-block-paragraph">「Hello World」の中で「World」は7文字目から始まっているので、7が返ります。</p>



<h3 class="wp-block-heading"><span id="toc5">見つからない場合は#VALUE!エラー</span></h3>



<p class="wp-block-paragraph">検索文字列が対象の中に存在しないと、<code>#VALUE!</code> エラーになります。 エラーを回避するには<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>で囲むのが定番です。</p>



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



<p class="wp-block-paragraph">見つからないときに0を返す設定にしておけば、後続の処理でエラーが波及しません。</p>



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



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



<p class="wp-block-paragraph">セルA1に「PRD-001-BK」が入っている場合、最初のハイフンの位置を調べてみましょう。</p>



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



<p class="wp-block-paragraph">ハイフンは4文字目にあるので、4が返ります。</p>



<h3 class="wp-block-heading"><span id="toc8">大文字小文字を区別しない検索</span></h3>



<p class="wp-block-paragraph">SEARCH関数の真骨頂です。 セルA1に「Microsoft Excel」が入っている場合を見てみましょう。</p>



<pre class="wp-block-code"><code>=SEARCH(&quot;excel&quot;, A1)
→ 結果: 11</code></pre>



<p class="wp-block-paragraph">検索文字列を小文字の「excel」にしていますが、対象の「Excel」（先頭大文字）もちゃんとマッチします。 FIND関数では同じ式が <code>#VALUE!</code> エラーになるので、ここがSEARCH関数の強みですね。</p>



<h3 class="wp-block-heading"><span id="toc9">開始位置を指定して2つ目の文字を探す</span></h3>



<p class="wp-block-paragraph">セルA1に「PRD-001-BK」が入っているとき、2つ目のハイフンの位置を取得する方法です。</p>



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



<p class="wp-block-paragraph">この式を分解すると、次のとおりです。</p>



<ol class="wp-block-list"><li>内側のSEARCH(&#8220;-&#8220;, A1) → 最初のハイフンの位置（4）を取得</li><li>+1 → その次の文字（5文字目）から検索を再開</li><li>外側のSEARCH → 2つ目のハイフンの位置（8）を取得</li></ol>



<p class="wp-block-paragraph">開始位置をうまく活用すれば、同じ文字が複数ある場合でもピンポイントで探せますよ。</p>



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



<p class="wp-block-paragraph">ここからは、実務でよく使う活用パターンを紹介します。 SEARCH関数は単体よりも <strong>他の関数と組み合わせて使う</strong> ことが多い関数です。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン1: LEFT関数と組み合わせて区切り文字の手前を取り出す</span></h3>



<p class="wp-block-paragraph">「田中 太郎」からスペースの手前「田中」を取り出す定番パターンです。</p>



<pre class="wp-block-code"><code>=LEFT(A1, SEARCH(&quot; &quot;, A1) - 1)
→ 結果: &quot;田中&quot;</code></pre>



<p class="wp-block-paragraph">この式の流れはこうです。</p>



<ol class="wp-block-list"><li>SEARCH(&#8221; &#8220;, A1) → スペースの位置（3）を取得</li><li>&#8211; 1 → スペースの1つ手前まで（2文字）</li><li><a href="https://mashukabu.com/excel-function-howto-use-left/">LEFT関数</a>で先頭から2文字を取り出す</li></ol>



<p class="wp-block-paragraph">全角スペースにも対応するので、氏名データの分割に重宝しますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン2: MID関数と組み合わせて区切り文字の後ろを取り出す</span></h3>



<p class="wp-block-paragraph">今度は「田中 太郎」から名前「太郎」を取り出すパターンです。</p>



<pre class="wp-block-code"><code>=MID(A1, SEARCH(&quot; &quot;, A1) + 1, LEN(A1))
→ 結果: &quot;太郎&quot;</code></pre>



<ol class="wp-block-list"><li>SEARCH(&#8221; &#8220;, A1) → スペースの位置（3）</li><li>+1 → スペースの次の文字（4文字目）から開始</li><li><a href="https://mashukabu.com/excel-function-howto-use-mid/">MID関数</a>で4文字目から末尾まで取り出す（文字数を大きめに指定すれば末尾まで取れます）</li></ol>



<p class="wp-block-paragraph">LEFT＋SEARCHで「前半」、MID＋SEARCHで「後半」と覚えておくと便利です。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン3: RIGHT関数と組み合わせてファイル拡張子を取り出す</span></h3>



<p class="wp-block-paragraph">「report_2026.xlsx」からピリオド以降の拡張子を取り出す例です。</p>



<pre class="wp-block-code"><code>=RIGHT(A1, LEN(A1) - SEARCH(&quot;.&quot;, A1))
→ 結果: &quot;xlsx&quot;</code></pre>



<ol class="wp-block-list"><li>SEARCH(&#8220;.&#8221;, A1) → ピリオドの位置（12）</li><li>LEN(A1) &#8211; 12 → ピリオドより後ろの文字数（4）</li><li><a href="https://mashukabu.com/excel-function-howto-use-right/">RIGHT関数</a>で末尾から4文字を取り出す</li></ol>



<p class="wp-block-paragraph">ファイル名の一覧から拡張子だけ抜き出してフィルタリングしたいときに使えます。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン4: ワイルドカードであいまい検索する</span></h3>



<p class="wp-block-paragraph">SEARCH関数ならではの機能がワイルドカード検索です。 <code>?</code> は任意の1文字、<code>*</code> は0文字以上の任意の文字列にマッチします。</p>



<p class="wp-block-paragraph"><strong>例1: パターンマッチで商品コードを検索する</strong></p>



<p class="wp-block-paragraph">「X」で始まり「Z」で終わる3文字のコードがあるかチェックする場合です。</p>



<pre class="wp-block-code"><code>=IFERROR(SEARCH(&quot;X?Z&quot;, A1), 0)</code></pre>



<p class="wp-block-paragraph">A1が「AX9Z-100」なら、「X9Z」にマッチして2が返ります。 A1が「ABC-100」なら見つからず0が返ります。</p>



<p class="wp-block-paragraph"><strong>例2: 特定の文字を含むかどうかを判定する</strong></p>



<p class="wp-block-paragraph">セルの中に「Excel」という単語が含まれるかどうかを TRUE / FALSE で判定する方法です。</p>



<pre class="wp-block-code"><code>=ISNUMBER(SEARCH(&quot;excel&quot;, A1))
→ 結果: TRUE または FALSE</code></pre>



<p class="wp-block-paragraph">SEARCH関数が数値を返せばISNUMBER関数がTRUEになり、<code>#VALUE!</code> エラーならFALSEになります。 大文字小文字を無視して含有チェックできるので、データの振り分けに便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン5: IF関数と組み合わせてカテゴリ分類する</span></h3>



<p class="wp-block-paragraph">商品名にキーワードが含まれるかで分類するパターンです。</p>



<pre class="wp-block-code"><code>=IF(ISNUMBER(SEARCH(&quot;premium&quot;, A1)), &quot;上位モデル&quot;, &quot;通常モデル&quot;)</code></pre>



<p class="wp-block-paragraph">「Premium」「PREMIUM」「premium」のどの表記でもヒットするので、表記ゆれがあるデータでも正確に分類できます。</p>



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



<p class="wp-block-paragraph">SEARCH関数で「あれ？」となるケースをまとめました。</p>



<h3 class="wp-block-heading"><span id="toc17">#VALUE!エラーが出るケース</span></h3>



<p class="wp-block-paragraph">#VALUE! エラーの原因は主に2つです。</p>



<ul class="wp-block-list"><li><strong>検索文字列が対象に含まれていない</strong></li><li><strong>開始位置が対象の文字数を超えている</strong></li></ul>



<pre class="wp-block-code"><code>=SEARCH(&quot;xyz&quot;, &quot;Hello&quot;)
→ #VALUE! エラー（見つからない）

=SEARCH(&quot;H&quot;, &quot;Hello&quot;, 100)
→ #VALUE! エラー（開始位置が範囲外）</code></pre>



<p class="wp-block-paragraph">どちらも<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>で対処するのが定番です。</p>



<pre class="wp-block-code"><code>=IFERROR(SEARCH(&quot;xyz&quot;, A1), &quot;見つかりません&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc18">ワイルドカード文字そのものを検索したいとき</span></h3>



<p class="wp-block-paragraph"><code>?</code> や <code>*</code> をワイルドカードではなく、文字として検索したい場合は <strong>チルダ（~）</strong> を前に付けます。</p>



<pre class="wp-block-code"><code>=SEARCH(&quot;~?&quot;, A1)
→ 「?」という文字そのものの位置を返す

=SEARCH(&quot;~*&quot;, A1)
→ 「*」という文字そのものの位置を返す</code></pre>



<p class="wp-block-paragraph">チルダ自体を検索したい場合は <code>~~</code> と2つ重ねます。 ワイルドカードが予期せずマッチしてしまうときは、この方法を思い出してくださいね。</p>



<h3 class="wp-block-heading"><span id="toc19">意図しない位置がマッチするケース</span></h3>



<p class="wp-block-paragraph">SEARCH関数は <strong>最初に見つかった位置</strong> を返します。 2番目以降の位置が欲しい場合は、開始位置の引数を活用しましょう（基本的な使い方のセクションで解説しました）。</p>



<h2 class="wp-block-heading"><span id="toc20">SEARCH関数とSEARCHB関数の違い</span></h2>



<p class="wp-block-paragraph">SEARCH関数にはバイト単位で動作する <strong>SEARCHB関数</strong> があります。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>SEARCH関数</th><th>SEARCHB関数</th></tr></thead><tbody><tr><td>カウント基準</td><td>文字数（1文字=1）</td><td>バイト数（全角=2、半角=1）</td></tr><tr><td>「エクセル」の中の「セル」</td><td>3</td><td>5</td></tr><tr><td>主な用途</td><td>一般的な文字位置検索</td><td>固定バイト長データの処理</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">SEARCHB関数の構文はSEARCH関数と同じです。</p>



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



<p class="wp-block-paragraph">具体例を見てみましょう。 「エクセル関数」の中から「関数」を探す場合です。</p>



<pre class="wp-block-code"><code>=SEARCH(&quot;関数&quot;, &quot;エクセル関数&quot;)
→ 結果: 5（5文字目）

=SEARCHB(&quot;関数&quot;, &quot;エクセル関数&quot;)
→ 結果: 9（9バイト目）</code></pre>



<p class="wp-block-paragraph">SEARCHB関数は全角文字を2バイトとしてカウントするので、位置がずれます。</p>



<p class="wp-block-paragraph">通常の業務では <strong>SEARCH関数を使えば問題ありません</strong>。 SEARCHB関数が必要になるのは、レガシーシステムから出力された固定バイト長データを扱う場合など、限られた場面だけです。</p>



<h2 class="wp-block-heading"><span id="toc21">SEARCH関数とFIND関数の使い分け</span></h2>



<p class="wp-block-paragraph">SEARCH関数とFIND関数は構文が同じなので、どちらを使うか迷いがちです。 判断基準をもう少し掘り下げましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>使うべき場面</th><th>選ぶ関数</th><th>理由</th></tr></thead><tbody><tr><td>大文字小文字の区別が不要</td><td>SEARCH</td><td>表記ゆれを無視できる</td></tr><tr><td>ワイルドカードで柔軟に検索したい</td><td>SEARCH</td><td>?, * が使える</td></tr><tr><td>大文字小文字を厳密に区別したい</td><td>FIND</td><td>「abc」と「ABC」を別扱いにできる</td></tr><tr><td>ワイルドカード文字を文字として扱いたい</td><td>FIND</td><td>チルダ不要でシンプル</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>実務でのおすすめ</strong>: 迷ったらまずSEARCH関数を使ってみてください。 大文字小文字を区別しないほうが使い勝手がよい場面がほとんどです。 「厳密に区別する必要がある」と分かったときだけFIND関数に切り替えれば十分ですよ。</p>



<p class="wp-block-paragraph">SEARCH関数とFIND関数はどちらも、<a href="https://mashukabu.com/excel-function-howto-use-left/">LEFT関数</a>・<a href="https://mashukabu.com/excel-function-howto-use-mid/">MID関数</a>・<a href="https://mashukabu.com/excel-function-howto-use-right/">RIGHT関数</a>と組み合わせるパターンで使います。 文字列操作のレパートリーを増やしたい方は、あわせてチェックしてみてくださいね。</p>



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



<p class="wp-block-paragraph">この記事では、ExcelのSEARCH関数の使い方を基本から実務活用まで解説しました。 最後にポイントを振り返りましょう。</p>



<ul class="wp-block-list"><li>SEARCH関数は <code>=SEARCH(検索文字列, 対象, [開始位置])</code> で文字列の位置を返す</li><li><strong>大文字・小文字を区別しない</strong> のが最大の特徴</li><li><strong>ワイルドカード（?, *）</strong> が使え、あいまい検索ができる</li><li>見つからない場合は <code>#VALUE!</code> エラーになるので、<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>で囲むのが定番</li><li><a href="https://mashukabu.com/excel-function-howto-use-left/">LEFT</a>・<a href="https://mashukabu.com/excel-function-howto-use-mid/">MID</a>・<a href="https://mashukabu.com/excel-function-howto-use-right/">RIGHT</a>関数と組み合わせて文字列の抽出に活用できる</li><li>FIND関数との違いは「大文字小文字の区別」と「ワイルドカード対応」の2点</li><li>SEARCHB関数はバイト単位版で、通常業務ではSEARCHで十分</li></ul>



<p class="wp-block-paragraph">SEARCH関数は文字列操作の中でも使用頻度が高い関数です。 まずは「特定の文字が何番目にあるか」を調べるシンプルな使い方から始めてみてください。 LEFT・MID関数と組み合わせるテクニックに慣れれば、データ整理の幅がぐっと広がりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-search/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのREGEXEXTRACT関数の使い方｜正規表現で文字列を抽出</title>
		<link>https://mashukabu.com/spreadsheet-regexextract-function/</link>
					<comments>https://mashukabu.com/spreadsheet-regexextract-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:31:11 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[FIND関数]]></category>
		<category><![CDATA[MID関数]]></category>
		<category><![CDATA[REGEXEXTRACT関数]]></category>
		<category><![CDATA[REGEXMATCH関数]]></category>
		<category><![CDATA[REGEXREPLACE関数]]></category>
		<category><![CDATA[文字列操作]]></category>
		<category><![CDATA[正規表現]]></category>
		<category><![CDATA[関数の使い方]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4779</guid>

					<description><![CDATA[スプレッドシートのREGEXEXTRACT関数は、正規表現で文字列から必要な部分だけを抽出する関数です。メールアドレスからドメイン抽出、注文番号の取り出し、電話番号の分解など実務パターンや、MID+FINDとの比較、REGEXMATCH・REGEXREPLACEとの使い分けまで解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートで「住所から都道府県だけ取り出したい」「メールアドレスの@以降を抜き出したい」と思ったことはありませんか？ <a href="https://mashukabu.com/spreadsheet-mid-function/">MID関数</a>と<a href="https://mashukabu.com/spreadsheet-find-function/">FIND関数</a>を組み合わせれば文字の位置指定で抽出できます。でも、文字数がバラバラなデータには対応しきれないのが現実です。</p>



<p class="wp-block-paragraph">REGEXEXTRACT関数を使えば、<strong>正規表現のパターンに一致する部分だけ</strong>をピンポイントで抽出できます。この記事ではREGEXEXTRACT関数の基本から実務パターンまで丁寧に解説しますね。</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">REGEXEXTRACT関数とは？正規表現で文字列を抽出する関数</a><ol><li><a href="#toc2" tabindex="0">「正規表現」って何？</a></li></ol></li><li><a href="#toc3" tabindex="0">REGEXEXTRACT関数の書き方（構文と引数）</a><ol><li><a href="#toc4" tabindex="0">基本構文</a></li><li><a href="#toc5" tabindex="0">キャプチャグループ（括弧）の使い方</a></li></ol></li><li><a href="#toc6" tabindex="0">REGEXEXTRACT関数の基本的な使い方</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><li><a href="#toc10" tabindex="0">大文字・小文字を区別せずに抽出する</a></li></ol></li><li><a href="#toc11" tabindex="0">実務で使えるパターン集</a><ol><li><a href="#toc12" tabindex="0">メールアドレスからドメインを抽出する</a></li><li><a href="#toc13" tabindex="0">URLからドメイン名を抽出する</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><li><a href="#toc17" tabindex="0">ARRAYFORMULA関数と組み合わせて一括抽出する</a></li></ol></li><li><a href="#toc18" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc19" tabindex="0">数値セルで#VALUE!エラーになるケース</a></li><li><a href="#toc20" tabindex="0">パターン不一致で#N/Aエラーになるケース</a></li></ol></li><li><a href="#toc21" tabindex="0">MID+FIND関数との比較</a><ol><li><a href="#toc22" tabindex="0">同じ処理を両方で書いてみる</a></li><li><a href="#toc23" tabindex="0">比較表</a></li><li><a href="#toc24" tabindex="0">どちらを使うべき？</a></li></ol></li><li><a href="#toc25" tabindex="0">REGEXMATCH・REGEXREPLACEとの使い分け</a><ol><li><a href="#toc26" tabindex="0">具体例で比較</a></li></ol></li><li><a href="#toc27" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">REGEXEXTRACT関数とは？正規表現で文字列を抽出する関数</span></h2>



<p class="wp-block-paragraph">REGEXEXTRACT関数は、セルの文字列から<strong>正規表現パターンに一致する部分を抽出</strong>して返す関数です。読み方は「レジェックスエクストラクト」。「Regex（正規表現）」+「Extract（抽出）」が語源です。</p>



<p class="wp-block-paragraph">たとえば「tanaka@example.com」から <code>@(.+)</code> のパターンで抽出すると「example.com」が返ります。@以降のドメイン部分だけを取り出せるわけです。</p>



<p class="wp-block-paragraph">REGEXEXTRACT関数は<strong>Googleスプレッドシート独自の関数</strong>で、Excelには存在しません。Excelで同じことをするにはVBAが必要です。スプレッドシートなら関数だけで正規表現抽出ができるのが大きな強みですよ。</p>



<h3 class="wp-block-heading"><span id="toc2">「正規表現」って何？</span></h3>



<p class="wp-block-paragraph">正規表現とは、文字列のパターンを記号で表すルールです。たとえば <code>[0-9]+</code> は「1文字以上の数字」を意味します。最初はとっつきにくく感じるかもしれません。でも、よく使うパターンは決まっています。この記事で紹介するパターンをコピーして使えばOKです。正規表現の記号一覧は<a href="https://mashukabu.com/spreadsheet-regexmatch-function/">REGEXMATCH関数の記事</a>でまとめていますので、そちらも参考にしてください。</p>



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



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



<pre class="wp-block-code"><code>=REGEXEXTRACT(テキスト, 正規表現)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>テキスト</td><td>必須</td><td>抽出元の文字列またはセル参照</td></tr><tr><td>正規表現</td><td>必須</td><td>抽出したいパターンの正規表現</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">戻り値は<strong>パターンに一致した文字列</strong>です。一致する部分がなければ#N/Aエラーになります。</p>



<h3 class="wp-block-heading"><span id="toc5">キャプチャグループ（括弧）の使い方</span></h3>



<p class="wp-block-paragraph">REGEXEXTRACT関数の正規表現に<strong>括弧 <code>()</code></strong> を使うと、括弧内に一致した部分だけを返します。これを「キャプチャグループ」と呼びます。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(&quot;tanaka@example.com&quot;, &quot;@(.+)&quot;)
  → &quot;example.com&quot;（@の後ろだけを抽出）

=REGEXEXTRACT(&quot;tanaka@example.com&quot;, &quot;.+@(.+)&quot;)
  → &quot;example.com&quot;（同じ結果）

=REGEXEXTRACT(&quot;tanaka@example.com&quot;, &quot;(.+)@&quot;)
  → &quot;tanaka&quot;（@の前だけを抽出）</code></pre>



<p class="wp-block-paragraph">括弧なしの場合はパターン全体に一致した文字列を返します。括弧ありの場合は括弧内の部分だけを返します。この違いがポイントですよ。</p>



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



<h3 class="wp-block-heading"><span id="toc7">数字だけを抽出する</span></h3>



<p class="wp-block-paragraph">セルA2に「商品コード: ABC-123」が入っているとします。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;[0-9]+&quot;)   → &quot;123&quot;（数字部分を抽出）
=REGEXEXTRACT(A2, &quot;[A-Z]+&quot;)   → &quot;ABC&quot;（英大文字部分を抽出）</code></pre>



<p class="wp-block-paragraph"><code>[0-9]+</code> は「1文字以上の数字」を意味します。最初に一致した部分が返ります。</p>



<h3 class="wp-block-heading"><span id="toc8">特定のパターンを抽出する</span></h3>



<p class="wp-block-paragraph">セルA2に「受付番号: ORD-2024-0456」が入っているとします。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;ORD-d{4}-d{4}&quot;)
  → &quot;ORD-2024-0456&quot;（注文番号パターンを抽出）</code></pre>



<p class="wp-block-paragraph"><code>d{4}</code> は「数字がちょうど4桁」を意味します。パターン全体に一致する文字列がそのまま返ります。</p>



<h3 class="wp-block-heading"><span id="toc9">複数のキャプチャグループで分割抽出する</span></h3>



<p class="wp-block-paragraph">括弧を複数使うと、それぞれのグループが<strong>別々のセルに展開</strong>されます。</p>



<p class="wp-block-paragraph">セルA2に「山田太郎 03-1234-5678」が入っているとします。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;(.+)s(d{2,4}-d{1,4}-d{3,4})&quot;)
  → &quot;山田太郎&quot; と &quot;03-1234-5678&quot; が隣り合う2つのセルに展開</code></pre>



<p class="wp-block-paragraph">名前と電話番号を一度に分割できるのが便利ですね。複数グループの結果は横方向のセルに出力されます。</p>



<h3 class="wp-block-heading"><span id="toc10">大文字・小文字を区別せずに抽出する</span></h3>



<p class="wp-block-paragraph">REGEXEXTRACT関数はデフォルトで<strong>大文字と小文字を区別</strong>します。区別せずに抽出したいときは <code>(?i)</code> を先頭に付けます。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(&quot;Hello World&quot;, &quot;(?i)hello&quot;)
  → &quot;Hello&quot;（大文字小文字を無視してマッチ・抽出）</code></pre>



<h2 class="wp-block-heading"><span id="toc11">実務で使えるパターン集</span></h2>



<h3 class="wp-block-heading"><span id="toc12">メールアドレスからドメインを抽出する</span></h3>



<p class="wp-block-paragraph">顧客リストのメールアドレスからドメイン部分だけを取り出します。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;@(.+)&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>セルの値</th><th>結果</th><th>説明</th></tr></thead><tbody><tr><td>tanaka@example.com</td><td>example.com</td><td>@以降を抽出</td></tr><tr><td>sato@company.co.jp</td><td>company.co.jp</td><td>@以降を抽出</td></tr><tr><td>info@test.org</td><td>test.org</td><td>@以降を抽出</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ドメイン別に顧客を集計したいときに便利です。<a href="https://mashukabu.com/spreadsheet-countif-function/">COUNTIF関数</a>と組み合わせれば、ドメイン別の件数集計もできます。</p>



<h3 class="wp-block-heading"><span id="toc13">URLからドメイン名を抽出する</span></h3>



<p class="wp-block-paragraph">Webサイトの一覧からドメイン名だけを取り出します。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;https?://([^/]+)&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>セルの値</th><th>結果</th></tr></thead><tbody><tr><td>https://www.example.com/page</td><td>www.example.com</td></tr><tr><td>http://blog.test.jp/article/123</td><td>blog.test.jp</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><code>https?://</code> は「httpまたはhttps」を意味します。<code>([^/]+)</code> は「スラッシュ以外の文字が1文字以上」です。</p>



<h3 class="wp-block-heading"><span id="toc14">住所から都道府県を抽出する</span></h3>



<p class="wp-block-paragraph">住所データから都道府県名だけを取り出します。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;^(.{2,3}[都道府県])&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>セルの値</th><th>結果</th></tr></thead><tbody><tr><td>東京都渋谷区神南1-2-3</td><td>東京都</td></tr><tr><td>神奈川県横浜市西区</td><td>神奈川県</td></tr><tr><td>大阪府大阪市北区</td><td>大阪府</td></tr><tr><td>北海道札幌市中央区</td><td>北海道</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><code>.{2,3}</code> は「任意の文字が2〜3文字」を意味します。「東京（2文字）」から「神奈川（3文字）」まで対応できます。</p>



<h3 class="wp-block-heading"><span id="toc15">電話番号からエリアコードを抽出する</span></h3>



<p class="wp-block-paragraph">電話番号の先頭部分（エリアコード）だけを取り出します。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;^(0d{1,4})&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>セルの値</th><th>結果</th></tr></thead><tbody><tr><td>03-1234-5678</td><td>03</td></tr><tr><td>090-1234-5678</td><td>090</td></tr><tr><td>0120-123-456</td><td>0120</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">REGEXEXTRACT関数はパターンに一致しないと#N/Aエラーを返します。<a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a>で囲めばエラーを回避できます。</p>



<pre class="wp-block-code"><code>=IFERROR(REGEXEXTRACT(A2, &quot;@(.+)&quot;), &quot;ドメインなし&quot;)</code></pre>



<p class="wp-block-paragraph">パターンに一致しないセルには「ドメインなし」と表示されます。一覧表で使うときは必ずIFERRORで囲むのがおすすめですよ。</p>



<h3 class="wp-block-heading"><span id="toc17">ARRAYFORMULA関数と組み合わせて一括抽出する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a>と組み合わせれば、複数行を一括で処理できます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IFERROR(REGEXEXTRACT(A2:A100, &quot;@(.+)&quot;), &quot;&quot;))</code></pre>



<p class="wp-block-paragraph">この数式をB2セルに1つ入れるだけで、A2からA100までのメールアドレスからドメインを一括抽出できます。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#N/A</td><td>パターンに一致する部分がない</td><td>IFERRORで囲む。正規表現の見直しも確認</td></tr><tr><td>#VALUE!</td><td>テキストが数値</td><td><code>=REGEXEXTRACT(TEXT(A2,"0"), "パターン")</code> で文字列に変換</td></tr><tr><td>#VALUE!</td><td>テキストが空セル</td><td><code>=IF(A2="", "", REGEXEXTRACT(A2, "パターン"))</code> で空チェック</td></tr><tr><td>#REF!</td><td>正規表現の構文エラー</td><td>括弧の閉じ忘れ・エスケープ漏れを確認</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc19">数値セルで#VALUE!エラーになるケース</span></h3>



<p class="wp-block-paragraph">REGEXEXTRACT関数の第1引数は<strong>文字列</strong>が必要です。セルに数値が入っている場合は#VALUE!エラーです。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;d+&quot;)           → A2が数値だと #VALUE!
=REGEXEXTRACT(TEXT(A2, &quot;0&quot;), &quot;d+&quot;) → TEXT関数で文字列に変換すればOK</code></pre>



<p class="wp-block-paragraph">数値から一部を抽出したい場合は、<a href="https://mashukabu.com/spreadsheet-text-function/">TEXT関数</a>で文字列に変換してから渡しましょう。</p>



<h3 class="wp-block-heading"><span id="toc20">パターン不一致で#N/Aエラーになるケース</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-regexmatch-function/">REGEXMATCH関数</a>はパターン不一致でFALSEを返します。一方、REGEXEXTRACT関数は<strong>#N/Aエラー</strong>を返します。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(&quot;abc&quot;, &quot;d+&quot;)  → #N/A（数字が含まれない）</code></pre>



<p class="wp-block-paragraph">一覧表で使うときは <code>=IFERROR(REGEXEXTRACT(A2, "パターン"), "")</code> のようにIFERRORで囲むのが定番です。</p>



<h2 class="wp-block-heading"><span id="toc21">MID+FIND関数との比較</span></h2>



<p class="wp-block-paragraph">文字列の抽出は<a href="https://mashukabu.com/spreadsheet-mid-function/">MID関数</a>と<a href="https://mashukabu.com/spreadsheet-find-function/">FIND関数</a>の組み合わせでもできます。REGEXEXTRACTとの違いを比較しましょう。</p>



<h3 class="wp-block-heading"><span id="toc22">同じ処理を両方で書いてみる</span></h3>



<p class="wp-block-paragraph">メールアドレス「tanaka@example.com」から@以降を抽出する場合です。</p>



<p class="wp-block-paragraph"><strong>MID+FIND関数の場合:</strong></p>



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



<p class="wp-block-paragraph"><strong>REGEXEXTRACT関数の場合:</strong></p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;@(.+)&quot;)</code></pre>



<p class="wp-block-paragraph">REGEXEXTRACT関数のほうがシンプルですね。MID+FINDは「@の位置を探す→その後ろから末尾までを取る」と2段階の計算が必要です。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>REGEXEXTRACT</th><th>MID + FIND</th></tr></thead><tbody><tr><td>数式の長さ</td><td>短い</td><td>長い（3関数の組み合わせ）</td></tr><tr><td>パターン抽出</td><td>得意（正規表現で柔軟）</td><td>苦手（固定位置のみ）</td></tr><tr><td>可変長データ</td><td>対応できる</td><td>文字数計算が必要</td></tr><tr><td>複数パターン</td><td>1つの数式で対応</td><td>複数のFINDが必要</td></tr><tr><td>Excel互換</td><td>なし（Sheets独自）</td><td>あり</td></tr><tr><td>学習コスト</td><td>正規表現の知識が必要</td><td>低い</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc24">どちらを使うべき？</span></h3>



<ul class="wp-block-list"><li><strong>固定位置から切り出す</strong>（左から3文字、5文字目から8文字）→ <a href="https://mashukabu.com/spreadsheet-mid-function/">MID関数</a>・<a href="https://mashukabu.com/spreadsheet-left-function/">LEFT関数</a>・<a href="https://mashukabu.com/spreadsheet-right-function/">RIGHT関数</a>で十分</li><li><strong>パターンで抽出する</strong>（メールのドメイン、URLのパス）→ <strong>REGEXEXTRACT関数</strong>一択</li><li><strong>Excelとの互換性が必要</strong> → MID + FINDを使う</li></ul>



<p class="wp-block-paragraph">データの形式がバラバラなときほど、REGEXEXTRACT関数の威力を発揮します。</p>



<h2 class="wp-block-heading"><span id="toc25">REGEXMATCH・REGEXREPLACEとの使い分け</span></h2>



<p class="wp-block-paragraph">スプレッドシートには正規表現を使う関数が3つあります。目的で使い分けましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>目的</th><th>戻り値</th><th>使用例</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-regexmatch-function/">REGEXMATCH</a></td><td>パターンに<strong>一致するか判定</strong></td><td>TRUE / FALSE</td><td>入力チェック、条件分岐</td></tr><tr><td>REGEXEXTRACT</td><td>パターンに一致する部分を<strong>抽出</strong></td><td>一致した文字列</td><td>ドメイン抽出、番号取り出し</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-regexreplace-function/">REGEXREPLACE</a></td><td>パターンに一致する部分を<strong>置換</strong></td><td>置換後の文字列</td><td>ハイフン除去、書式統一</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc26">具体例で比較</span></h3>



<p class="wp-block-paragraph">セルA2に「注文番号: ORD-2024-0123」が入っているとします。</p>



<pre class="wp-block-code"><code>=REGEXMATCH(A2, &quot;ORD-d{4}-d{4}&quot;)
  → TRUE（注文番号パターンに一致するか判定）

=REGEXEXTRACT(A2, &quot;ORD-d{4}-d{4}&quot;)
  → &quot;ORD-2024-0123&quot;（注文番号部分を抽出）

=REGEXREPLACE(A2, &quot;ORD-&quot;, &quot;&quot;)
  → &quot;注文番号: 2024-0123&quot;（「ORD-」を除去）</code></pre>



<p class="wp-block-paragraph"><strong>判定</strong>は<a href="https://mashukabu.com/spreadsheet-regexmatch-function/">REGEXMATCH</a>、<strong>抽出</strong>はREGEXEXTRACT、<strong>置換</strong>はREGEXREPLACEと覚えておきましょう。</p>



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



<p class="wp-block-paragraph">REGEXEXTRACT関数は、正規表現でパターンに一致する部分を抽出できるスプレッドシート独自の関数です。</p>



<ul class="wp-block-list"><li><strong>基本</strong>: <code>=REGEXEXTRACT(テキスト, 正規表現)</code> で一致部分を返す</li><li><strong>キャプチャグループ</strong>: 括弧 <code>()</code> で囲んだ部分だけを抽出できる</li><li><strong>実務活用</strong>: ドメイン抽出・都道府県抽出・番号分解に最適</li><li><strong>エラー対策</strong>: パターン不一致は#N/Aエラー。IFERRORで囲むのが定番</li><li><strong>使い分け</strong>: 判定はREGEXMATCH、抽出はREGEXEXTRACT、置換はREGEXREPLACE</li></ul>



<p class="wp-block-paragraph">MID+FINDでは書ききれないパターン抽出が必要なとき、ぜひ活用してみてください。正規表現の基本は<a href="https://mashukabu.com/spreadsheet-regexmatch-function/">REGEXMATCH関数の記事</a>でまとめています。そちらも合わせてチェックしてみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-regexextract-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのMID関数の使い方｜途中の文字を取り出す方法</title>
		<link>https://mashukabu.com/spreadsheet-mid-function/</link>
					<comments>https://mashukabu.com/spreadsheet-mid-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 18 Mar 2026 14:38:12 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[FIND関数]]></category>
		<category><![CDATA[LEFT関数]]></category>
		<category><![CDATA[MID関数]]></category>
		<category><![CDATA[RIGHT関数]]></category>
		<category><![CDATA[文字列操作]]></category>
		<category><![CDATA[関数の使い方]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4244</guid>

					<description><![CDATA[スプレッドシートのMID関数で、文字列の途中から指定した文字数を取り出す方法を解説。商品コードや日付の分割など実務例も紹介。LEFT・RIGHTとの使い分けもわかります。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートのMID関数の使い方で悩んでいませんか？商品コードの中間部分だけ、日付の月や日だけを取り出したい場面はよくありますよね。</p>



<p class="wp-block-paragraph">でも、文字列の途中を手作業で切り出すのは大変です。データ件数が増えるほど、時間もミスも増えていきます。</p>



<p class="wp-block-paragraph">MID関数を使えばこの作業が一瞬で完了します。この記事では基本構文から実務での活用例、エラー対処法まで丁寧に解説します。</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">MID関数とは？スプレッドシートで途中の文字を取り出す基本構文</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">実務でよく使うMID関数の活用例</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">FIND関数と組み合わせて可変長の切り出しをする（応用）</a><ol><li><a href="#toc9" tabindex="0">メールアドレスからドメインを取り出す</a></li><li><a href="#toc10" tabindex="0">2つの区切り文字の間を取り出す</a></li><li><a href="#toc11" tabindex="0">IFERRORでエラーを防ぐ</a></li></ol></li><li><a href="#toc12" tabindex="0">LEFT・RIGHT・MIDの違いと使い分け</a><ol><li><a href="#toc13" tabindex="0">3関数の比較一覧</a></li><li><a href="#toc14" tabindex="0">どれを使うか迷ったときの判断フレーム</a></li></ol></li><li><a href="#toc15" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc16" tabindex="0">開始位置に0やマイナスを指定すると#VALUE!エラー</a></li><li><a href="#toc17" tabindex="0">文字数にマイナスを指定すると#VALUE!エラー</a></li><li><a href="#toc18" tabindex="0">開始位置が文字列の長さを超えると空文字列</a></li><li><a href="#toc19" tabindex="0">文字数が残りの文字数を超えても大丈夫</a></li><li><a href="#toc20" tabindex="0">結果が文字列になる（数値として使えない）</a></li></ol></li><li><a href="#toc21" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">MID関数とは？スプレッドシートで途中の文字を取り出す基本構文</span></h2>



<p class="wp-block-paragraph">MID関数は、セルの文字列を<strong>任意の位置から指定した文字数だけ取り出す</strong>関数です。先頭でも末尾でもなく「途中」から切り出せるのが特徴ですよ。</p>



<p class="wp-block-paragraph">「MID（ミッド）」は英語の「middle（中間）」が語源です。文字列の中間部分を取り出す動作を表しています。ExcelとGoogleスプレッドシートで完全互換なので、どちらでも使えます。</p>



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



<pre class="wp-block-code"><code>=MID(文字列, 開始位置, 文字数)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>文字列</td><td>必須</td><td>取り出し元のセルまたはテキスト</td></tr><tr><td>開始位置</td><td>必須</td><td>取り出しを始める位置（先頭が1）</td></tr><tr><td>文字数</td><td>必須</td><td>取り出す文字数</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">LEFT関数やRIGHT関数と違い、3つの引数はすべて必須です。省略するとエラーになるので注意してください。</p>



<p class="wp-block-paragraph">開始位置は先頭の文字を「1」として数えます。たとえば「ABCDE」の「C」は3文字目なので、開始位置は<code>3</code>です。</p>



<p class="wp-block-paragraph">全角・半角は関係ありません。どちらも1文字=1文字としてカウントされます。バイト数で計算したい場合はMIDB関数を使いましょう。</p>



<h3 class="wp-block-heading"><span id="toc3">基本的な使用例</span></h3>



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



<p class="wp-block-paragraph">セルA1に「東京都新宿区西新宿」と入力されているとします。</p>



<pre class="wp-block-code"><code>=MID(A1, 4, 3)  → 「新宿区」
=MID(A1, 1, 3)  → 「東京都」（先頭からならLEFTでもOK）
=MID(A1, 7, 3)  → 「西新宿」</code></pre>



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



<p class="wp-block-paragraph">何文字目から何文字取り出すかを指定するだけです。シンプルですね。</p>



<h2 class="wp-block-heading"><span id="toc4">実務でよく使うMID関数の活用例</span></h2>



<p class="wp-block-paragraph">MID関数が実際の業務でどう役立つか、よく使うパターンを3つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc5">商品コードの中間部分を取り出す</span></h3>



<p class="wp-block-paragraph">「A-1234-BK」のような商品コードで、中央の数字部分だけ取り出したい場面です。</p>



<pre class="wp-block-code"><code>=MID(A2, 3, 4)  → 「1234」</code></pre>



<p class="wp-block-paragraph">3文字目から4文字を取り出しています。コードの形式が決まっていれば、これだけで完了です。</p>



<p class="wp-block-paragraph">取り出した数字を計算に使いたい場合はVALUE関数で変換しましょう。MID関数の結果は常に文字列として返ります。</p>



<pre class="wp-block-code"><code>=VALUE(MID(A2, 3, 4))  → 1234（数値）</code></pre>



<h3 class="wp-block-heading"><span id="toc6">日付文字列から月や日を取り出す</span></h3>



<p class="wp-block-paragraph">「2026-03-18」のような日付文字列から、月や日だけを取り出す例です。</p>



<pre class="wp-block-code"><code>=MID(A2, 6, 2)  → 「03」（月の部分）
=MID(A2, 9, 2)  → 「18」（日の部分）</code></pre>



<p class="wp-block-paragraph">年はLEFT関数、日はRIGHT関数でも取れます。でも月のように「途中にある文字」はMID関数の出番ですね。</p>



<h3 class="wp-block-heading"><span id="toc7">電話番号の市内局番を取り出す</span></h3>



<p class="wp-block-paragraph">「03-1234-5678」のような電話番号から市内局番を取り出す例です。</p>



<pre class="wp-block-code"><code>=MID(A2, 4, 4)  → 「1234」</code></pre>



<p class="wp-block-paragraph">4文字目から4文字を取り出しています。ハイフン位置が固定の場合はシンプルに書けますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>ハイフンの位置が固定でない場合は、SUBSTITUTE関数でハイフンを除去してからMIDで取り出すと確実です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc8">FIND関数と組み合わせて可変長の切り出しをする（応用）</span></h2>



<p class="wp-block-paragraph">MID関数は開始位置と文字数を固定で指定します。でも「区切り文字の位置がデータによって違う」ケースもありますよね。</p>



<p class="wp-block-paragraph">そこで便利なのがFIND関数との組み合わせです。FINDは指定した文字が何文字目にあるかを返します。大文字と小文字を区別して検索する関数です。区別が不要な場合はSEARCH関数を使ってください。</p>



<h3 class="wp-block-heading"><span id="toc9">メールアドレスからドメインを取り出す</span></h3>



<p class="wp-block-paragraph">メールアドレスの<code>@</code>より後ろのドメイン部分を取り出す例です。</p>



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



<p class="wp-block-paragraph">ちょっとむずかしく見えますが、分解すると簡単です。</p>



<ol class="wp-block-list"><li><code>FIND("@", A1)</code> で <code>@</code> が何文字目かを取得する</li><li>そこに1を足して「@の次の文字位置」を計算する</li><li>文字数にLEN(A1)で全体の長さを指定する</li></ol>



<p class="wp-block-paragraph">文字数を大きめに指定しても、末尾までの文字が返るだけです。エラーにはなりません。</p>



<p class="wp-block-paragraph">「tanaka@example.com」なら<code>@</code>は7文字目です。8文字目から残り全部を取り出すので、結果は「example.com」になります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>LEFT関数を使えば、逆に@より前（ユーザー名）を取り出せます。詳しくは「<a href="https://mashukabu.com/spreadsheet-left-function/">スプレッドシートのLEFT関数の使い方｜左から文字取得</a>」で解説しています。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc10">2つの区切り文字の間を取り出す</span></h3>



<p class="wp-block-paragraph">「営業部-田中太郎-東京」のようなデータがあるとします。1つ目と2つ目のハイフンの間にある「田中太郎」を取り出してみましょう。</p>



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



<p class="wp-block-paragraph">数式が長く見えますが、やっていることは3ステップです。</p>



<ol class="wp-block-list"><li>1つ目の<code>-</code>の位置を取得する</li><li>2つ目の<code>-</code>の位置を取得する（第3引数で検索開始位置を指定）</li><li>2つの位置の差から取り出す文字数を計算する</li></ol>



<p class="wp-block-paragraph">これはMID関数ならではの使い方です。LEFT関数やRIGHT関数では対応できません。</p>



<h3 class="wp-block-heading"><span id="toc11">IFERRORでエラーを防ぐ</span></h3>



<p class="wp-block-paragraph">対象セルに区切り文字がない場合、FINDはエラーを返します。エラーを防ぐにはIFERRORでラップしましょう。</p>



<pre class="wp-block-code"><code>=IFERROR(MID(A1, FIND(&quot;-&quot;,A1)+1, LEN(A1)), &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">区切り文字があれば結果を、なければ「該当なし」を返します。実務データは必ずしもきれいとは限りません。IFERRORパターンは覚えておくと安心ですよ。</p>



<h2 class="wp-block-heading"><span id="toc12">LEFT・RIGHT・MIDの違いと使い分け</span></h2>



<p class="wp-block-paragraph">文字列を取り出す関数にはMID以外に「LEFT」と「RIGHT」があります。どれも文字列の一部を切り出す関数ですが、取り出す位置が異なります。</p>



<h3 class="wp-block-heading"><span id="toc13">3関数の比較一覧</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>取り出す位置</th><th>構文</th><th>使用例</th></tr></thead><tbody><tr><td>LEFT</td><td>左端（先頭）から</td><td><code>=LEFT(文字列, 文字数)</code></td><td>都道府県名、カテゴリコード</td></tr><tr><td>RIGHT</td><td>右端（末尾）から</td><td><code>=RIGHT(文字列, 文字数)</code></td><td>電話番号末尾4桁、拡張子</td></tr><tr><td>MID</td><td>任意の開始位置から</td><td><code>=MID(文字列, 開始位置, 文字数)</code></td><td>商品コードの中間部分、日付の月</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数の数が違う点に注意してください。LEFTとRIGHTは2引数（文字数は省略可）ですが、MIDは3引数すべて必須です。</p>



<h3 class="wp-block-heading"><span id="toc14">どれを使うか迷ったときの判断フレーム</span></h3>



<p class="wp-block-paragraph">取り出したい文字がどこにあるかで選べます。</p>



<ul class="wp-block-list"><li><strong>先頭から数えたほうが早い</strong> → <a href="https://mashukabu.com/spreadsheet-left-function/">LEFT関数</a></li><li><strong>末尾から数えたほうが早い</strong> → <a href="https://mashukabu.com/spreadsheet-right-function/">RIGHT関数</a></li><li><strong>真ん中あたりにある</strong> → MID関数</li></ul>



<p class="wp-block-paragraph">「2026-03-18」から年を取りたいなら先頭4文字なのでLEFTです。日だけなら末尾2文字なのでRIGHTになります。月は途中にあるのでMIDの出番ですね。</p>



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



<p class="wp-block-paragraph">MID関数で思ったとおりに動かないときのパターンを解説します。</p>



<h3 class="wp-block-heading"><span id="toc16">開始位置に0やマイナスを指定すると#VALUE!エラー</span></h3>



<p class="wp-block-paragraph">開始位置は1以上の整数を指定する必要があります。0やマイナスの値は受け付けません。</p>



<pre class="wp-block-code"><code>=MID(A1, 0, 3)   → #VALUE!エラー
=MID(A1, -1, 3)  → #VALUE!エラー</code></pre>



<p class="wp-block-paragraph">LEFT関数は<code>LEFT(A1, 0)</code>で空文字を返します。でもMIDは開始位置に0を指定できません。この違いに注意してください。</p>



<h3 class="wp-block-heading"><span id="toc17">文字数にマイナスを指定すると#VALUE!エラー</span></h3>



<p class="wp-block-paragraph">文字数もマイナスの値は指定できません。0は指定できますが、空文字列が返ります。</p>



<pre class="wp-block-code"><code>=MID(A1, 2, -1)  → #VALUE!エラー
=MID(A1, 2, 0)   → &quot;&quot;（空文字列）</code></pre>



<h3 class="wp-block-heading"><span id="toc18">開始位置が文字列の長さを超えると空文字列</span></h3>



<p class="wp-block-paragraph">開始位置が文字列の文字数より大きい場合は空文字列が返ります。エラーにはなりません。</p>



<pre class="wp-block-code"><code>=MID(&quot;Hello&quot;, 10, 3)  → &quot;&quot;（空文字列）</code></pre>



<h3 class="wp-block-heading"><span id="toc19">文字数が残りの文字数を超えても大丈夫</span></h3>



<p class="wp-block-paragraph">文字数を大きく指定しても、末尾までの文字が返るだけです。エラーにはなりません。</p>



<pre class="wp-block-code"><code>=MID(&quot;Hello&quot;, 3, 100)  → 「llo」</code></pre>



<p class="wp-block-paragraph">この仕様はFIND関数との組み合わせで活用します。末尾までの正確な文字数がわからなくても、LEN関数で全体の長さを指定すれば確実です。</p>



<h3 class="wp-block-heading"><span id="toc20">結果が文字列になる（数値として使えない）</span></h3>



<p class="wp-block-paragraph">MID関数の結果は常に文字列型です。数字を取り出しても、そのままでは計算に使えません。</p>



<pre class="wp-block-code"><code>=MID(&quot;A-1234-BK&quot;, 3, 4)      → 「1234」（文字列）
=VALUE(MID(&quot;A-1234-BK&quot;, 3, 4)) → 1234（数値）</code></pre>



<p class="wp-block-paragraph">合計や比較に使うときはVALUE関数で変換してくださいね。</p>



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



<p class="wp-block-paragraph">MID関数の要点を整理します。</p>



<figure class="wp-block-table"><table><thead><tr><th>ポイント</th><th>内容</th></tr></thead><tbody><tr><td>基本構文</td><td><code>=MID(文字列, 開始位置, 文字数)</code></td></tr><tr><td>引数</td><td>3つすべて必須（LEFT/RIGHTと異なり省略不可）</td></tr><tr><td>開始位置</td><td>先頭の文字が1（0はエラー）</td></tr><tr><td>文字数超過</td><td>末尾までの文字を返す（エラーにならない）</td></tr><tr><td>開始位置超過</td><td>空文字列を返す（エラーにならない）</td></tr><tr><td>全角・半角</td><td>どちらも1文字としてカウント</td></tr><tr><td>結果の型</td><td>常に文字列（数値にはVALUE関数で変換）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">MID関数は文字列操作の三本柱の1つです。まずは「何文字目から何文字取り出す」というシンプルな使い方から試してみてください。</p>



<p class="wp-block-paragraph">慣れてきたらFIND関数との組み合わせにも挑戦しましょう。区切り文字の位置に応じた柔軟な切り出しができるようになると、実務でのデータ整理の幅が一気に広がりますよ。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-left-function/">LEFT関数（先頭から切り出し）</a>や<a href="https://mashukabu.com/spreadsheet-right-function/">RIGHT関数（末尾から切り出し）</a>と合わせて、文字列操作の三本柱として活用してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-mid-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのFIND関数の使い方｜文字位置を検索する方法</title>
		<link>https://mashukabu.com/spreadsheet-find-function/</link>
					<comments>https://mashukabu.com/spreadsheet-find-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 18 Mar 2026 14:38:10 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[FIND関数]]></category>
		<category><![CDATA[LEFT関数]]></category>
		<category><![CDATA[MID関数]]></category>
		<category><![CDATA[RIGHT関数]]></category>
		<category><![CDATA[SEARCH関数]]></category>
		<category><![CDATA[文字列操作]]></category>
		<category><![CDATA[関数の使い方]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4242</guid>

					<description><![CDATA[スプレッドシートのFIND関数で、文字列内の特定の文字位置を検索する方法を解説。SEARCHとの違い（大文字小文字区別）やMID・LEFTとの組み合わせ、#VALUE!エラーの対処法もわかります。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートで「@マークは何文字目にある？」「スラッシュの位置を調べたい」と思ったことはありませんか？文字列から特定の文字の位置を手作業で数えるのは面倒ですし、データが何百行もあると現実的ではないですよね。</p>



<p class="wp-block-paragraph">FIND関数を使えば、特定の文字が何文字目にあるかを一発で調べられます。この記事ではスプレッドシートでのFIND関数の基本から、LEFT・MID関数との組み合わせ応用、エラー対処法まで丁寧に解説します。</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">FIND関数とは？スプレッドシートで文字の位置を検索する関数</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">第3引数（開始位置）の使いどころ</a></li></ol></li><li><a href="#toc5" tabindex="0">基本的な使い方</a></li><li><a href="#toc6" tabindex="0">FIND関数とSEARCH関数の違い</a><ol><li><a href="#toc7" tabindex="0">比較表</a></li><li><a href="#toc8" tabindex="0">どちらを使うか迷ったときの判断基準</a></li></ol></li><li><a href="#toc9" tabindex="0">実務での活用例（LEFT・MID・RIGHTとの組み合わせ）</a><ol><li><a href="#toc10" tabindex="0">メールアドレスの@より前を取り出す（LEFT + FIND）</a></li><li><a href="#toc11" tabindex="0">スラッシュ区切りの日付から年月日を分離する（MID + FIND）</a></li><li><a href="#toc12" tabindex="0">ファイル名から拡張子を取り出す（RIGHT + LEN + FIND）</a></li></ol></li><li><a href="#toc13" tabindex="0">エラー（#VALUE!）の原因と対処法</a><ol><li><a href="#toc14" tabindex="0">エラーの原因</a></li><li><a href="#toc15" tabindex="0">IFERRORで安全に処理する</a></li></ol></li><li><a href="#toc16" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">FIND関数とは？スプレッドシートで文字の位置を検索する関数</span></h2>



<p class="wp-block-paragraph">FIND関数は、文字列の中から<strong>特定の文字が何文字目にあるかを返す</strong>関数です。読み方は「ファインド」。英語の「Find（見つける）」がそのまま名前になっています。</p>



<p class="wp-block-paragraph">たとえば「tanaka@example.com」の中で「@」は7文字目にあります。FIND関数はこの「7」という数値を返してくれます。</p>



<p class="wp-block-paragraph">最大の特徴は<strong>大文字と小文字を区別する</strong>ことです。「A」と「a」を別の文字として扱います。区別しない検索にはSEARCH関数を使います。この違いについては後ほど詳しく解説しますね。</p>



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



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



<pre class="wp-block-code"><code>=FIND(検索文字列, テキスト, [開始位置])</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>検索文字列</td><td>必須</td><td>探したい文字または文字列</td></tr><tr><td>テキスト</td><td>必須</td><td>検索対象のセルまたはテキスト</td></tr><tr><td>開始位置</td><td>省略可</td><td>何文字目から検索を始めるか（省略時は1）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">戻り値は「検索文字列が最初に見つかった位置」の数値です。1文字目が「1」なので、0始まりではありません。</p>



<h3 class="wp-block-heading"><span id="toc4">第3引数（開始位置）の使いどころ</span></h3>



<p class="wp-block-paragraph">開始位置を指定すると、途中から検索を開始できます。同じ文字が複数回出てくるテキストで「2番目の出現位置」を調べたいときに使います。</p>



<pre class="wp-block-code"><code>=FIND(&quot;-&quot;, &quot;ABC-001-RED&quot;)      → 4（最初のハイフン）
=FIND(&quot;-&quot;, &quot;ABC-001-RED&quot;, 5)   → 8（2番目のハイフン）</code></pre>



<p class="wp-block-paragraph">1回目のFINDで最初のハイフン位置（4）を取得し、その次の位置（5）から検索を再開する仕組みです。<a href="https://mashukabu.com/spreadsheet-mid-function/">MID関数</a>との組み合わせで区切り文字間の文字を取り出すときに活躍しますよ。</p>



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



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



<p class="wp-block-paragraph">セルA2に「tanaka@example.com」が入っているとします。</p>



<pre class="wp-block-code"><code>=FIND(&quot;@&quot;, A2)        → 7（@は7文字目）
=FIND(&quot;example&quot;, A2)  → 8（&quot;example&quot;は8文字目から始まる）
=FIND(&quot;a&quot;, A2)        → 2（最初の小文字&quot;a&quot;は2文字目）</code></pre>



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



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



<p class="wp-block-paragraph">検索文字列は1文字でも複数文字でもOKです。複数文字の場合は先頭文字の位置を返します。</p>



<p class="wp-block-paragraph">大文字小文字を区別するので、<code>=FIND("T", A2)</code> は「T」が存在しないため#VALUE!エラーになります。先頭は小文字の「t」だからです。</p>



<h2 class="wp-block-heading"><span id="toc6">FIND関数とSEARCH関数の違い</span></h2>



<p class="wp-block-paragraph">スプレッドシートには文字位置を調べる関数が2つあります。FINDとSEARCHです。用途に合わせて使い分けましょう。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>FIND</th><th>SEARCH</th></tr></thead><tbody><tr><td>大文字/小文字</td><td><strong>区別する</strong></td><td>区別しない</td></tr><tr><td>ワイルドカード</td><td>使えない</td><td><code>*</code>（任意の文字列）<code>?</code>（任意の1文字）が使える</td></tr><tr><td>用途</td><td>完全一致で正確に検索</td><td>あいまい検索・大文字小文字を気にしない場合</td></tr><tr><td>構文</td><td><code>=FIND(検索文字列, テキスト, [開始位置])</code></td><td><code>=SEARCH(検索文字列, テキスト, [開始位置])</code></td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc8">どちらを使うか迷ったときの判断基準</span></h3>



<p class="wp-block-paragraph">使い分けのポイントはシンプルです。</p>



<ul class="wp-block-list"><li><strong>大文字小文字を区別したい</strong> → FIND</li><li><strong>区別しなくてよい</strong> → SEARCH</li><li><strong>ワイルドカードで曖昧検索したい</strong> → SEARCH</li></ul>



<p class="wp-block-paragraph">実務では「@」「/」「-」のような記号の位置を調べる場面が多いです。記号には大文字小文字がないので、FINDでもSEARCHでも同じ結果になります。どちらを使っても大丈夫ですよ。</p>



<p class="wp-block-paragraph">一方、「CSV」と「csv」を区別して検索したい場面ではFIND一択です。</p>



<h2 class="wp-block-heading"><span id="toc9">実務での活用例（LEFT・MID・RIGHTとの組み合わせ）</span></h2>



<p class="wp-block-paragraph">FIND関数の真価は、他の文字列関数と組み合わせたときに発揮されます。FIND関数で「位置」を調べて、<a href="https://mashukabu.com/spreadsheet-left-function/">LEFT関数</a>や<a href="https://mashukabu.com/spreadsheet-mid-function/">MID関数</a>で「文字を取り出す」のが定番パターンです。</p>



<h3 class="wp-block-heading"><span id="toc10">メールアドレスの@より前を取り出す（LEFT + FIND）</span></h3>



<p class="wp-block-paragraph">A2に「tanaka@example.com」が入っています。@より前の「tanaka」を取り出してみましょう。</p>



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



<p class="wp-block-paragraph">分解して見ていきます。</p>



<ol class="wp-block-list"><li><code>FIND("@", A2)</code> → @は7文字目</li><li>7 &#8211; 1 = 6（@の直前の位置）</li><li><code>LEFT(A2, 6)</code> → 先頭から6文字で「tanaka」</li></ol>



<p class="wp-block-paragraph">FINDで位置を調べて、LEFTの文字数に渡すだけです。メールアドレスの長さが人ごとに違っても正しく取り出せますよ。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_result_find-left.png" alt="04 result find left" /></figure>



<h3 class="wp-block-heading"><span id="toc11">スラッシュ区切りの日付から年月日を分離する（MID + FIND）</span></h3>



<p class="wp-block-paragraph">A2に「2024/03/18」が入っています。年・月・日をそれぞれ取り出してみましょう。</p>



<pre class="wp-block-code"><code>年: =LEFT(A2, FIND(&quot;/&quot;, A2)-1)                → 「2024」
月: =MID(A2, FIND(&quot;/&quot;, A2)+1, FIND(&quot;/&quot;, A2, FIND(&quot;/&quot;, A2)+1)-FIND(&quot;/&quot;, A2)-1)  → 「03」
日: =MID(A2, FIND(&quot;/&quot;, A2, FIND(&quot;/&quot;, A2)+1)+1, LEN(A2))  → 「18」</code></pre>



<p class="wp-block-paragraph">ちょっとむずかしく見えますが、やっていることはシンプルです。</p>



<ul class="wp-block-list"><li><strong>年</strong>: 最初の「/」より前をLEFTで取得</li><li><strong>月</strong>: 1番目の「/」と2番目の「/」の間をMIDで取得</li><li><strong>日</strong>: 2番目の「/」より後ろをMIDで取得</li></ul>



<p class="wp-block-paragraph">2番目の「/」を見つけるには、FIND関数の第3引数を使います。<code>FIND("/", A2, FIND("/", A2)+1)</code> で「1番目の/の次の位置から検索」を実行しています。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/05_result_find-mid-date.png" alt="05 result find mid date" /></figure>



<h3 class="wp-block-heading"><span id="toc12">ファイル名から拡張子を取り出す（RIGHT + LEN + FIND）</span></h3>



<p class="wp-block-paragraph">A2に「report.pdf」が入っています。ピリオド以降の「pdf」を取り出す例です。</p>



<pre class="wp-block-code"><code>=RIGHT(A2, LEN(A2)-FIND(&quot;.&quot;, A2))  → 「pdf」</code></pre>



<ol class="wp-block-list"><li><code>FIND(".", A2)</code> → ピリオドは7文字目</li><li><code>LEN(A2)</code> → 全体は10文字</li><li>10 &#8211; 7 = 3</li><li><code>RIGHT(A2, 3)</code> → 末尾3文字で「pdf」</li></ol>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-right-function/">RIGHT関数</a>とLEN関数（文字列全体の文字数を返す関数）を組み合わせると「特定の文字より後ろ全部」を取得できます。拡張子が「xlsx」のように4文字でも正しく動きますよ。</p>



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



<p class="wp-block-paragraph">FIND関数で最も多いのが#VALUE!エラーです。原因は大きく2つあります。</p>



<h3 class="wp-block-heading"><span id="toc14">エラーの原因</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>例</th><th>説明</th></tr></thead><tbody><tr><td>検索文字列が見つからない</td><td><code>=FIND("@", "tanaka")</code></td><td>テキストに@が存在しない</td></tr><tr><td>開始位置がテキスト長を超えている</td><td><code>=FIND("a", "abc", 10)</code></td><td>3文字しかないのに10文字目から検索</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">大文字小文字を区別するFINDでは、「A」を検索しているのにテキスト内には「a」しかない場合もエラーになります。意図しないエラーの原因になりやすいので注意してください。</p>



<h3 class="wp-block-heading"><span id="toc15">IFERRORで安全に処理する</span></h3>



<p class="wp-block-paragraph">検索対象が見つからないケースを想定して、IFERRORでラップするのが実務の定番です。</p>



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



<p class="wp-block-paragraph">@が見つかればその位置を、見つからなければ0を返します。</p>



<p class="wp-block-paragraph">LEFT関数との組み合わせでも同じパターンが使えます。</p>



<pre class="wp-block-code"><code>=IFERROR(LEFT(A2, FIND(&quot;@&quot;, A2)-1), &quot;メールアドレスではありません&quot;)</code></pre>



<p class="wp-block-paragraph">実務データは書式がバラバラなことも多いです。FIND関数を使うときはIFERRORとセットで覚えておくと安心ですよ。</p>



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



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



<p class="wp-block-paragraph">FIND関数の要点を整理します。</p>



<figure class="wp-block-table"><table><thead><tr><th>ポイント</th><th>内容</th></tr></thead><tbody><tr><td>基本構文</td><td><code>=FIND(検索文字列, テキスト, [開始位置])</code></td></tr><tr><td>戻り値</td><td>検索文字列が最初に見つかった位置（1始まり）</td></tr><tr><td>大文字/小文字</td><td>区別する（SEARCHは区別しない）</td></tr><tr><td>ワイルドカード</td><td>使えない（SEARCHは使える）</td></tr><tr><td>見つからない場合</td><td>#VALUE!エラー（IFERRORで対処）</td></tr><tr><td>開始位置省略</td><td>先頭（1文字目）から検索</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">FIND関数は単体では「位置を調べる」だけの関数です。でも<a href="https://mashukabu.com/spreadsheet-left-function/">LEFT関数</a>・<a href="https://mashukabu.com/spreadsheet-mid-function/">MID関数</a>・<a href="https://mashukabu.com/spreadsheet-right-function/">RIGHT関数</a>と組み合わせると、文字列を自在に分割できる強力なツールになります。</p>



<p class="wp-block-paragraph">まずは「@の位置を調べる」「/の位置を調べる」というシンプルな使い方から試してみてください。慣れてきたらLEFT+FINDやMID+FINDの組み合わせに挑戦して、文字列操作の幅を広げていきましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-find-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのLEFT関数の使い方｜文字の左から取り出す実務5パターン</title>
		<link>https://mashukabu.com/spreadsheet-left-function/</link>
					<comments>https://mashukabu.com/spreadsheet-left-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 18 Mar 2026 12:26:55 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[FIND関数]]></category>
		<category><![CDATA[LEFT関数]]></category>
		<category><![CDATA[MID関数]]></category>
		<category><![CDATA[REGEXEXTRACT関数]]></category>
		<category><![CDATA[RIGHT関数]]></category>
		<category><![CDATA[文字列操作]]></category>
		<category><![CDATA[関数の使い方]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4114</guid>

					<description><![CDATA[Googleスプレッドシートの LEFT 関数で文字列の左から n 文字を取り出す方法を、住所・郵便番号・商品コード・メールアドレス・ファイル名の実務5パターンで解説。FIND関数との可変長切り出しや4文字都道府県対応、RIGHT・MIDとの使い分け、Excelとの違いまで網羅します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートのLEFT関数を使えば、住所から都道府県だけ、商品コードの先頭2文字だけを一瞬で取り出せます。手作業で文字を切り出すと時間もミスも増えますが、LEFT関数なら数式一つで大量データを一括処理できますよ。</p>



<p class="wp-block-paragraph">この記事では基本構文から実務で即使える5つの活用パターン、FIND関数と組み合わせた応用技までを丁寧に解説します。4文字都道府県への対応やRIGHT・MIDとの使い分けまで網羅しますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-7" checked><label class="toc-title" for="toc-checkbox-7">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">LEFT関数とは？スプレッドシートで左から文字を取り出す基本構文</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">LEFT関数の実務で使える5つの活用パターン</a><ol><li><a href="#toc5" tabindex="0">パターン1: 住所から都道府県名を抽出する</a></li><li><a href="#toc6" tabindex="0">パターン2: 郵便番号の上3桁（地域コード）を取り出す</a></li><li><a href="#toc7" tabindex="0">パターン3: 商品コード・社員番号で分類する</a></li><li><a href="#toc8" tabindex="0">パターン4: 日付文字列から年を取り出す</a></li><li><a href="#toc9" tabindex="0">パターン5: ファイル名から拡張子を除いた部分を抽出</a></li></ol></li><li><a href="#toc10" tabindex="0">FIND関数と組み合わせて可変長の文字列を取り出す（応用）</a><ol><li><a href="#toc11" tabindex="0">メールアドレスからユーザー名を取り出す</a></li><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">4文字の都道府県に対応する方法</a><ol><li><a href="#toc15" tabindex="0">IF関数との組み合わせパターン</a></li><li><a href="#toc16" tabindex="0">REGEXEXTRACT関数を使うスマートな方法</a></li></ol></li><li><a href="#toc17" tabindex="0">LEFT・RIGHT・MIDの違いと使い分け（文字列操作9関数比較）</a><ol><li><a href="#toc18" tabindex="0">切り出し位置による使い分け</a></li><li><a href="#toc19" tabindex="0">文字列操作9関数の全体比較</a></li></ol></li><li><a href="#toc20" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc21" tabindex="0">数値セルに使うとうまくいかない</a></li><li><a href="#toc22" tabindex="0">マイナスの文字数で#VALUE!エラー</a></li><li><a href="#toc23" tabindex="0">文字数を超えて指定しても大丈夫？</a></li><li><a href="#toc24" tabindex="0">エラー早見表</a></li><li><a href="#toc25" tabindex="0">ARRAYFORMULAで複数行一括処理</a></li></ol></li><li><a href="#toc26" tabindex="0">ExcelのLEFT関数との違い・LEFTBとの違い</a><ol><li><a href="#toc27" tabindex="0">ExcelのLEFT関数との比較</a></li><li><a href="#toc28" tabindex="0">LEFT関数とLEFTB関数の違い</a></li></ol></li><li><a href="#toc29" tabindex="0">関連記事</a></li><li><a href="#toc30" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">LEFT関数とは？スプレッドシートで左から文字を取り出す基本構文</span></h2>



<p class="wp-block-paragraph">LEFT関数は、文字列の<strong>左端（先頭）から指定した文字数だけ取り出す</strong>関数です。Googleスプレッドシートの文字列操作では最もよく使う関数の一つですよ。</p>



<p class="wp-block-paragraph">「LEFT（レフト）」は英語で「左」を意味します。ExcelとGoogleスプレッドシートで完全に互換性があるため、両方の環境で同じように動きます。</p>



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



<pre class="wp-block-code"><code>=LEFT(文字列, [文字数])</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>文字列</td><td>必須</td><td>取り出し元のセル参照またはテキスト</td></tr><tr><td>文字数</td><td>省略可</td><td>取り出す文字数（0以上の整数）。省略時は1</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><code>文字数</code>は省略できます。省略時は先頭1文字だけを返します。</p>



<p class="wp-block-paragraph">全角・半角は関係なく、どちらも1文字=1文字としてカウントされます。バイト数で計算したい場合はLEFTB関数を使いますが、通常のテキスト処理ではLEFTで十分です。</p>



<h3 class="wp-block-heading"><span id="toc3">基本的な使用例</span></h3>



<p class="wp-block-paragraph">セル A1 に「東京都渋谷区」と入力されているとします。</p>



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



<pre class="wp-block-code"><code>=LEFT(A1, 3)  → 「東京都」
=LEFT(A1, 1)  → 「東」
=LEFT(A1)     → 「東」（文字数省略時も1文字を返す）</code></pre>



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



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



<p class="wp-block-paragraph">先頭から何文字取り出すかを指定するだけです。とてもシンプルですね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>LEFT関数の文字カウントは「見た目の1文字」単位です。「あ」も「a」も同じ1文字として扱われます。バイト数で処理したい場合（DBの桁制限チェックなど）はLEFTB関数を使ってください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc4">LEFT関数の実務で使える5つの活用パターン</span></h2>



<p class="wp-block-paragraph">LEFT関数が実際の業務でどう役立つか、よく使う5つのパターンを紹介します。どれも現場でそのまま使える実践的な例ですよ。</p>



<h3 class="wp-block-heading"><span id="toc5">パターン1: 住所から都道府県名を抽出する</span></h3>



<p class="wp-block-paragraph">住所一覧から都道府県名だけを取り出したいときの定番パターンです。</p>



<p class="wp-block-paragraph">日本の都道府県47のうち、43都道府県が「〜都」「〜道」「〜府」「〜県」の3文字です。全体の91.5%を占めるので、まずは3文字パターンで考えましょう。</p>



<pre class="wp-block-code"><code>=LEFT(A2, 3)  → 「東京都」「大阪府」「愛知県」</code></pre>



<p class="wp-block-paragraph">3文字抽出するだけでほとんどの住所に対応できます。</p>



<h3 class="wp-block-heading"><span id="toc6">パターン2: 郵便番号の上3桁（地域コード）を取り出す</span></h3>



<p class="wp-block-paragraph">「123-4567」形式の郵便番号から、上3桁の地域コードを取り出すパターンです。</p>



<pre class="wp-block-code"><code>=LEFT(A2, 3)  → 「123」</code></pre>



<p class="wp-block-paragraph">日本の郵便番号は7桁で、先頭3桁が政令指定都市や都道府県単位の地域コードになっています。地域別の集計や配送エリア分類でよく使います。</p>



<p class="wp-block-paragraph">ハイフンの位置を気にする必要はありません。先頭から3文字を切り出すだけでOKです。</p>



<h3 class="wp-block-heading"><span id="toc7">パターン3: 商品コード・社員番号で分類する</span></h3>



<p class="wp-block-paragraph">「AB-001」「CD-002」のような商品コードで、先頭2文字がカテゴリを表すケースです。</p>



<pre class="wp-block-code"><code>=LEFT(A2, 2)  → 「AB」「CD」など</code></pre>



<p class="wp-block-paragraph">取り出した2文字をキーにして、VLOOKUP関数で分類マスターを引く定番パターンにつなげられます。</p>



<pre class="wp-block-code"><code>=VLOOKUP(LEFT(A2, 2), カテゴリ表!A:B, 2, FALSE)</code></pre>



<p class="wp-block-paragraph">LEFT関数は「他の関数のインプットを作る」役割でもよく使われますよ。社員番号の先頭1〜2文字で部署コードを表すパターンも同じ考え方で対応できます。</p>



<h3 class="wp-block-heading"><span id="toc8">パターン4: 日付文字列から年を取り出す</span></h3>



<p class="wp-block-paragraph">「2024-03-18」のような日付文字列から、年の4文字だけを取り出すパターンです。</p>



<pre class="wp-block-code"><code>=LEFT(A2, 4)  → 「2024」</code></pre>



<p class="wp-block-paragraph">CSVファイルから取り込んだ日付文字列を年度別に集計したいときによく使います。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>日付型（シリアル値）のセルに直接LEFTを使うと、シリアル値（44915など）から切り出されてしまいます。表示通りに切り出したい場合はTEXT関数でラップしてください。</p><p><code>=LEFT(TEXT(A2, "YYYY-MM-DD"), 4)</code></p></blockquote>



<h3 class="wp-block-heading"><span id="toc9">パターン5: ファイル名から拡張子を除いた部分を抽出</span></h3>



<p class="wp-block-paragraph">「report.xlsx」のようなファイル名から、拡張子を除いた本体部分を取り出すパターンです。拡張子の文字数が固定なら単純に文字数指定でOKです。</p>



<pre class="wp-block-code"><code>=LEFT(A2, LEN(A2)-5)  → 「report」（「.xlsx」5文字を除く）</code></pre>



<p class="wp-block-paragraph">LEN関数で全体の文字数を取得し、そこから拡張子の文字数を引いています。ちょっとむずかしく見えますが、やっていることはシンプルですよ。</p>



<p class="wp-block-paragraph">拡張子の文字数が可変（.xlsx / .pdf など混在）の場合は、次のFIND関数との組み合わせが便利です。</p>



<h2 class="wp-block-heading"><span id="toc10">FIND関数と組み合わせて可変長の文字列を取り出す（応用）</span></h2>



<p class="wp-block-paragraph">LEFT関数は文字数を固定して切り出します。でも「何文字か分からないけど、ある文字の手前まで取り出したい」というケースもよくありますよね。</p>



<p class="wp-block-paragraph">そこで便利なのがFIND関数との組み合わせです。FIND関数は指定した文字が何文字目にあるかを返します。</p>



<h3 class="wp-block-heading"><span id="toc11">メールアドレスからユーザー名を取り出す</span></h3>



<p class="wp-block-paragraph">メールアドレスの <code>@</code> より前の部分を取り出す例です。</p>



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



<p class="wp-block-paragraph">分解すると簡単です。</p>



<ol class="wp-block-list"><li><code>FIND("@", A1)</code> で <code>@</code> が何文字目かを数値で取得する</li><li>そこから1を引いて「@の直前の文字位置」を計算する</li><li>その数値をLEFTの文字数として渡す</li></ol>



<p class="wp-block-paragraph">「tanaka@example.com」なら <code>@</code> は7文字目です。7-1=6なので <code>LEFT(A1, 6)</code> と同じ動作になり、結果は「tanaka」になります。</p>



<h3 class="wp-block-heading"><span id="toc12">「姓 名」形式から姓だけを取り出す</span></h3>



<p class="wp-block-paragraph">「田中 太郎」のような姓名の間にスペースがあるデータから、姓だけを取り出すパターンです。</p>



<pre class="wp-block-code"><code>=LEFT(A1, FIND(&quot; &quot;, A1)-1)  → 「田中」（半角スペース区切り）
=LEFT(A1, FIND(&quot;　&quot;, A1)-1) → 「田中」（全角スペース区切り）</code></pre>



<p class="wp-block-paragraph">スペースが全角・半角混在している場合は、両方を試す書き方もできます。</p>



<pre class="wp-block-code"><code>=LEFT(A1, MIN(IFERROR(FIND(&quot; &quot;, A1), LEN(A1)+1), IFERROR(FIND(&quot;　&quot;, A1), LEN(A1)+1))-1)</code></pre>



<p class="wp-block-paragraph">少し長いですが、全角スペースと半角スペースのどちらか先に見つかった方で切り出します。</p>



<h3 class="wp-block-heading"><span id="toc13">IFERRORでエラーを防ぐ</span></h3>



<p class="wp-block-paragraph">対象セルに <code>@</code> やスペースがない場合、FIND関数はエラーを返します。エラーを防ぐにはIFERRORでラップしましょう。</p>



<pre class="wp-block-code"><code>=IFERROR(LEFT(A1, FIND(&quot;@&quot;, A1)-1), &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph"><code>@</code> があればユーザー名を、なければ「該当なし」を返します。実務データは必ずしもきれいとは限りません。このIFERRORパターンは覚えておくと役立ちますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>大文字・小文字を区別せずに検索したい場合はSEARCH関数を使います。FIND関数は区別する、SEARCH関数は区別しないという違いだけで、使い方は同じです。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc14">4文字の都道府県に対応する方法</span></h2>



<p class="wp-block-paragraph">都道府県抽出で注意したいのが、4文字の都道府県です。「神奈川県」「和歌山県」「鹿児島県」の3県は4文字あります。単純な <code>LEFT(A2, 3)</code> だと「神奈川」「和歌山」「鹿児島」になってしまいます。</p>



<h3 class="wp-block-heading"><span id="toc15">IF関数との組み合わせパターン</span></h3>



<p class="wp-block-paragraph">4文字の都道府県かどうかを判定してから切り出す方法です。</p>



<pre class="wp-block-code"><code>=IF(OR(LEFT(A1,4)={&quot;神奈川県&quot;,&quot;和歌山県&quot;,&quot;鹿児島県&quot;}), LEFT(A1,4), LEFT(A1,3))</code></pre>



<p class="wp-block-paragraph">先頭4文字が「神奈川県」「和歌山県」「鹿児島県」のいずれかなら4文字を返し、それ以外は3文字を返します。</p>



<h3 class="wp-block-heading"><span id="toc16">REGEXEXTRACT関数を使うスマートな方法</span></h3>



<p class="wp-block-paragraph">Googleスプレッドシート固有の正規表現関数 <code>REGEXEXTRACT</code> を使うと、より簡潔に書けます。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A1, &quot;^(.+?[都道府県])&quot;)</code></pre>



<p class="wp-block-paragraph">「最初に現れる『都』『道』『府』『県』までを取り出す」という意味です。3文字でも4文字でも自動的に対応できるため、保守が楽です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>REGEXEXTRACT関数はGoogleスプレッドシートの固有関数で、Excelにはありません（Excel 365のREGEXEXTRACTは2024年以降に追加されました）。Excel・Sheets両方で使う数式にはIF+OR方式が安全です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc17">LEFT・RIGHT・MIDの違いと使い分け（文字列操作9関数比較）</span></h2>



<p class="wp-block-paragraph">文字列を操作する関数はLEFT以外にもたくさんあります。どれを使うか迷ったときの判断基準を整理しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc18">切り出し位置による使い分け</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>取り出す位置</th><th>構文</th><th>使用例</th></tr></thead><tbody><tr><td>LEFT</td><td>左端（先頭）から</td><td><code>=LEFT(文字列, 文字数)</code></td><td>都道府県名、カテゴリコード</td></tr><tr><td>RIGHT</td><td>右端（末尾）から</td><td><code>=RIGHT(文字列, 文字数)</code></td><td>年号の下2桁、ファイル拡張子</td></tr><tr><td>MID</td><td>任意の開始位置から</td><td><code>=MID(文字列, 開始位置, 文字数)</code></td><td>電話番号の市外局番、コードの中間部分</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">判断フレームはシンプルです。</p>



<ul class="wp-block-list"><li><strong>先頭から数えたほうが早い</strong> → LEFT</li><li><strong>末尾から数えたほうが早い</strong> → RIGHT</li><li><strong>真ん中あたりにある</strong> → MID</li></ul>



<p class="wp-block-paragraph">「2024-03-18」から年を取りたいなら、先頭4文字なので <code>LEFT(A1, 4)</code> です。日だけなら末尾2文字なので <code>RIGHT(A1, 2)</code> になります。</p>



<h3 class="wp-block-heading"><span id="toc19">文字列操作9関数の全体比較</span></h3>



<p class="wp-block-paragraph">文字列を扱う主要関数を一覧にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>機能</th><th>典型的な用途</th></tr></thead><tbody><tr><td>LEFT</td><td>左から文字数指定で抽出</td><td>都道府県、先頭コード</td></tr><tr><td>RIGHT</td><td>右から文字数指定で抽出</td><td>拡張子、末尾コード</td></tr><tr><td>MID</td><td>途中から文字数指定で抽出</td><td>電話の市外局番</td></tr><tr><td>FIND</td><td>文字の位置を返す（大小区別あり）</td><td>区切り文字検索</td></tr><tr><td>SEARCH</td><td>文字の位置を返す（大小区別なし）</td><td>大小文字問わない検索</td></tr><tr><td>LEN</td><td>文字列の長さを返す</td><td>文字数カウント</td></tr><tr><td>SUBSTITUTE</td><td>指定文字を置換</td><td>スペース削除、全角半角統一</td></tr><tr><td>REPLACE</td><td>位置指定で文字を置換</td><td>特定位置のマスキング</td></tr><tr><td>REGEXEXTRACT</td><td>正規表現で抽出（Sheets固有）</td><td>柔軟なパターンマッチ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">LEFT関数は他の文字列関数と組み合わせると威力が増します。FIND関数で可変長の抽出、SUBSTITUTE関数で条件付き加工ができるようになりますよ。</p>



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



<p class="wp-block-paragraph">LEFT関数で思ったとおりに動かないときのパターンをまとめます。</p>



<h3 class="wp-block-heading"><span id="toc21">数値セルに使うとうまくいかない</span></h3>



<p class="wp-block-paragraph">LEFT関数は<strong>文字列</strong>を扱う関数です。数値セルや日付セルに使うと意図しない結果になる場合があります。</p>



<p class="wp-block-paragraph">A1に数値 <code>1234567</code> が入っている場合、通常の整数ならこれで動きます。</p>



<pre class="wp-block-code"><code>=LEFT(A1, 3)  → 「123」</code></pre>



<p class="wp-block-paragraph">ただし日付や通貨形式など、書式が設定されている場合は注意が必要です。表示値ではなく内部のシリアル値から切り出されることがあります。</p>



<p class="wp-block-paragraph">確実に表示通りに切り出したいときは、TEXT関数で文字列に変換してからLEFTを使いましょう。</p>



<pre class="wp-block-code"><code>=LEFT(TEXT(A1, &quot;0&quot;), 3)</code></pre>



<p class="wp-block-paragraph">TEXT関数で数値を文字列に変換して、それをLEFTで切り出しているだけですよ。</p>



<h3 class="wp-block-heading"><span id="toc22">マイナスの文字数で#VALUE!エラー</span></h3>



<p class="wp-block-paragraph">文字数にマイナスを指定すると <code>#VALUE!</code> エラーになります。</p>



<pre class="wp-block-code"><code>=LEFT(A1, -1)  → #VALUE!エラー</code></pre>



<p class="wp-block-paragraph">LEN関数との組み合わせで計算した文字数がマイナスになるケースで発生しやすいエラーです。たとえば <code>LEN(A1)-10</code> は A1 が10文字未満のときにマイナスになります。IFで0未満を回避するか、MAX関数でラップして対応しましょう。</p>



<pre class="wp-block-code"><code>=LEFT(A1, MAX(LEN(A1)-3, 0))</code></pre>



<h3 class="wp-block-heading"><span id="toc23">文字数を超えて指定しても大丈夫？</span></h3>



<p class="wp-block-paragraph">「5文字しかないテキストに <code>LEFT(A1, 100)</code> と指定したら？」という疑問を持つ方もいますよね。</p>



<p class="wp-block-paragraph">答えは「エラーにならず、テキスト全体を返す」です。</p>



<pre class="wp-block-code"><code>=LEFT(&quot;Hello&quot;, 100)  → 「Hello」（はみ出した分は無視）</code></pre>



<p class="wp-block-paragraph">安心して使ってください。文字数に0を指定すると空文字列（<code>""</code>）が返ります。これもエラーではありません。</p>



<h3 class="wp-block-heading"><span id="toc24">エラー早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>エラー・症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>文字数がマイナス</td><td>MAX関数で0以下にならないようラップ</td></tr><tr><td>表示と結果が違う</td><td>日付・通貨書式のセル</td><td>TEXT関数で文字列化してから切り出す</td></tr><tr><td>FIND組み合わせで#VALUE!</td><td>検索文字が存在しない</td><td>IFERRORでラップ</td></tr><tr><td>複数行で動かない</td><td>配列処理未対応</td><td>ARRAYFORMULAでラップ</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc25">ARRAYFORMULAで複数行一括処理</span></h3>



<p class="wp-block-paragraph">複数行に一括でLEFTを適用したい場合は <code>ARRAYFORMULA</code> を使います。</p>



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



<p class="wp-block-paragraph">1セルに数式を書くだけで A2〜A100 の全行に結果が反映されます。下方向にコピーする手間が不要で、データが増えても自動で対応するメリットがありますよ。</p>



<h2 class="wp-block-heading"><span id="toc26">ExcelのLEFT関数との違い・LEFTBとの違い</span></h2>



<p class="wp-block-paragraph">LEFT関数はExcelとGoogleスプレッドシートで基本動作が同一です。ただし細かな違いと、LEFTB関数との使い分けは押さえておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc27">ExcelのLEFT関数との比較</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>スプレッドシート</th><th>Excel</th></tr></thead><tbody><tr><td>基本構文</td><td><code>=LEFT(文字列, 文字数)</code></td><td>同じ</td></tr><tr><td>引数仕様</td><td>文字数省略時は1</td><td>同じ</td></tr><tr><td>エラー挙動</td><td>マイナスで#VALUE!</td><td>同じ</td></tr><tr><td>ARRAYFORMULA</td><td><code>=ARRAYFORMULA(LEFT(...))</code></td><td>SPILL機能で自動配列化</td></tr><tr><td>REGEXEXTRACT</td><td>使える（固有関数）</td><td>Excel 365の新機能</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">どちらの環境でもLEFT関数は同じ動作をします。ExcelとSheets両方で使うシートでも安心して使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc28">LEFT関数とLEFTB関数の違い</span></h3>



<p class="wp-block-paragraph">LEFTB関数は<strong>バイト数</strong>で文字を切り出す関数です。全角=2バイト、半角=1バイトとしてカウントします。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>カウント単位</th><th>使用例</th></tr></thead><tbody><tr><td>LEFT</td><td>文字数（全角・半角とも1）</td><td>「あいう」→ 3文字</td></tr><tr><td>LEFTB</td><td>バイト数（全角2・半角1）</td><td>「あいう」→ 6バイト</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=LEFT(&quot;あいうえお&quot;, 3)   → 「あいう」
=LEFTB(&quot;あいうえお&quot;, 3)  → 「あ」（全角1文字=2バイト、残り1バイトは切り捨て）</code></pre>



<p class="wp-block-paragraph">通常のデータ処理ではLEFT関数で十分です。DBの桁制限チェックや固定長ファイル処理などバイト数を厳密に扱う場面でのみLEFTBを使います。</p>



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



<p class="wp-block-paragraph">LEFT関数と組み合わせて使うことの多い文字列操作関数の記事もあわせてご覧ください。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-right-function/">スプレッドシートのRIGHT関数の使い方｜右から文字取得</a></li><li><a href="https://mashukabu.com/spreadsheet-mid-function/">スプレッドシートのMID関数の使い方｜途中の文字を取り出す方法</a></li><li><a href="https://mashukabu.com/spreadsheet-find-function/">スプレッドシートのFIND関数の使い方｜文字位置を検索する方法</a></li><li><a href="https://mashukabu.com/spreadsheet-search-function/">スプレッドシートのSEARCH関数｜大文字小文字を無視して検索</a></li></ul>



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



<p class="wp-block-paragraph">LEFT関数の要点を整理します。</p>



<figure class="wp-block-table"><table><thead><tr><th>ポイント</th><th>内容</th></tr></thead><tbody><tr><td>基本構文</td><td><code>=LEFT(文字列, 文字数)</code></td></tr><tr><td>文字数省略</td><td>省略すると1文字を返す</td></tr><tr><td>文字数超過</td><td>エラーにならずテキスト全体を返す</td></tr><tr><td>マイナス指定</td><td><code>#VALUE!</code>エラーになる</td></tr><tr><td>ゼロ指定</td><td>空文字列（<code>""</code>）を返す</td></tr><tr><td>全角・半角</td><td>どちらも1文字としてカウント</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">LEFT関数は文字列操作の基本中の基本です。5つの活用パターンから自分の業務に近いものを1つ選んで試してみてください。</p>



<p class="wp-block-paragraph">FIND関数やLEN関数と組み合わせて可変長の切り出しができるようになると、実務でのデータ整理の幅が一気に広がりますよ。Googleスプレッドシート固有のREGEXEXTRACT関数も合わせて使えると、正規表現で柔軟な抽出が可能になります。</p>



<p class="wp-block-paragraph">RIGHT関数（末尾から切り出し）やMID関数（任意の位置から切り出し）もLEFTと同じ感覚で使える関数です。文字列操作シリーズとして、ぜひ合わせて習得してください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-left-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのRIGHT関数の使い方｜右から文字取得</title>
		<link>https://mashukabu.com/spreadsheet-right-function/</link>
					<comments>https://mashukabu.com/spreadsheet-right-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 18 Mar 2026 12:26:46 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[LEFT関数]]></category>
		<category><![CDATA[LEN関数]]></category>
		<category><![CDATA[MID関数]]></category>
		<category><![CDATA[RIGHT関数]]></category>
		<category><![CDATA[文字列操作]]></category>
		<category><![CDATA[関数の使い方]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4109</guid>

					<description><![CDATA[スプレッドシートのRIGHT関数で、右から（末尾から）指定した文字数を切り出す方法を解説。電話番号末尾4桁・拡張子取得など実務例も紹介。LEFT・MIDとの使い分けもわかります。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートのRIGHT関数の使い方で悩んでいませんか？電話番号の末尾4桁だけ、ファイル名の拡張子だけを取り出したい場面はよくありますよね。</p>



<p class="wp-block-paragraph">でも、文字列の末尾を手作業で切り出すのは大変です。データ件数が増えるほど、時間もミスも増えていきます。</p>



<p class="wp-block-paragraph">RIGHT関数を使えばこの作業が一瞬で完了します。この記事では基本構文から実務での活用例、エラー対処法まで丁寧に解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">RIGHT関数とは？スプレッドシートで右から文字を取り出す基本構文</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">実務でよく使うRIGHT関数の活用例</a><ol><li><a href="#toc5" tabindex="0">電話番号の末尾4桁を取り出す</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">LEN関数と組み合わせて先頭を除外する（応用）</a><ol><li><a href="#toc9" tabindex="0">「先頭N文字を除いた残り」を取得する仕組み</a></li><li><a href="#toc10" tabindex="0">IFERRORでエラーを防ぐ</a></li></ol></li><li><a href="#toc11" tabindex="0">LEFT・RIGHT・MIDの違いと使い分け</a><ol><li><a href="#toc12" tabindex="0">3関数の比較一覧</a></li><li><a href="#toc13" tabindex="0">どれを使うか迷ったときの判断フレーム</a></li></ol></li><li><a href="#toc14" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc15" tabindex="0">数値セルに使うとうまくいかない（TEXT関数との組み合わせ）</a></li><li><a href="#toc16" tabindex="0">文字数を超えて指定しても大丈夫？</a></li></ol></li><li><a href="#toc17" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">RIGHT関数とは？スプレッドシートで右から文字を取り出す基本構文</span></h2>



<p class="wp-block-paragraph">RIGHT関数は、セルの文字列を<strong>右端（末尾）から指定した文字数だけ取り出す</strong>関数です。一度覚えれば様々な場面で使えますよ。</p>



<p class="wp-block-paragraph">「RIGHT（ライト）」は英語で「右」を意味します。文字列の右側（末尾）から切り出す動作を表しています。ExcelとGoogleスプレッドシートで完全に互換性があるので、両方で使えます。</p>



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



<pre class="wp-block-code"><code>=RIGHT(文字列, [文字数])</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>文字列</td><td>必須</td><td>取り出し元のセルまたはテキスト</td></tr><tr><td>文字数</td><td>省略可</td><td>取り出す文字数（省略時は1文字を返す）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><code>文字数</code>は省略できます。省略すると末尾の1文字だけが返されます。</p>



<p class="wp-block-paragraph">全角・半角は関係ありません。どちらも1文字=1文字としてカウントされます。バイト数で計算したい場合はRIGHTB関数を使いましょう。</p>



<h3 class="wp-block-heading"><span id="toc3">基本的な使用例</span></h3>



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



<p class="wp-block-paragraph">セルA1に「東京都渋谷区」と入力されているとします。</p>



<pre class="wp-block-code"><code>=RIGHT(A1, 3)  → 「渋谷区」
=RIGHT(A1, 1)  → 「区」
=RIGHT(A1)     → 「区」（文字数省略時も1文字を返す）</code></pre>



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



<p class="wp-block-paragraph">末尾から何文字取り出すか指定するだけです。とてもシンプルですね。</p>



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



<h2 class="wp-block-heading"><span id="toc4">実務でよく使うRIGHT関数の活用例</span></h2>



<p class="wp-block-paragraph">RIGHT関数が実際の業務でどう役立つか、よく使うパターンを3つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc5">電話番号の末尾4桁を取り出す</span></h3>



<p class="wp-block-paragraph">顧客リストの電話番号から末尾4桁だけを取り出す例です。本人確認で「下4桁を教えてください」と聞く場面で使えます。</p>



<pre class="wp-block-code"><code>=RIGHT(A2, 4)  → 「4567」（&quot;090-1234-4567&quot;の場合）</code></pre>



<p class="wp-block-paragraph">末尾から4文字を取るだけです。ハイフンの位置を気にする必要はありません。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_result_right-phone.png" alt="04 result right phone" /></figure>



<h3 class="wp-block-heading"><span id="toc6">ファイル名から拡張子を取り出す（固定長）</span></h3>



<p class="wp-block-paragraph">「report.pdf」「data.csv」のような固定長の拡張子を取り出す例です。</p>



<pre class="wp-block-code"><code>=RIGHT(A2, 3)  → 「pdf」「csv」「jpg」</code></pre>



<p class="wp-block-paragraph">3文字の拡張子なら<code>RIGHT(A2, 3)</code>で十分です。ただし「xlsx」のような4文字拡張子が混在する場合は、FIND関数との組み合わせが必要になります。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/05_result_right-extension.png" alt="05 result right extension" /></figure>



<h3 class="wp-block-heading"><span id="toc7">商品コードの末尾分類コードを取り出す</span></h3>



<p class="wp-block-paragraph">「PRD-A001-BK」のような商品コードで、末尾2文字がカラーコードを表している場合です。</p>



<pre class="wp-block-code"><code>=RIGHT(A2, 2)  → 「BK」「WH」「RD」など</code></pre>



<p class="wp-block-paragraph">取り出した2文字をキーにして、VLOOKUPやIF関数で色名に変換できます。RIGHT関数は「他の関数のインプットを作る」役割でもよく使われますよ。</p>



<h2 class="wp-block-heading"><span id="toc8">LEN関数と組み合わせて先頭を除外する（応用）</span></h2>



<p class="wp-block-paragraph">RIGHT関数は末尾から取り出す関数です。でも「先頭N文字を除いた残り全部がほしい」というケースもありますよね。</p>



<p class="wp-block-paragraph">そこで便利なのがLEN関数との組み合わせです。LENは文字列の全文字数を返す関数です。</p>



<h3 class="wp-block-heading"><span id="toc9">「先頭N文字を除いた残り」を取得する仕組み</span></h3>



<p class="wp-block-paragraph">仕組みはシンプルです。全体の文字数から除きたい文字数を引いて、その分だけRIGHTで取り出します。</p>



<pre class="wp-block-code"><code>=RIGHT(A1, LEN(A1)-N)</code></pre>



<p class="wp-block-paragraph">ちょっとむずかしく見えますが、分解すると簡単です。</p>



<ol class="wp-block-list"><li><code>LEN(A1)</code> で文字列全体の文字数を取得する</li><li>そこからN（除きたい文字数）を引く</li><li>その数値をRIGHTの文字数として渡す</li></ol>



<p class="wp-block-paragraph">「東京都渋谷区」から都道府県名（先頭3文字）を除きたい場合です。</p>



<pre class="wp-block-code"><code>=RIGHT(A1, LEN(A1)-3)  → 「渋谷区」</code></pre>



<p class="wp-block-paragraph"><code>LEN("東京都渋谷区")</code>は6です。6-3=3なので<code>RIGHT(A1, 3)</code>と同じ動作になります。</p>



<p class="wp-block-paragraph">LEFT関数の応用でFIND関数との組み合わせを紹介しましたが、RIGHT+LENも文字列操作の定番パターンです。覚えておくと役立ちますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>LEFT関数を使った先頭からの切り出しについては「<a href="https://mashukabu.com/spreadsheet-left-function/">スプレッドシートのLEFT関数の使い方｜左から文字取得</a>」で詳しく解説しています。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc10">IFERRORでエラーを防ぐ</span></h3>



<p class="wp-block-paragraph">Nの値が文字列の長さより大きいと、LEN(A1)-Nがマイナスになります。RIGHTにマイナスの文字数を渡すとエラーです。</p>



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



<p class="wp-block-paragraph">エラーが起きたら空文字を返す、というシンプルな防御策です。実務データは長さがバラバラなので、IFERRORでラップしておくと安心ですよ。</p>



<h2 class="wp-block-heading"><span id="toc11">LEFT・RIGHT・MIDの違いと使い分け</span></h2>



<p class="wp-block-paragraph">文字列を取り出す関数にはRIGHT以外に「LEFT」と「MID」があります。どれも文字列の一部を切り出す関数ですが、取り出す位置が異なります。</p>



<h3 class="wp-block-heading"><span id="toc12">3関数の比較一覧</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>取り出す位置</th><th>構文</th><th>使用例</th></tr></thead><tbody><tr><td>LEFT</td><td>左端（先頭）から</td><td><code>=LEFT(文字列, 文字数)</code></td><td>都道府県名、カテゴリコード</td></tr><tr><td>RIGHT</td><td>右端（末尾）から</td><td><code>=RIGHT(文字列, 文字数)</code></td><td>電話番号末尾4桁、拡張子</td></tr><tr><td>MID</td><td>任意の開始位置から</td><td><code>=MID(文字列, 開始位置, 文字数)</code></td><td>電話番号の市外局番、コードの中間部分</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc13">どれを使うか迷ったときの判断フレーム</span></h3>



<p class="wp-block-paragraph">取り出したい文字がどこにあるかで選べます。</p>



<ul class="wp-block-list"><li><strong>先頭から数えたほうが早い</strong> → LEFT</li><li><strong>末尾から数えたほうが早い</strong> → RIGHT</li><li><strong>真ん中あたりにある</strong> → MID</li></ul>



<p class="wp-block-paragraph">「2024-03-18」から年を取りたいなら、先頭4文字なので<code>LEFT(A1, 4)</code>です。日だけなら末尾2文字なので<code>RIGHT(A1, 2)</code>になります。</p>



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



<p class="wp-block-paragraph">RIGHT関数で思ったとおりに動かないときのパターンを解説します。</p>



<h3 class="wp-block-heading"><span id="toc15">数値セルに使うとうまくいかない（TEXT関数との組み合わせ）</span></h3>



<p class="wp-block-paragraph">RIGHT関数は<strong>文字列</strong>を扱う関数です。数値セルに使うと意図しない結果になる場合があります。</p>



<p class="wp-block-paragraph">A1に数値<code>1234567</code>が入っている場合、通常の整数なら動きます。</p>



<pre class="wp-block-code"><code>=RIGHT(A1, 4)  → 「4567」（一見うまくいく）</code></pre>



<p class="wp-block-paragraph">ただし日付や通貨形式の場合は要注意です。表示値ではなくシリアル値から切り出されることがあります。</p>



<p class="wp-block-paragraph">確実に表示どおりに切り出すにはTEXT関数を使いましょう。</p>



<pre class="wp-block-code"><code>=RIGHT(TEXT(A1, &quot;0&quot;), 4)</code></pre>



<p class="wp-block-paragraph">ちょっとむずかしく見えますが、やっていることはシンプルです。TEXT関数で数値を文字列に変えて、それをRIGHTで切り出しているだけですよ。</p>



<h3 class="wp-block-heading"><span id="toc16">文字数を超えて指定しても大丈夫？</span></h3>



<p class="wp-block-paragraph">「5文字のテキストに<code>RIGHT(A1, 100)</code>と指定したら？」という疑問もありますよね。</p>



<p class="wp-block-paragraph">答えは「エラーにならず、テキスト全体を返す」です。</p>



<pre class="wp-block-code"><code>=RIGHT(&quot;Hello&quot;, 100)  → 「Hello」（はみ出した分は無視）</code></pre>



<p class="wp-block-paragraph">安心して使ってください。ただしマイナスの文字数を指定すると<code>#VALUE!</code>エラーになります。</p>



<pre class="wp-block-code"><code>=RIGHT(A1, -1)  → #VALUE!エラー</code></pre>



<p class="wp-block-paragraph">文字数に0を指定すると空文字列（<code>""</code>）が返ります。これはエラーではありません。</p>



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



<p class="wp-block-paragraph">RIGHT関数の要点を整理します。</p>



<figure class="wp-block-table"><table><thead><tr><th>ポイント</th><th>内容</th></tr></thead><tbody><tr><td>基本構文</td><td><code>=RIGHT(文字列, 文字数)</code></td></tr><tr><td>文字数省略</td><td>省略すると1文字を返す</td></tr><tr><td>文字数超過</td><td>エラーにならずテキスト全体を返す</td></tr><tr><td>マイナス指定</td><td><code>#VALUE!</code>エラーになる</td></tr><tr><td>ゼロ指定</td><td>空文字列（<code>""</code>）を返す</td></tr><tr><td>全角・半角</td><td>どちらも1文字としてカウント</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">RIGHT関数は文字列操作の基本です。まずは「末尾から何文字取り出す」というシンプルな使い方から試してみてください。</p>



<p class="wp-block-paragraph">慣れてきたらLEN関数との組み合わせにも挑戦してみましょう。「先頭を除いた残り全部」が取り出せるようになると、実務でのデータ整理の幅が一気に広がりますよ。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-left-function/">LEFT関数（先頭から切り出し）</a>やMID関数（任意の位置から切り出し）と合わせて、文字列操作の三本柱として活用してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-right-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのMIDB関数の使い方｜バイト数で文字列の途中を取り出す方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-midb/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-midb/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 03 Jan 2023 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel初心者]]></category>
		<category><![CDATA[MIDB関数]]></category>
		<category><![CDATA[MID関数]]></category>
		<category><![CDATA[データ整形]]></category>
		<category><![CDATA[バイト数]]></category>
		<category><![CDATA[固定長データ]]></category>
		<category><![CDATA[文字列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=3237</guid>

					<description><![CDATA[ExcelのMIDB関数でバイト数を指定して文字列の途中を取り出す方法を解説。固定長データの処理やシステム連携での実務例を紹介し、MID関数・LEFTB・RIGHTB・LENB関数との違いも比較表で整理しています。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「システムから出力したデータを、バイト数で区切って取り出したい」と思ったことはありませんか？ 全角と半角が混在するデータを正確に分割するのは、手作業だとかなり大変ですよね。</p>



<p class="wp-block-paragraph">位置を間違えると文字化けしたり、余分な文字が混じったりして、思うようにいきません。</p>



<p class="wp-block-paragraph">そんなときに活躍するのがMIDB関数です。この記事では基本の書き方から固定長データの処理パターンまで、まとめて紹介します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>MIDB関数はExcel 2007以降のすべてのバージョンで使用できます。</p></blockquote>



<p class="wp-block-paragraph">この記事は次のような人におすすめ</p>



<ul class="wp-block-list"><li>バイト数を指定して文字列の途中を取り出したい</li><li>固定長データの分割やシステム連携データの処理をしたい</li><li><a href="https://mashukabu.com/excel-function-howto-use-mid/">MID関数</a>との違いを知りたい</li></ul>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-9" checked><label class="toc-title" for="toc-checkbox-9">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">MIDB関数とは？</a></li><li><a href="#toc2" tabindex="0">MIDB関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">MIDB関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">半角文字だけの文字列から取り出す</a></li><li><a href="#toc7" tabindex="0">全角文字を含む文字列から取り出す</a></li><li><a href="#toc8" tabindex="0">MID関数と結果を比較する</a></li></ol></li><li><a href="#toc9" tabindex="0">MIDB関数の実務活用パターン</a><ol><li><a href="#toc10" tabindex="0">パターン1: 固定長データから項目を分割する</a></li><li><a href="#toc11" tabindex="0">パターン2: 半角カナ混在データから特定フィールドを取り出す</a></li><li><a href="#toc12" tabindex="0">パターン3: LENB関数と組み合わせて途中から末尾まで取り出す</a></li><li><a href="#toc13" tabindex="0">パターン4: TRIM関数と組み合わせてスペースを除去する</a></li><li><a href="#toc14" tabindex="0">パターン5: VALUE関数と組み合わせて数値に変換する</a></li></ol></li><li><a href="#toc15" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc16" tabindex="0">似た関数との違い・使い分け</a><ol><li><a href="#toc17" tabindex="0">MIDB関数とMID関数の違い</a></li><li><a href="#toc18" tabindex="0">バイト系関数ファミリーの使い分け</a></li><li><a href="#toc19" tabindex="0">文字列操作関数との組み合わせ</a></li></ol></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">MIDB関数とは？</span></h2>



<p class="wp-block-paragraph">MIDB関数は、文字列の指定した位置から指定した<strong>バイト数</strong>分の文字を取り出す関数です。</p>



<p class="wp-block-paragraph">読み方は「ミッド・ビー関数」です。MID関数の「B」はByte（バイト）を意味しています。文字列の中間部分をバイト単位で取り出すイメージです。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-mid/">MID関数</a>が<strong>文字数</strong>で数えるのに対して、MIDB関数は<strong>バイト数</strong>で数えるのが最大の違いです。全角文字は2バイト、半角文字は1バイトとしてカウントされます。</p>



<p class="wp-block-paragraph">たとえばセルに「ABC商品」と入っている場合を考えます。4バイト目から4バイトを取り出すと「C商」が得られます。半角の「C」が1バイト、全角の「商」が2バイトです。4バイト指定なので「商」の次のバイトまで含まれます（後述する端数処理を参照）。</p>



<p class="wp-block-paragraph">固定長データの処理やシステム連携データの分割など、バイト単位でデータを扱う場面で力を発揮します。</p>



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



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



<pre class="wp-block-code"><code>=MIDB(文字列, 開始位置, バイト数)</code></pre>



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>文字列</td><td>必須</td><td>取り出し元の文字列またはセル参照</td></tr><tr><td>開始位置</td><td>必須</td><td>取り出しを始めるバイト位置（先頭が1）</td></tr><tr><td>バイト数</td><td>必須</td><td>取り出すバイト数</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">3つの引数はすべて必須です。省略するとエラーになります。</p>



<p class="wp-block-paragraph"><strong>開始位置のカウント方法</strong></p>



<p class="wp-block-paragraph">開始位置はバイト単位で指定します。先頭の文字が「1」です。全角文字は2バイト分を占めるため、たとえば「東京都」の「京」の開始位置は3バイト目です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>開始位置が文字列の総バイト数を超えると、空文字（&#8221;&#8221;）が返ります。エラーにはなりません。</p></blockquote>



<p class="wp-block-paragraph"><strong>バイト数のポイント</strong></p>



<p class="wp-block-paragraph">バイト数に指定した値が残りのバイト数より多い場合、末尾までの文字がそのまま返ります。エラーにはなりません。</p>



<p class="wp-block-paragraph"><strong>全角文字の途中（端数）を指定した場合</strong></p>



<p class="wp-block-paragraph">全角文字は2バイトです。開始位置やバイト数が全角文字の途中にあたる場合、Excelは自動的にその文字全体を含めるように調整します。たとえば「東京都」に対して2バイト目から取り出すと、「東」の2バイト目からになりますが、結果は「東」全体が含まれます。</p>



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



<h3 class="wp-block-heading"><span id="toc6">半角文字だけの文字列から取り出す</span></h3>



<pre class="wp-block-code"><code>=MIDB(&quot;ABCDE&quot;, 2, 3)</code></pre>



<p class="wp-block-paragraph">結果: <strong>BCD</strong></p>



<p class="wp-block-paragraph">半角文字だけの場合は、MID関数と同じ結果になります。1文字=1バイトなので指定方法も同じです。</p>



<h3 class="wp-block-heading"><span id="toc7">全角文字を含む文字列から取り出す</span></h3>



<p class="wp-block-paragraph">A1セルに「ABC商品コード」が入っている場合を考えます。</p>



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



<p class="wp-block-paragraph">結果: <strong>商品</strong></p>



<p class="wp-block-paragraph">4バイト目は全角「商」の先頭です。4バイト分なので、全角2文字（4バイト）の「商品」が得られます。</p>



<h3 class="wp-block-heading"><span id="toc8">MID関数と結果を比較する</span></h3>



<p class="wp-block-paragraph">「ましゅかぶろぐ」から「ぶろぐ」を取り出す場合を比べます。</p>



<pre class="wp-block-code"><code>=MID(&quot;ましゅかぶろぐ&quot;, 5, 3)</code></pre>



<pre class="wp-block-code"><code>=MIDB(&quot;ましゅかぶろぐ&quot;, 9, 6)</code></pre>



<p class="wp-block-paragraph">どちらも結果は「ぶろぐ」です。MID関数は5文字目から3文字、MIDB関数は9バイト目から6バイトを指定しています。全角文字だけの文字列では、MIDB関数の開始位置とバイト数はMID関数の2倍になります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>全角と半角が混在しないデータなら<a href="https://mashukabu.com/excel-function-howto-use-mid/">MID関数</a>のほうがシンプルです。MIDB関数は「バイト数で区切る必要がある場面」に限定して使うのがおすすめです。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc10">パターン1: 固定長データから項目を分割する</span></h3>



<p class="wp-block-paragraph">基幹システムから出力された固定長テキストデータを分割する場面です。1行が「社員番号(半角6バイト)+氏名(全角10バイト)+部署(全角8バイト)」の構造になっているとします。</p>



<p class="wp-block-paragraph">A列にデータ「A12345田中太郎　　営業一部　」が入っている場合を考えます。</p>



<p class="wp-block-paragraph">社員番号を取り出します。</p>



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



<p class="wp-block-paragraph">結果: <strong>A12345</strong></p>



<p class="wp-block-paragraph">氏名を取り出します。</p>



<pre class="wp-block-code"><code>=MIDB(A2, 7, 10)</code></pre>



<p class="wp-block-paragraph">結果: <strong>田中太郎　　</strong>（末尾にスペースが含まれる場合は<a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM関数</a>で除去）</p>



<p class="wp-block-paragraph">部署を取り出します。</p>



<pre class="wp-block-code"><code>=MIDB(A2, 17, 8)</code></pre>



<p class="wp-block-paragraph">結果: <strong>営業一部　</strong></p>



<p class="wp-block-paragraph">このように、固定長データの仕様書にあるバイト位置をそのまま引数に指定できます。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン2: 半角カナ混在データから特定フィールドを取り出す</span></h3>



<p class="wp-block-paragraph">銀行振込データなどで半角カタカナが使われているケースです。A列に「ﾀﾅｶ ﾀﾛｳ  0012345」のようなデータがあるとします。口座名義が半角カナ12バイト、口座番号が半角7バイトの構造です。</p>



<p class="wp-block-paragraph">口座番号を取り出します。</p>



<pre class="wp-block-code"><code>=MIDB(A2, 13, 7)</code></pre>



<p class="wp-block-paragraph">結果: <strong>0012345</strong></p>



<p class="wp-block-paragraph">半角カタカナは1バイトとしてカウントされるため、バイト位置の計算が直感的です。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン3: LENB関数と組み合わせて途中から末尾まで取り出す</span></h3>



<p class="wp-block-paragraph">固定長データの先頭部分（ヘッダー）を除いて、残り全部を取り出したい場合です。A列にデータが入っているとします。</p>



<p class="wp-block-paragraph">先頭10バイトを飛ばして残りを取り出します。</p>



<pre class="wp-block-code"><code>=MIDB(A2, 11, LENB(A2))</code></pre>



<p class="wp-block-paragraph">LENB関数で全体のバイト数を指定すると、11バイト目から末尾までを取り出せます。バイト数が実際の残りより多くてもエラーにはなりません。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン4: TRIM関数と組み合わせてスペースを除去する</span></h3>



<p class="wp-block-paragraph">固定長データでは項目の末尾に空白が詰められていることが多いです。取り出した後に<a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM関数</a>で整形します。</p>



<pre class="wp-block-code"><code>=TRIM(MIDB(A2, 7, 10))</code></pre>



<p class="wp-block-paragraph">MIDB関数で取り出した結果の前後のスペースを除去できます。固定長データの処理では、MIDB + TRIMの組み合わせが定番です。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン5: VALUE関数と組み合わせて数値に変換する</span></h3>



<p class="wp-block-paragraph">固定長データから取り出した数字を計算に使いたい場合です。MIDB関数の結果は文字列なので、<a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数</a>で数値に変換します。</p>



<pre class="wp-block-code"><code>=VALUE(MIDB(A2, 20, 8))</code></pre>



<p class="wp-block-paragraph">金額フィールド（20バイト目から8バイト）を数値として取り出せます。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>開始位置に0以下の値を指定した</td><td>開始位置は1以上を指定する</td></tr><tr><td>#VALUE!</td><td>バイト数にマイナスの値を指定した</td><td>バイト数は0以上を指定する</td></tr><tr><td>空文字が返る</td><td>開始位置が文字列の総バイト数を超えている</td><td>開始位置を確認する。LENB関数で総バイト数をチェック</td></tr><tr><td>文字化けのような結果</td><td>全角文字の途中のバイトを指定した</td><td>全角文字は2バイト単位で指定する。開始位置・バイト数を偶数で調整</td></tr><tr><td>数値にならない</td><td>MIDB関数の結果は常に文字列</td><td><a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数</a>で数値に変換する: <code>=VALUE(MIDB(A2,20,8))</code></td></tr><tr><td>#VALUE!</td><td>引数が不足している</td><td>3つの引数（文字列、開始位置、バイト数）をすべて指定しているか確認</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>MIDB関数の結果は常に<strong>文字列</strong>です。数字を取り出した場合でも文字列として返ります。合計や比較に使うときは <code>=VALUE(MIDB(...))</code> で数値に変換してください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc16">似た関数との違い・使い分け</span></h2>



<h3 class="wp-block-heading"><span id="toc17">MIDB関数とMID関数の違い</span></h3>



<p class="wp-block-paragraph">MIDB関数は<strong>バイト数</strong>でカウントし、<a href="https://mashukabu.com/excel-function-howto-use-mid/">MID関数</a>は<strong>文字数</strong>でカウントします。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力値</th><th>MID関数（文字数）</th><th>MIDB関数（バイト数）</th></tr></thead><tbody><tr><td>全角文字「あ」</td><td>1文字</td><td>2バイト</td></tr><tr><td>半角文字「A」</td><td>1文字</td><td>1バイト</td></tr><tr><td>半角カタカナ「ア」</td><td>1文字</td><td>1バイト</td></tr><tr><td>全角スペース「　」</td><td>1文字</td><td>2バイト</td></tr><tr><td>半角スペース「 」</td><td>1文字</td><td>1バイト</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">同じデータから同じ部分を取り出す場合でも、指定する数値が変わります。</p>



<pre class="wp-block-code"><code>=MID(&quot;ABC商品&quot;, 4, 2)</code></pre>



<p class="wp-block-paragraph">結果: <strong>商品</strong>（4文字目から2文字）</p>



<pre class="wp-block-code"><code>=MIDB(&quot;ABC商品&quot;, 4, 4)</code></pre>



<p class="wp-block-paragraph">結果: <strong>商品</strong>（4バイト目から4バイト）</p>



<p class="wp-block-paragraph">通常はMID関数を使えば十分です。MIDB関数は以下の場面に限定して使うのがおすすめです。</p>



<ul class="wp-block-list"><li>固定長データの仕様書にバイト数で桁数が定義されている</li><li>システム連携で半角・全角混在データをバイト単位で分割する</li><li>銀行振込データなど半角カナ混在のデータを処理する</li></ul>



<h3 class="wp-block-heading"><span id="toc18">バイト系関数ファミリーの使い分け</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>LEFT</td><td>LEFTB</td><td>先頭Nバイトを取り出す</td></tr><tr><td>末尾から取り出す</td><td>RIGHT</td><td>RIGHTB</td><td>末尾Nバイトを取り出す</td></tr><tr><td>途中から取り出す</td><td><a href="https://mashukabu.com/excel-function-howto-use-mid/">MID</a></td><td>MIDB</td><td>任意の位置からバイト数で取り出す</td></tr><tr><td>文字列の長さ</td><td><a href="https://mashukabu.com/excel-function-howto-use-len/">LEN</a></td><td>LENB</td><td>バイト数での文字列長を取得する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">迷ったときは、仕様書に「バイト」と書いてあればB付き関数、「文字」と書いてあればB無し関数を使うと覚えておけばOKです。</p>



<h3 class="wp-block-heading"><span id="toc19">文字列操作関数との組み合わせ</span></h3>



<p class="wp-block-paragraph">MIDB関数は他の文字列関数と組み合わせることで活用の幅が広がります。</p>



<figure class="wp-block-table"><table><thead><tr><th>組み合わせ</th><th>用途</th><th>例</th></tr></thead><tbody><tr><td>MIDB + LENB</td><td>途中から末尾まで取り出す</td><td>バイト数にLENB(A2)を指定</td></tr><tr><td>MIDB + <a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM</a></td><td>固定長データの末尾スペース除去</td><td>=TRIM(MIDB(A2,7,10))</td></tr><tr><td>MIDB + <a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE</a></td><td>取り出した数字を数値に変換</td><td>=VALUE(MIDB(A2,20,8))</td></tr><tr><td>MIDB + <a href="https://mashukabu.com/excel-function-howto-use-substitute/">SUBSTITUTE</a></td><td>不要な文字を除去してから処理</td><td>パディング文字の除去</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">文字列の「バイト数を測る」のがLENB関数、「途中をバイト単位で取り出す」のがMIDB関数です。固定長データの処理ではこの2つをセットで使うのが基本パターンです。</p>



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



<p class="wp-block-paragraph">MIDB関数は文字列の途中からバイト数を指定して文字を取り出す関数です。</p>



<ul class="wp-block-list"><li>構文は <code>=MIDB(文字列, 開始位置, バイト数)</code> の3つの必須引数</li><li>全角文字は2バイト、半角文字は1バイトとしてカウント</li><li>固定長データの仕様書にあるバイト位置をそのまま引数に指定できる</li><li>結果は常に文字列。数値として使うときはVALUE関数で変換</li><li>全角・半角が混在しないデータなら<a href="https://mashukabu.com/excel-function-howto-use-mid/">MID関数</a>のほうがシンプル</li></ul>



<p class="wp-block-paragraph">固定長データの分割やシステム連携データの処理で、ぜひ活用してみてください。</p>



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



<h3 class="wp-block-heading"><span id="toc21">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-mid/">MID関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-len/">LEN関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-substitute/">SUBSTITUTE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-trim/">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-asc/">ASC関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-concat/">CONCAT関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-text/">TEXT関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function/">Excel関数の基本</a></li><li><a href="https://mashukabu.com/excel-function-list-by-function/">Excel関数一覧</a></li><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-midb/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのMID関数の使い方｜開始位置の指定から実務活用まで</title>
		<link>https://mashukabu.com/excel-function-howto-use-mid/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-mid/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 02 Jan 2023 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel初心者]]></category>
		<category><![CDATA[FIND関数]]></category>
		<category><![CDATA[MID関数]]></category>
		<category><![CDATA[データ整形]]></category>
		<category><![CDATA[文字列取り出し]]></category>
		<category><![CDATA[文字列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=3182</guid>

					<description><![CDATA[ExcelのMID関数で文字列の途中から指定した文字数を取り出す方法を解説します。開始位置の数え方、FIND関数・LEN関数との組み合わせパターン、よくあるエラーの対処法まで実務例を交えて紹介。LEFT・RIGHT関数との使い分けも比較表でまとめています。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelで「文字列の途中から文字を取り出したい」と思ったことはありませんか？ 商品コードや住所、電話番号など、決まった位置にある情報を抜き出したい場面は意外と多いですよね。 LEFT関数やRIGHT関数では先頭や末尾しか取れず、もどかしい思いをした方もいるのではないでしょうか。</p>



<p class="wp-block-paragraph">そんなときに活躍するのが <strong>MID関数</strong> です。 開始位置と文字数を指定するだけで、文字列のどこからでも自由に切り出せます。 この記事では、MID関数の基本構文から実務で使える応用パターンまで、順を追って解説していきます。</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共通）</p></blockquote>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">MID関数とは？LEFT・RIGHTとどう違う？</a><ol><li><a href="#toc2" tabindex="0">3つの文字抽出関数の使い分けを一覧で確認</a></li><li><a href="#toc3" tabindex="0">「途中から」取り出す場面の具体例</a></li></ol></li><li><a href="#toc4" tabindex="0">MID関数の書き方（構文・引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文と3つの必須引数</a></li><li><a href="#toc6" tabindex="0">開始位置の数え方</a></li><li><a href="#toc7" tabindex="0">文字数を多めに指定したときの動作</a></li></ol></li><li><a href="#toc8" tabindex="0">MID関数の基本的な使い方</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">MID関数の実務活用パターン</a><ol><li><a href="#toc13" tabindex="0">パターン1: 商品コードの分類番号を取り出す</a></li><li><a href="#toc14" tabindex="0">パターン2: 電話番号の市内局番を分割する</a></li><li><a href="#toc15" tabindex="0">パターン3: FIND関数と組み合わせて区切り文字の後ろを取り出す</a></li><li><a href="#toc16" tabindex="0">パターン4: FIND+LENで「ハイフン後ろから末尾まで」を取り出す</a></li><li><a href="#toc17" tabindex="0">パターン5: メールアドレスから@以降のドメインを抽出する</a></li><li><a href="#toc18" tabindex="0">パターン6: 住所から市区町村を取り出す（都道府県の文字数が不定な場合）</a></li></ol></li><li><a href="#toc19" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc20" tabindex="0">#VALUE!が出たときのチェックポイント</a></li><li><a href="#toc21" tabindex="0">空文字が返るときの原因</a></li><li><a href="#toc22" tabindex="0">数値として使いたいときはVALUE関数で変換</a></li></ol></li><li><a href="#toc23" tabindex="0">MID関数とMIDB関数の違い</a></li><li><a href="#toc24" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">MID関数とは？LEFT・RIGHTとどう違う？</span></h2>



<p class="wp-block-paragraph">ExcelのMID関数は、文字列の <strong>途中から指定した文字数</strong> を取り出す関数です。 読み方は「ミッド」で、英語の「Middle（真ん中）」が由来です。</p>



<p class="wp-block-paragraph">Excelには文字を抽出する関数が3つあります。 それぞれ取り出す位置が異なるので、まずは違いを押さえておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc2">3つの文字抽出関数の使い分けを一覧で確認</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>取り出す位置</th><th>引数</th><th>使いどころ</th></tr></thead><tbody><tr><td>LEFT</td><td>先頭（左端）から</td><td>文字列, 文字数</td><td>先頭の郵便番号・年度など</td></tr><tr><td>RIGHT</td><td>末尾（右端）から</td><td>文字列, 文字数</td><td>末尾の拡張子・連番など</td></tr><tr><td>MID</td><td>任意の位置（途中）から</td><td>文字列, 開始位置, 文字数</td><td>コード中央の分類番号など</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">LEFT・RIGHTは「端っこ」しか取れません。 MID関数だけが「どこからでも自由に」取り出せるのがポイントです。</p>



<p class="wp-block-paragraph">3つの関数の詳しい使い分けは、<a href="https://mashukabu.com/excel-string-functions-guide/">Excelの文字列関数まとめ</a>の記事も参考にしてみてください。</p>



<h3 class="wp-block-heading"><span id="toc3">「途中から」取り出す場面の具体例</span></h3>



<p class="wp-block-paragraph">MID関数が活躍するのは、次のような場面です。</p>



<ul class="wp-block-list"><li>商品コード「ABC-001-XL」の真ん中「001」を取り出す</li><li>電話番号「03-1234-5678」から市内局番「1234」だけ取り出す</li><li>住所から都道府県を除いた部分を取り出す</li><li>メールアドレスの@以降のドメインを取り出す</li></ul>



<p class="wp-block-paragraph">いずれも「先頭でも末尾でもない位置」からの抽出ですよね。 こうした場面ではMID関数の出番です。</p>



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



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



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



<pre class="wp-block-code"><code>=MID(文字列, 開始位置, 文字数)</code></pre>



<p class="wp-block-paragraph">3つの引数はすべて必須です。 それぞれの役割を表で確認しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>説明</th><th>指定例</th></tr></thead><tbody><tr><td>文字列</td><td>必須</td><td>抽出元の文字列またはセル参照</td><td>A1, &#8220;ABCDE&#8221;</td></tr><tr><td>開始位置</td><td>必須</td><td>何文字目から取り出すか（1始まり）</td><td>3 → 3文字目から</td></tr><tr><td>文字数</td><td>必須</td><td>何文字分取り出すか</td><td>2 → 2文字分</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc6">開始位置の数え方</span></h3>



<p class="wp-block-paragraph">開始位置は <strong>1から数えます</strong>。 0ではないので注意してください。</p>



<p class="wp-block-paragraph">たとえば「ABCDE」の3文字目から2文字取り出す場合はこうなります。</p>



<pre class="wp-block-code"><code>=MID(&quot;ABCDE&quot;, 3, 2)
→ 結果: &quot;CD&quot;</code></pre>



<p class="wp-block-paragraph">A=1、B=2、C=3…と数えて、3文字目の「C」から2文字分です。 全角文字も半角文字も、どちらも <strong>1文字</strong> としてカウントされます。</p>



<h3 class="wp-block-heading"><span id="toc7">文字数を多めに指定したときの動作</span></h3>



<p class="wp-block-paragraph">「残り文字数より大きい値」を文字数に指定しても、エラーにはなりません。 末尾までの文字がそのまま返ります。</p>



<pre class="wp-block-code"><code>=MID(&quot;ABCDE&quot;, 3, 100)
→ 結果: &quot;CDE&quot;</code></pre>



<p class="wp-block-paragraph">この仕様を活用すると「開始位置から末尾まで全部取り出す」ことができます。 文字数に<a href="https://mashukabu.com/excel-function-howto-use-len/">LEN関数</a>（文字数を数える関数）を渡すのが定番テクニックです。</p>



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



<p class="wp-block-paragraph">LEN(A1) は元の文字列の全文字数なので、確実に末尾まで届きますよ。</p>



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



<h3 class="wp-block-heading"><span id="toc9">直接値を指定して取り出す</span></h3>



<p class="wp-block-paragraph">まずは文字列を直接入力する方法です。 「Fluid Flow」の7文字目から4文字を取り出してみましょう。</p>



<pre class="wp-block-code"><code>=MID(&quot;Fluid Flow&quot;, 7, 4)
→ 結果: &quot;Flow&quot;</code></pre>



<p class="wp-block-paragraph">スペースも1文字としてカウントされます。 F=1, l=2, u=3, i=4, d=5, スペース=6, F=7 です。</p>



<h3 class="wp-block-heading"><span id="toc10">セル参照で取り出す</span></h3>



<p class="wp-block-paragraph">実務ではセル参照を使うのが一般的です。 セルA1に「東京都港区芝公園」が入っている場合を考えましょう。</p>



<pre class="wp-block-code"><code>=MID(A1, 4, 2)
→ 結果: &quot;港区&quot;</code></pre>



<p class="wp-block-paragraph">4文字目の「港」から2文字分を取り出しています。</p>



<h3 class="wp-block-heading"><span id="toc11">結果が文字列になる点に注意</span></h3>



<p class="wp-block-paragraph">MID関数の結果は <strong>常に文字列</strong> です。 たとえば数値が含まれるセルから数字を取り出しても、結果は文字列として扱われます。</p>



<p class="wp-block-paragraph">セルA1に「注文番号12345」が入っている場合を見てみましょう。</p>



<pre class="wp-block-code"><code>=MID(A1, 5, 5)
→ 結果: &quot;12345&quot;（見た目は数字だが文字列）</code></pre>



<p class="wp-block-paragraph">この「12345」はセルの左寄せで表示されます。 SUM関数などの計算に使いたい場合は、<a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数</a>（文字列を数値に変換する関数）で変換が必要です。 詳しくは後半の「よくあるエラーと対処法」でも触れますよ。</p>



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



<p class="wp-block-paragraph">ここからは実務でよくある活用パターンを紹介します。 FIND関数との組み合わせが登場しますが、やっていることはシンプルなので安心してください。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン1: 商品コードの分類番号を取り出す</span></h3>



<p class="wp-block-paragraph">商品コード「PRD-001-BK」から、真ん中の分類番号「001」を取り出すケースです。 ハイフンの位置が固定なので、開始位置と文字数を直接指定できます。</p>



<pre class="wp-block-code"><code>=MID(A1, 5, 3)
→ 結果: &quot;001&quot;</code></pre>



<p class="wp-block-paragraph">P=1, R=2, D=3, -=4, 0=5 なので、5文字目から3文字です。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン2: 電話番号の市内局番を分割する</span></h3>



<p class="wp-block-paragraph">電話番号「03-1234-5678」から市内局番「1234」を取り出します。 「03-」が3文字なので、4文字目から4文字です。</p>



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



<p class="wp-block-paragraph">市外局番の桁数が一定なら、この方法でスッキリ取り出せますよ。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン3: FIND関数と組み合わせて区切り文字の後ろを取り出す</span></h3>



<p class="wp-block-paragraph">ここからが実務で大活躍するパターンです。 たとえば「田中 太郎」からスペースの後ろ「太郎」を取り出す場合を考えましょう。</p>



<p class="wp-block-paragraph">姓の長さは人によって違いますよね。 「田中」は2文字、「佐々木」は3文字です。 こうした <strong>可変長データ</strong> にはFIND関数（検索文字の位置を返す関数）が頼りになります。</p>



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



<p class="wp-block-paragraph">この式を分解すると、次のとおりです。</p>



<ol class="wp-block-list"><li>FIND(&#8221; &#8220;, A1) → スペースの位置を取得（「田中 太郎」なら3）</li><li>+ 1 → スペースの次の文字から開始（3+1=4文字目）</li><li>LEN(A1) → 末尾まで確実に取り出すための大きめの数</li></ol>



<p class="wp-block-paragraph">結果は「太郎」になります。 FIND関数が区切り文字の位置を自動で見つけてくれるので、姓が何文字でも対応できますよ。</p>



<h3 class="wp-block-heading"><span id="toc16">パターン4: FIND+LENで「ハイフン後ろから末尾まで」を取り出す</span></h3>



<p class="wp-block-paragraph">「受注-20240115-完了」から「完了」のようなステータス部分を取り出すケースです。 2つ目のハイフンの後ろを取得します。</p>



<p class="wp-block-paragraph">ちょっとむずかしく見えますが、やっていることはシンプルです。</p>



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



<p class="wp-block-paragraph">ポイントは <strong>FINDの3番目の引数（開始位置）</strong> です。</p>



<ol class="wp-block-list"><li>FIND(&#8220;-&#8220;, A1) → 1つ目の「-」の位置（3）</li><li>FIND(&#8220;-&#8220;, A1, 3+1) → 4文字目以降で最初の「-」の位置（12）</li><li>+ 1 → ハイフンの次（13文字目）から末尾まで</li></ol>



<p class="wp-block-paragraph">FINDを入れ子にすると、2番目の区切り文字を見つけられます。 「何番目の区切り文字か」を変えれば、3番目・4番目にも応用できますよ。</p>



<h3 class="wp-block-heading"><span id="toc17">パターン5: メールアドレスから@以降のドメインを抽出する</span></h3>



<p class="wp-block-paragraph">「tanaka@example.com」から「example.com」を取り出します。 @の位置はアドレスによって異なるので、FIND関数の出番です。</p>



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



<p class="wp-block-paragraph">パターン3と同じ考え方ですね。 FIND関数で@の位置を特定し、その次から末尾まで取り出すだけです。</p>



<h3 class="wp-block-heading"><span id="toc18">パターン6: 住所から市区町村を取り出す（都道府県の文字数が不定な場合）</span></h3>



<p class="wp-block-paragraph">住所データから都道府県を除きたい場面は多いですよね。 ただし「東京都」は3文字、「神奈川県」は4文字と長さが異なります。</p>



<p class="wp-block-paragraph">この場合、MIN関数とFIND関数を組み合わせた式が便利です。</p>



<pre class="wp-block-code"><code>=MID(A1, MIN(FIND({&quot;都&quot;,&quot;道&quot;,&quot;府&quot;,&quot;県&quot;}, A1&amp;&quot;都道府県&quot;)) + 1, LEN(A1))</code></pre>



<p class="wp-block-paragraph">式の流れを見てみましょう。</p>



<ol class="wp-block-list"><li>A1&#038;&#8221;都道府県&#8221; → 文字列末尾に「都道府県」を付加（検索エラー回避用）</li><li>FIND({&#8220;都&#8221;,&#8221;道&#8221;,&#8221;府&#8221;,&#8221;県&#8221;}, &#8230;) → 「都」「道」「府」「県」それぞれの位置を配列で取得</li><li>MIN(&#8230;) → 最も小さい位置（最初に見つかったもの）を採用</li><li>+ 1 → 「都」「県」などの次の文字から開始</li></ol>



<p class="wp-block-paragraph">「東京都港区&#8230;」なら「都」が3文字目なので、4文字目以降が返ります。 「神奈川県横浜市&#8230;」なら「県」が4文字目なので、5文字目以降です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>バージョンメモ:</strong> Microsoft 365・Excel 2019以降では通常のEnterで入力できます。 Excel 2016以前をお使いの場合は <strong>Ctrl+Shift+Enter</strong> で確定してください。</p></blockquote>



<p class="wp-block-paragraph">なお、エラーが心配な方は <a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>（エラー時に別の値を返す関数）で囲むと安心です。</p>



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



<p class="wp-block-paragraph">MID関数を使っていて「あれ？」となるケースをまとめました。</p>



<h3 class="wp-block-heading"><span id="toc20">#VALUE!が出たときのチェックポイント</span></h3>



<p class="wp-block-paragraph">#VALUE! エラーが出る原因は主に2つです。</p>



<ul class="wp-block-list"><li><strong>開始位置に0以下の値を指定している</strong> → 開始位置は1以上にする</li><li><strong>文字数にマイナスの値を指定している</strong> → 0以上にする</li></ul>



<p class="wp-block-paragraph">FIND関数と組み合わせたときに起こりやすいパターンがあります。 検索文字が見つからないとFIND関数が #VALUE! を返し、MID関数にも波及するケースです。</p>



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



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>で囲んでおくと、エラー時に空文字を返せます。 検索文字が含まれないデータが混在する場合は、この書き方をおすすめしますよ。</p>



<h3 class="wp-block-heading"><span id="toc21">空文字が返るときの原因</span></h3>



<p class="wp-block-paragraph">MID関数が空文字（&#8221;&#8221;）を返すケースは2つあります。</p>



<ul class="wp-block-list"><li><strong>開始位置が文字列の長さを超えている</strong> → 開始位置の値を確認する</li><li><strong>文字数に0を指定している</strong> → 1以上に修正する</li></ul>



<p class="wp-block-paragraph">どちらもエラーにはなりません。 静かに空文字が返るので、気づきにくい点に注意してください。</p>



<h3 class="wp-block-heading"><span id="toc22">数値として使いたいときはVALUE関数で変換</span></h3>



<p class="wp-block-paragraph">先ほど触れたとおり、MID関数の結果は常に文字列です。 取り出した数字で計算したい場合は、<a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数</a>で数値に変換しましょう。</p>



<pre class="wp-block-code"><code>=VALUE(MID(A1, 5, 3))</code></pre>



<p class="wp-block-paragraph">VALUE関数で囲むだけで、数値として計算に使えるようになります。 SUM関数やIF関数で数値比較する前に変換しておくのが確実ですよ。</p>



<h2 class="wp-block-heading"><span id="toc23">MID関数とMIDB関数の違い</span></h2>



<p class="wp-block-paragraph">MID関数とよく比較されるのが<a href="https://mashukabu.com/excel-function-howto-use-midb/">MIDB関数</a>です。 両者の違いは <strong>文字の数え方</strong> にあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>MID関数</th><th>MIDB関数</th></tr></thead><tbody><tr><td>カウント基準</td><td>文字数（1文字=1）</td><td>バイト数（全角=2、半角=1）</td></tr><tr><td>「Excel」の長さ</td><td>5</td><td>5（すべて半角）</td></tr><tr><td>「エクセル」の長さ</td><td>4</td><td>8（すべて全角）</td></tr><tr><td>主な用途</td><td>一般的な文字抽出</td><td>固定バイト長データの処理</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">通常の実務では <strong>MID関数を使えば問題ありません</strong>。 MIDB関数が必要になるのは、レガシーシステムから出力された固定バイト長データを扱うような、限られた場面だけです。</p>



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



<p class="wp-block-paragraph">この記事では、ExcelのMID関数の使い方を基本から実務活用まで解説しました。 最後にポイントを振り返りましょう。</p>



<ul class="wp-block-list"><li>MID関数は =MID(文字列, 開始位置, 文字数) で途中から文字を取り出す</li><li>開始位置は <strong>1から数える</strong>（0ではない）</li><li>文字数を多めに指定してもエラーにならず、末尾まで返る</li><li>FIND関数と組み合わせれば、可変長データにも対応できる</li><li>結果は文字列になるので、数値として使うならVALUE関数で変換する</li></ul>



<p class="wp-block-paragraph">固定位置の抽出はMID関数だけで十分ですし、FIND関数と組み合わせれば応用範囲がぐっと広がります。 ぜひ実際のデータで試してみてください。</p>



<p class="wp-block-paragraph">文字列操作の関数をもっと知りたい方は、<a href="https://mashukabu.com/excel-string-functions-guide/">Excelの文字列関数まとめ</a>もあわせてチェックしてみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-mid/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
