<?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>LEN &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/len/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Tue, 26 May 2026 10:45:57 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>LEN &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのLENB関数の使い方｜バイト数</title>
		<link>https://mashukabu.com/spreadsheet-lenb-function/</link>
					<comments>https://mashukabu.com/spreadsheet-lenb-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 20 Apr 2026 00:42:45 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[LEFTB]]></category>
		<category><![CDATA[LEN]]></category>
		<category><![CDATA[LENB]]></category>
		<category><![CDATA[バイト]]></category>
		<category><![CDATA[文字列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6102</guid>

					<description><![CDATA[スプレッドシートのLENB関数の使い方を実例付きで解説します。全角2バイト・半角1バイトで文字列のバイト数を数える関数で、LEN関数との違い、LEFTB・RIGHTB・MIDBとの組み合わせ、基幹システム連携での超過チェックまで紹介。コピペで使えるテンプレートも用意しました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートで文字列を扱っていると、「このデータのバイト数を知りたい」という場面にぶつかることがありますよね。基幹システムに流し込むCSVで「摘要欄は40バイトまで」と指定されることもあります。入力フォームで半角40バイト・全角20文字の制約がかかることも多いですよね。文字数なら数えられても、バイト数はパッと出てこない方が多いのではないでしょうか。</p>



<p class="wp-block-paragraph">そんなときに活躍するのが、スプレッドシートのLENB関数です。全角2バイト・半角1バイトでカウントしてくれます。半角と全角が混ざっている文字列でも、正確にバイト数が測れますよ。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのLENB関数の基本構文から、LEN関数との違い、LEFTBやMIDBとの組み合わせまで紹介します。実務でよく使うバイト数チェックのテンプレートも用意しました。コピペで使える超過チェック用の4行テンプレートも置いておくので、そのまま貼って活用してくださいね。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのLENB関数とは？バイト数を返す関数</a><ol><li><a href="#toc2" tabindex="0">LENB関数の構文と引数</a></li><li><a href="#toc3" tabindex="0">全角=2バイト・半角=1バイトのルール</a></li></ol></li><li><a href="#toc4" tabindex="0">LEN関数とLENB関数の違い</a><ol><li><a href="#toc5" tabindex="0">文字数とバイト数の違いを整理</a></li><li><a href="#toc6" tabindex="0">LENB-LENで全角文字数を数えるテクニック</a></li><li><a href="#toc7" tabindex="0">半角文字数だけを逆算するテクニック</a></li></ol></li><li><a href="#toc8" tabindex="0">スプレッドシートのLENB関数の基本的な使い方</a><ol><li><a href="#toc9" tabindex="0">全角・半角が混在する文字列での挙動</a></li><li><a href="#toc10" tabindex="0">空白・改行・記号のカウント</a></li></ol></li><li><a href="#toc11" tabindex="0">LEFTB・RIGHTB・MIDBとの組み合わせパターン</a><ol><li><a href="#toc12" tabindex="0">LENBで超過検出→LEFTBでトリミング</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">基幹システム連携のCSV整形</a></li><li><a href="#toc16" tabindex="0">入力フォームのバイト数バリデーション</a></li><li><a href="#toc17" tabindex="0">入力規則にLENBを組み込んで全角・半角混入を弾く</a></li><li><a href="#toc18" tabindex="0">コピペで使えるテンプレート</a></li><li><a href="#toc19" tabindex="0">ARRAYFORMULAで範囲一括適用</a></li><li><a href="#toc20" tabindex="0">SUMPRODUCTで超過行数を一括集計する</a></li></ol></li><li><a href="#toc21" tabindex="0">LENB関数でよくあるエラーと対処法</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">ExcelのLENB関数とスプレッドシートのLENB関数、動作が違う点に注意</a></li><li><a href="#toc26" tabindex="0">ASC・SUBSTITUTEでデータを整形してからバイト数を計る</a><ol><li><a href="#toc27" tabindex="0">ASC関数で全角英数字・カタカナを半角化してからチェックする</a></li><li><a href="#toc28" tabindex="0">SUBSTITUTE関数でスペースや区切り文字を除外してからチェックする</a></li></ol></li><li><a href="#toc29" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">スプレッドシートのLENB関数は、文字列のバイト数を返す関数です。読み方は「レンビー」と読みます。LEN（Length＝長さ）とB（Byte＝バイト）を組み合わせた名前ですよ。</p>



<p class="wp-block-paragraph">日本語環境では、全角文字を2バイト、半角文字を1バイトとしてカウントします。全角半角が混ざった商品名や住所、摘要欄のテキストなどを、バイト単位で管理したいときに使える関数ですよ。</p>



<h3 class="wp-block-heading"><span id="toc2">LENB関数の構文と引数</span></h3>



<p class="wp-block-paragraph">LENB関数の構文はとてもシンプルです。引数は1つだけなので、覚えるのも楽ですよ。</p>



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



<p class="wp-block-paragraph">引数の意味を整理しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>文字列</td><td>必須</td><td>バイト数を調べたいテキスト、またはセル参照</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">空のセルや空文字列 <code>""</code> を渡すと、結果は 0 になります。数値を渡した場合は文字列として扱われ、桁数がそのままバイト数になりますよ。たとえば <code>=LENB(123)</code> の結果は 3 です。エラー値（#N/A や #VALUE! など）を渡すと、そのエラーがそのまま返ってくるので注意してくださいね。</p>



<h3 class="wp-block-heading"><span id="toc3">全角=2バイト・半角=1バイトのルール</span></h3>



<p class="wp-block-paragraph">LENB関数のカウントルールは、日本語環境だと次のようになっています。</p>



<ul class="wp-block-list"><li>全角文字（ひらがな・カタカナ・漢字・全角英数字・全角記号）: <strong>1文字=2バイト</strong></li><li>半角文字（英数字・半角カタカナ・半角記号）: <strong>1文字=1バイト</strong></li></ul>



<p class="wp-block-paragraph">意外と見落としがちなのが、<strong>半角カタカナは1バイト</strong>という点です。JIS X 0201（半角カナを定義するASCII拡張の文字コード規格）で定義されているため、全角カタカナ（2バイト）とはカウントが違いますよ。また、全角スペースや全角記号も2バイト、改行コード（CHAR(10)）は1バイトとしてカウントされます。</p>



<h2 class="wp-block-heading"><span id="toc4">LEN関数とLENB関数の違い</span></h2>



<p class="wp-block-paragraph">LENB関数とLEN関数は似ていますが、数える単位が違うだけです。ここを押さえておくと、使い分けで迷わなくなりますよ。</p>



<h3 class="wp-block-heading"><span id="toc5">文字数とバイト数の違いを整理</span></h3>



<p class="wp-block-paragraph">基本の違いを表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>数える単位</th><th>全角の扱い</th><th>半角の扱い</th></tr></thead><tbody><tr><td>LEN</td><td>文字数</td><td>1文字</td><td>1文字</td></tr><tr><td>LENB</td><td>バイト数</td><td>2バイト</td><td>1バイト</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">実際に同じ文字列で結果を比べてみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>文字列</th><th>=LEN(A2)</th><th>=LENB(A2)</th></tr></thead><tbody><tr><td>&#8220;あいうえお&#8221;</td><td>5</td><td>10</td></tr><tr><td>&#8220;ABCDE&#8221;</td><td>5</td><td>5</td></tr><tr><td>&#8220;Excel関数&#8221;</td><td>7</td><td>9</td></tr><tr><td>&#8220;商品A-100&#8221;</td><td>7</td><td>10</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">全角だけ、半角だけなら違いは出にくいです。でも混在するとLENB関数のほうが大きくなります。バイト数制限のあるシステムで使うのは、当然LENBのほうですよ。</p>



<p class="wp-block-paragraph">LEN関数の基本を押さえたい方は、<a href="https://mashukabu.com/spreadsheet-len-function/">スプレッドシートのLEN関数の使い方</a>もあわせてチェックしてみてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc6">LENB-LENで全角文字数を数えるテクニック</span></h3>



<p class="wp-block-paragraph">ここでちょっと便利なワザを紹介しますね。LENBからLENを引くと、「全角文字だけの個数」が取得できます。</p>



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



<p class="wp-block-paragraph">全角文字は2バイトで1文字、半角文字は1バイトで1文字です。差分を取ると「全角文字のぶんだけ+1されている」という仕組みなんですよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>文字列</th><th>LENB-LEN</th><th>意味</th></tr></thead><tbody><tr><td>&#8220;あいうえお&#8221;</td><td>5</td><td>全角5文字</td></tr><tr><td>&#8220;ABCDE&#8221;</td><td>0</td><td>全角0文字</td></tr><tr><td>&#8220;Excel関数&#8221;</td><td>2</td><td>全角2文字（関・数）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「データの中に全角文字が混ざっていないかチェックしたい」という場面で便利に使えますよ。たとえば半角英数字のみ入力すべきコード列に全角が紛れていないか、LENB-LEN が 0 以外の行を抽出すれば一発で見つかります。</p>



<h3 class="wp-block-heading"><span id="toc7">半角文字数だけを逆算するテクニック</span></h3>



<p class="wp-block-paragraph">「LENB-LEN = 全角文字数」と同様に、「半角文字数だけを取り出す」公式も覚えておくと便利ですよ。</p>



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



<p class="wp-block-paragraph">考え方はシンプルです。仮にすべての文字が全角なら LENB は LEN×2 になります。半角文字が混ざっていると、全角換算より LENB が小さくなります。その差が半角文字の個数というわけです。</p>



<figure class="wp-block-table"><table><thead><tr><th>文字列</th><th>LEN×2</th><th>LENB</th><th>LEN×2-LENB</th><th>意味</th></tr></thead><tbody><tr><td>&#8220;あいうえお&#8221;</td><td>10</td><td>10</td><td>0</td><td>半角0文字</td></tr><tr><td>&#8220;ABCDE&#8221;</td><td>10</td><td>5</td><td>5</td><td>半角5文字</td></tr><tr><td>&#8220;Excel関数&#8221;</td><td>14</td><td>9</td><td>5</td><td>半角5文字（E,x,c,e,l）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">住所や氏名データの中に英数字が何文字含まれているかを集計したい場面などで役立ちますよ。「全角LENB-LEN」と「半角LEN×2-LENB」の2つをセットで覚えておけば、文字種の分析がかなり楽になります。</p>



<h2 class="wp-block-heading"><span id="toc8">スプレッドシートのLENB関数の基本的な使い方</span></h2>



<p class="wp-block-paragraph">それではLENB関数を実際に使ってみましょう。いくつかのケースで挙動を確認しておくと、実務で迷わなくなりますよ。</p>



<h3 class="wp-block-heading"><span id="toc9">全角・半角が混在する文字列での挙動</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><code>=LENB("あいうえお")</code></td><td>10</td><td>全角5文字×2バイト</td></tr><tr><td><code>=LENB("ABCDE")</code></td><td>5</td><td>半角5文字×1バイト</td></tr><tr><td><code>=LENB("商品A-100")</code></td><td>10</td><td>全角2（商品）+ 半角5（A-100）</td></tr><tr><td><code>=LENB("ｱｲｳｴｵ")</code></td><td>5</td><td>半角カナ5文字×1バイト</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">半角カナが1バイトあつかいなのは、慣れるまで少し意外に感じるかもしれません。でも、基幹システムなどで半角カナを使うレイアウトなら、この仕様のおかげでバイト数がコンパクトになりますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">空白・改行・記号のカウント</span></h3>



<p class="wp-block-paragraph">空白や改行、記号のカウントも押さえておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>補足</th></tr></thead><tbody><tr><td><code>=LENB(" ")</code></td><td>1</td><td>半角スペースは1バイト</td></tr><tr><td><code>=LENB("　")</code></td><td>2</td><td>全角スペースは2バイト</td></tr><tr><td><code>=LENB(CHAR(10))</code></td><td>1</td><td>改行は1バイト</td></tr><tr><td><code>=LENB("")</code></td><td>0</td><td>空文字列は0</td></tr><tr><td><code>=LENB("！？")</code></td><td>4</td><td>全角記号は2バイト</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">基幹システム向けのCSVで「改行コードも含めてバイト数カウントしたい」という場合にも便利です。CHAR(10)ぶんの1バイトも含まれているので、そのまま使えますよ。</p>



<h2 class="wp-block-heading"><span id="toc11">LEFTB・RIGHTB・MIDBとの組み合わせパターン</span></h2>



<p class="wp-block-paragraph">LENB関数は単体でも便利ですが、バイト系の切り出し関数と組み合わせるとさらに活躍します。LEFTB・RIGHTB・MIDBは、それぞれ左・右・任意位置からバイト単位で切り出す関数ですよ。実務での頻出パターンを2つ紹介しますね。</p>



<h3 class="wp-block-heading"><span id="toc12">LENBで超過検出→LEFTBでトリミング</span></h3>



<p class="wp-block-paragraph">一番よく使うのがこのパターンです。A列に文字列、B列に上限バイト数を入れている想定で、C列に「判定結果＋自動トリミング」を表示します。</p>



<pre class="wp-block-code"><code>=IF(LENB(A2)&gt;B2, LEFTB(A2,B2), A2)</code></pre>



<p class="wp-block-paragraph">この1本で、上限を超えている行だけ左から上限ぶん切り出せます。セーフな行はそのまま残してくれますよ。データ量が多いシートでも、列挿入1本で整形できるので作業時間がぐっと短くなります。</p>



<p class="wp-block-paragraph">さらに「超過した旨を表示してから切る」なら、こんな書き方もできます。</p>



<pre class="wp-block-code"><code>=IF(LENB(A2)&gt;B2, LEFTB(A2,B2)&amp;&quot;★&quot;, A2)</code></pre>



<p class="wp-block-paragraph">★マーク付きにしておくと、あとで目視確認したい行がすぐ見つかりますよ。詳しい使い方は<a href="https://mashukabu.com/spreadsheet-leftb-function/">スプレッドシートのLEFTB関数の使い方</a>も参考にしてみてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc13">固定長レイアウトの確認に使う</span></h3>



<p class="wp-block-paragraph">古い基幹システムから落とした固定長ファイルを扱うときも、LENBは頼りになります。たとえば「先頭8バイトが顧客コード、次の20バイトが氏名」というレイアウトがあるとしますね。データ全体の長さを事前に確認したい場面で重宝します。</p>



<pre class="wp-block-code"><code>全体のバイト数:  =LENB(A2)
氏名フィールド:  =MIDB(A2, 9, 20)
末尾フィールド:  =RIGHTB(A2, 10)</code></pre>



<p class="wp-block-paragraph">レイアウト定義書に書かれた想定バイト数（例: 合計128バイト）と、LENBの結果が一致しているか確認しておきましょう。あとで切り出したときのズレに気付けますよ。MIDBやRIGHTBの詳しい使い方は<a href="https://mashukabu.com/spreadsheet-midb-function/">スプレッドシートのMIDB関数の使い方</a>と<a href="https://mashukabu.com/spreadsheet-rightb-function/">スプレッドシートのRIGHTB関数の使い方</a>もあわせてチェックしてみてください。</p>



<h2 class="wp-block-heading"><span id="toc14">実務で使えるバイト数チェックの活用例</span></h2>



<p class="wp-block-paragraph">LENB関数を使いこなせると、事務作業のいろんな場面で時短につながります。よく使う3つの活用例を紹介しますね。</p>



<h3 class="wp-block-heading"><span id="toc15">基幹システム連携のCSV整形</span></h3>



<p class="wp-block-paragraph">会計ソフトや販売管理システムへの取り込み用CSVで、「摘要欄は40バイトまで」といった制限はよく出てきます。事前にLENBでチェックしておくと、取り込みエラーを防げますよ。</p>



<pre class="wp-block-code"><code>=IF(LENB(A2)&gt;40, &quot;超過&quot;, &quot;OK&quot;)</code></pre>



<p class="wp-block-paragraph">件数が多いときは、フィルタで「超過」だけ抽出すれば、対応が必要な行がすぐ見つかります。上長に「◯件を修正してから送ります」と報告できるので、やり取りもスムーズですよ。</p>



<h3 class="wp-block-heading"><span id="toc16">入力フォームのバイト数バリデーション</span></h3>



<p class="wp-block-paragraph">Googleフォームや自作の入力シートで、「このフィールドは半角40バイト・全角20文字以内」というルールを設けたい場合にも使えます。条件付き書式と組み合わせると、超過した行を自動で赤くできますよ。</p>



<p class="wp-block-paragraph">条件付き書式の「カスタム数式」にこう入れます。</p>



<pre class="wp-block-code"><code>=LENB($A2)&gt;40</code></pre>



<p class="wp-block-paragraph">A列の文字列が40バイトを超えると、行がハイライトされます。入力者に視覚的に伝わるので、修正漏れが減りますよ。</p>



<h3 class="wp-block-heading"><span id="toc17">入力規則にLENBを組み込んで全角・半角混入を弾く</span></h3>



<p class="wp-block-paragraph">バイト数チェックを「後から検出」するだけでなく、そもそも入力時点で弾いてしまう方法もありますよ。スプレッドシートの「データの入力規則」のカスタム数式にLENBを使うと、担当者が誤って全角入力してしまうミスを事前に防げます。</p>



<p class="wp-block-paragraph"><strong>半角のみ許可する入力規則</strong></p>



<p class="wp-block-paragraph">社員コードや製品コードなど、半角英数字しか入力させたくない列に設定します。</p>



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



<p class="wp-block-paragraph">LENとLENBが等しい＝全文字が半角、という条件になります。全角文字が1文字でも入ると LEN < LENB になるため、入力が弾かれますよ。</p>



<p class="wp-block-paragraph"><strong>全角のみ許可する入力規則</strong></p>



<p class="wp-block-paragraph">氏名欄など、全角表記を統一したい列に使います。</p>



<pre class="wp-block-code"><code>=LEN(A1)*2=LENB(A1)</code></pre>



<p class="wp-block-paragraph">設定手順は次の通りです。</p>



<ol class="wp-block-list"><li>対象の列または範囲を選択する</li><li>メニューの「データ」→「データの入力規則」を開く</li><li>「条件」で「カスタム数式」を選び、上記の数式を入力する</li><li>「無効なデータの場合」を「入力を拒否する」に設定する</li></ol>



<p class="wp-block-paragraph">入力規則のカスタム数式にLENBを使う方法は、REGEXMATCH（正規表現でパターンマッチングする関数）と比較してもメリットがあります。<code>=REGEXMATCH(A1,"^[a-zA-Z0-9]+$")</code> のような数式では英数字以外の記号が漏れる場合もありますが、<code>LEN=LENB</code> の方法なら全角スペース・全角記号・全角カタカナなど「あらゆる全角文字」をまとめて弾けますよ。</p>



<h3 class="wp-block-heading"><span id="toc18">コピペで使えるテンプレート</span></h3>



<p class="wp-block-paragraph">よく使う組み合わせを一式テンプレートにしました。そのまま貼って使ってくださいね。A2にデータ、B2に上限バイト数という前提です。</p>



<pre class="wp-block-code"><code>現在のバイト数:   =LENB(A2)
超過チェック:     =IF(LENB(A2)&gt;B2, &quot;超過 (&quot;&amp;LENB(A2)&amp;&quot;B)&quot;, &quot;OK&quot;)
トリミング結果:   =IF(LENB(A2)&gt;B2, LEFTB(A2,B2), A2)
残バイト数:       =B2-LENB(A2)</code></pre>



<p class="wp-block-paragraph">4つ並べておけば、現在のバイト数・超過判定・自動トリミング・残りバイト数が一度に把握できますよ。データ整形のたびに手作業する手間が減るので、月次のシステム連携業務がぐっと楽になります。</p>



<h3 class="wp-block-heading"><span id="toc19">ARRAYFORMULAで範囲一括適用</span></h3>



<p class="wp-block-paragraph">Googleスプレッドシートならではのワザも紹介しますね。ARRAYFORMULA（範囲に対して数式を一括適用する関数）と組み合わせると、行数ぶんの数式を書かなくて済みますよ。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(A2:A100=&quot;&quot;, &quot;&quot;, LENB(A2:A100)))</code></pre>



<p class="wp-block-paragraph">LENBは本来単一セル向けの関数です。ARRAYFORMULAでラップしてあげると、範囲一括で動きますよ。A列が空なら空白を返すようにIFを入れておくと、末尾の空行が「0」で埋まるのを防げます。</p>



<h3 class="wp-block-heading"><span id="toc20">SUMPRODUCTで超過行数を一括集計する</span></h3>



<p class="wp-block-paragraph">個々の行に判定を入れるだけでなく、「全体で何件が上限オーバーしているか」を1セルでまとめて出したい場面もありますよね。SUMPRODUCT（配列の積の合計を返す関数）と組み合わせると、超過件数を一括で集計できます。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((LENB(A2:A100)&gt;40)*1)</code></pre>



<p class="wp-block-paragraph">「LENB(A2:A100)>40」で各行をTRUE/FALSEに変換し、×1で0/1に変えてから合計します。ARRAYFORMULAなしで範囲全体に対して動くのがポイントですよ。</p>



<p class="wp-block-paragraph">さらに超過率（パーセンテージ）を出したい場合はこうします。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((LENB(A2:A100)&gt;40)*1)/COUNTA(A2:A100)</code></pre>



<p class="wp-block-paragraph">セルの表示形式をパーセンテージにしておけば、「今月の請求データで40バイト超は全体の○%」という数値がすぐ確認できます。上長への報告やシステム移行前の品質チェックで、件数ベースのサマリーが必要なときに重宝しますよ。</p>



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



<p class="wp-block-paragraph">LENB関数でつまずきやすいポイントを3つ紹介します。原因と対策をセットで覚えておくと、現場で詰まりにくくなりますよ。</p>



<h3 class="wp-block-heading"><span id="toc22">結果が想定と合わない</span></h3>



<p class="wp-block-paragraph">「半角だけのつもりでLENBを使ったら、思ったより多くなった」というときは、<strong>全角スペースや全角記号が紛れている</strong>ケースがほとんどです。見た目ではわからない全角混入を疑ってみてください。</p>



<p class="wp-block-paragraph">LENB-LENの差分を見れば、全角文字の個数が一瞬でわかります。</p>



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



<p class="wp-block-paragraph">この結果が0でなければ、全角が混ざっている証拠ですよ。ASC関数（全角を半角に変換する関数）と組み合わせて整形するのも手ですね。</p>



<h3 class="wp-block-heading"><span id="toc23">配列を直接渡したときの挙動</span></h3>



<p class="wp-block-paragraph">LENB関数自体は引数1つで単純なので、エラーは起きにくいです。ただし、<strong>配列（範囲）を直接渡したとき</strong>は想定外の結果になることがあります。</p>



<pre class="wp-block-code"><code>=LENB(A2:A10)   → 結果は A2 の値だけ（範囲は無視）</code></pre>



<p class="wp-block-paragraph">範囲に一括適用したいときは、先ほど紹介したARRAYFORMULAでラップしてくださいね。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(LENB(A2:A10))</code></pre>



<p class="wp-block-paragraph">これで範囲ぶんの結果が縦に並びます。</p>



<h3 class="wp-block-heading"><span id="toc24">数値や日付を渡したときの挙動</span></h3>



<p class="wp-block-paragraph">LENB関数に数値や日付を渡すと、文字列化された見た目の桁数をカウントします。日付は内部的に数値で管理されているため、想定外の結果になることがありますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>補足</th></tr></thead><tbody><tr><td><code>=LENB(123)</code></td><td>3</td><td>数値は桁数ぶん</td></tr><tr><td><code>=LENB(TODAY())</code></td><td>5</td><td>日付のシリアル値（例: 46401）の桁数</td></tr><tr><td><code>=LENB(TEXT(TODAY(),"yyyy/mm/dd"))</code></td><td>10</td><td>文字列化してからカウント</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">日付のバイト数を測りたいときは、TEXT関数で表示形式の文字列に変換してから渡すのが正解ですよ。シリアル値のまま渡すとズレるので、気をつけてくださいね。</p>



<h2 class="wp-block-heading"><span id="toc25">ExcelのLENB関数とスプレッドシートのLENB関数、動作が違う点に注意</span></h2>



<p class="wp-block-paragraph">ExcelでLENBを使っていた方がスプレッドシートに移行するときに、意外な落とし穴があります。<strong>全角英数字のバイト数の扱いが異なります。</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>文字</th><th>Excel</th><th>スプレッドシート</th></tr></thead><tbody><tr><td>半角英数字（ABC）</td><td>1バイト</td><td>1バイト</td></tr><tr><td>半角カタカナ（ｱｲｳ）</td><td>1バイト</td><td>1バイト</td></tr><tr><td>全角ひらがな（あい）</td><td>2バイト</td><td>2バイト</td></tr><tr><td>全角英数字（ＡＢＣ）</td><td>2バイト</td><td>2バイト</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">基本的なカウントルールは両者で共通しています。ただし、Excelでは「全角・半角の判定をShift-JISの文字コード基準」で行うのに対し、スプレッドシートは内部的にUnicodeで処理します。そのため、旧規格で定義されたマルチバイト文字（一部の特殊記号など）の扱いで稀に結果が異なる場合がありますよ。</p>



<p class="wp-block-paragraph"><strong>ASC関数で文字種を統一してからチェックする</strong></p>



<p class="wp-block-paragraph">移植する際は、事前にASC関数（全角英数字・カタカナ・記号を半角に変換する関数）で文字種を統一してからLENBに渡すのが安全です。</p>



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



<p class="wp-block-paragraph">ただし、ひらがな・漢字はASCでは変換されないので、あくまでも英数字・記号・カタカナが対象であることに注意してくださいね。ExcelとスプレッドシートのLENBを混在させる業務では、どちらの仕様でカウントするかをチームで明示しておくとトラブルを防げますよ。</p>



<p class="wp-block-paragraph">ExcelのLENBとの詳しい比較は<a href="https://mashukabu.com/excel-function-howto-use-lenb/">ExcelのLENB関数の使い方</a>もあわせてご覧ください。</p>



<h2 class="wp-block-heading"><span id="toc26">ASC・SUBSTITUTEでデータを整形してからバイト数を計る</span></h2>



<p class="wp-block-paragraph">LENBに渡す前にデータを整形しておくと、より正確なバイト数チェックができますよ。2つのパターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc27">ASC関数で全角英数字・カタカナを半角化してからチェックする</span></h3>



<p class="wp-block-paragraph">ユーザーが全角で入力してしまった英数字を「半角換算」した上でバイト数を判定したい場合、ASCでまとめて変換してからLENBに渡します。</p>



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



<p class="wp-block-paragraph">「全角・半角どちらで入力されても同じ基準でバイト数判定したい」という要件に対応できますよ。</p>



<h3 class="wp-block-heading"><span id="toc28">SUBSTITUTE関数でスペースや区切り文字を除外してからチェックする</span></h3>



<p class="wp-block-paragraph">氏名欄の姓名間スペースや、電話番号のハイフンを除いたバイト数を測りたい場合は、SUBSTITUTE（指定した文字を別の文字に置換する関数）で除外してからLENBに渡します。</p>



<p class="wp-block-paragraph">半角・全角スペース両方を除外する場合:</p>



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



<p class="wp-block-paragraph">ハイフンを除外する場合:</p>



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



<p class="wp-block-paragraph">SUBSTITUTEは全角と半角を区別して処理するため、半角スペースと全角スペースは別々に指定する必要がある点に注意してくださいね。</p>



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



<p class="wp-block-paragraph">スプレッドシートのLENB関数は、全角2バイト・半角1バイトで文字列のバイト数を返す関数です。シンプルながら実務で使い出がありますよ。最後に要点を整理しておきましょう。</p>



<ul class="wp-block-list"><li>構文は <code>=LENB(文字列)</code> の1引数。空文字列は0、数値は桁数ぶんを返す</li><li>日本語環境では全角=2バイト、半角カナを含む半角文字=1バイトでカウント</li><li>LENB-LENで全角文字の個数が取得でき、全角混入チェックに便利</li><li>LEFTB/RIGHTB/MIDBと組み合わせると、超過検出から自動トリミングまで一本でこなせる</li><li>基幹システム連携のCSV整形、入力フォームのバリデーション、固定長ファイル処理で活躍</li><li>ARRAYFORMULAでラップすれば、範囲一括適用も可能</li></ul>



<p class="wp-block-paragraph">まずは手元の商品名リストや摘要欄データで、<code>=LENB(A2)</code> を使ってバイト数の分布を見てみてください。どの行が上限オーバーしているのか、どこに全角が混ざっているのか、数式1本で可視化できますよ。バイト単位のデータ整形が必要なら、LEFTB・RIGHTB・MIDBの使い方もあわせて覚えておきましょう。対応できる業務の幅がぐっと広がりますよ。</p>



<p class="wp-block-paragraph">Excel版の挙動と比べたい場合は、<a href="https://mashukabu.com/excel-function-howto-use-lenb/">ExcelのLENB関数の使い方</a>もご覧くださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-lenb-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Excelの文字列関数まとめ｜抽出・結合・分割・置換を実務シーン別に解説</title>
		<link>https://mashukabu.com/excel-string-functions-guide/</link>
					<comments>https://mashukabu.com/excel-string-functions-guide/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 18 Mar 2026 12:36:46 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[CONCAT]]></category>
		<category><![CDATA[Excel関数まとめ]]></category>
		<category><![CDATA[FIND]]></category>
		<category><![CDATA[LEFT]]></category>
		<category><![CDATA[LEN]]></category>
		<category><![CDATA[MID]]></category>
		<category><![CDATA[RIGHT]]></category>
		<category><![CDATA[SUBSTITUTE]]></category>
		<category><![CDATA[TEXTJOIN]]></category>
		<category><![CDATA[TEXTSPLIT]]></category>
		<category><![CDATA[文字列分割]]></category>
		<category><![CDATA[文字列抽出]]></category>
		<category><![CDATA[文字列結合]]></category>
		<category><![CDATA[文字列置換]]></category>
		<category><![CDATA[文字列関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4030</guid>

					<description><![CDATA[Excelの文字列関数を実務シーン別に整理。氏名から姓だけ取り出す、住所から都道府県を除く、CSV分割、文字列結合まで、LEFT・FIND・SUBSTITUTE・TEXTSPLIT・TEXTJOINなどの使い分けを逆引き一覧と比較表で解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelで「氏名から姓だけ取り出したい」「カンマ区切りのデータを列に分けたい」と悩んだことはありませんか。文字列関数は種類が多く、どれを使えばいいか迷いますよね。</p>



<p class="wp-block-paragraph">この記事では、<strong>抽出・結合・分割・置換</strong>の4カテゴリに分けて文字列関数の使い分けを整理しました。実務シーンに合わせて「この作業にはこの関数」がすぐわかる逆引きインデックスも用意しています。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">文字列関数の逆引きインデックス【やりたいこと別】</a></li><li><a href="#toc2" tabindex="0">文字列を「抽出」する関数の使い方</a><ol><li><a href="#toc3" tabindex="0">LEFT関数 + FIND関数で姓だけ取り出す</a></li><li><a href="#toc4" tabindex="0">RIGHT関数 + LEN関数で名だけ取り出す</a></li><li><a href="#toc5" tabindex="0">MID関数で途中の文字列を取り出す</a></li><li><a href="#toc6" tabindex="0">FIND関数とSEARCH関数の違い</a></li><li><a href="#toc7" tabindex="0">M365ならTEXTBEFORE・TEXTAFTERが便利</a></li></ol></li><li><a href="#toc8" tabindex="0">文字列を「結合」する関数の使い方</a><ol><li><a href="#toc9" tabindex="0">&#038;演算子でシンプルに結合する</a></li><li><a href="#toc10" tabindex="0">CONCAT関数でセル範囲を一括結合する</a></li><li><a href="#toc11" tabindex="0">TEXTJOIN関数で区切り文字付きの結合をする</a></li><li><a href="#toc12" tabindex="0">結合関数の選び方</a></li></ol></li><li><a href="#toc13" tabindex="0">文字列を「分割」する関数の使い方</a><ol><li><a href="#toc14" tabindex="0">TEXTSPLIT関数でカンマ区切りデータを列に分ける</a></li><li><a href="#toc15" tabindex="0">TEXTSPLIT が使えない環境での分割テクニック</a></li><li><a href="#toc16" tabindex="0">「区切り位置」機能との比較</a></li></ol></li><li><a href="#toc17" tabindex="0">文字列を「置換・整形」する関数の使い方</a><ol><li><a href="#toc18" tabindex="0">SUBSTITUTE関数で特定の文字列を置き換える</a></li><li><a href="#toc19" tabindex="0">REPLACE関数で位置を指定して置き換える</a></li><li><a href="#toc20" tabindex="0">TRIM関数でスペースを整える</a></li><li><a href="#toc21" tabindex="0">大文字・小文字・全角・半角の変換</a></li></ol></li><li><a href="#toc22" tabindex="0">新旧関数の対比表で文字列関数を整理</a></li><li><a href="#toc23" tabindex="0">文字列関数でよくあるエラーと対処法</a></li><li><a href="#toc24" tabindex="0">まとめ</a><ol><li><a href="#toc25" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">文字列関数の逆引きインデックス【やりたいこと別】</span></h2>



<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>左端からN文字を取り出す</td><td>LEFT</td><td><code>=LEFT(A1,3)</code></td></tr><tr><td>右端からN文字を取り出す</td><td>RIGHT</td><td><code>=RIGHT(A1,4)</code></td></tr><tr><td>途中からN文字を取り出す</td><td><a href="https://mashukabu.com/excel-function-howto-use-mid/">MID</a></td><td><code>=MID(A1,2,3)</code></td></tr><tr><td>特定の文字の位置を調べる</td><td>FIND / SEARCH</td><td><code>=FIND("@",A1)</code></td></tr><tr><td>文字数を数える</td><td><a href="https://mashukabu.com/excel-function-howto-use-len/">LEN</a></td><td><code>=LEN(A1)</code></td></tr><tr><td>文字列をそのまま結合する</td><td><a href="https://mashukabu.com/excel-function-howto-use-concat/">CONCAT</a> / &#038;</td><td><code>=A1&B1</code></td></tr><tr><td>区切り文字を入れて結合する</td><td><a href="https://mashukabu.com/excel-function-howto-use-textjoin/">TEXTJOIN</a></td><td><code>=TEXTJOIN(",",TRUE,A1:C1)</code></td></tr><tr><td>区切り文字で列に分割する</td><td><a href="https://mashukabu.com/excel-function-howto-use-textsplit/">TEXTSPLIT</a></td><td><code>=TEXTSPLIT(A1,",")</code></td></tr><tr><td>区切り文字の前だけ取り出す</td><td><a href="https://mashukabu.com/excel-function-howto-use-textbefore/">TEXTBEFORE</a></td><td><code>=TEXTBEFORE(A1,"@")</code></td></tr><tr><td>区切り文字の後だけ取り出す</td><td><a href="https://mashukabu.com/excel-function-howto-use-textafter/">TEXTAFTER</a></td><td><code>=TEXTAFTER(A1,"@")</code></td></tr><tr><td>特定の文字列を別の文字列に置き換える</td><td><a href="https://mashukabu.com/excel-function-howto-use-substitute/">SUBSTITUTE</a></td><td><code>=SUBSTITUTE(A1,"-","")</code></td></tr><tr><td>位置を指定して文字列を置き換える</td><td>REPLACE</td><td><code>=REPLACE(A1,1,3,"新")</code></td></tr><tr><td>余分なスペースを除去する</td><td><a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM</a></td><td><code>=TRIM(A1)</code></td></tr><tr><td>大文字に変換する</td><td><a href="https://mashukabu.com/excel-function-howto-use-upper/">UPPER</a></td><td><code>=UPPER(A1)</code></td></tr><tr><td>小文字に変換する</td><td><a href="https://mashukabu.com/excel-function-howto-use-lower/">LOWER</a></td><td><code>=LOWER(A1)</code></td></tr><tr><td>先頭だけ大文字にする</td><td><a href="https://mashukabu.com/excel-function-howto-use-proper/">PROPER</a></td><td><code>=PROPER(A1)</code></td></tr><tr><td>全角を半角に変換する</td><td><a href="https://mashukabu.com/excel-function-howto-use-asc/">ASC</a></td><td><code>=ASC(A1)</code></td></tr><tr><td>数値を指定の表示形式に変換する</td><td><a href="https://mashukabu.com/excel-function-howto-use-text/">TEXT</a></td><td><code>=TEXT(A1,"#,##0")</code></td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>このインデックスをブックマークしておくと便利です。「どの関数だっけ？」と迷ったときにすぐ確認できます。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc2">文字列を「抽出」する関数の使い方</span></h2>



<p class="wp-block-paragraph">文字列の一部だけを取り出すには、LEFT・RIGHT・MID・FIND（SEARCH）を組み合わせます。</p>



<h3 class="wp-block-heading"><span id="toc3">LEFT関数 + FIND関数で姓だけ取り出す</span></h3>



<p class="wp-block-paragraph">氏名リストから姓だけを取り出すケースです。「山田 太郎」のようにスペースで区切られた氏名を想定します。</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> する（例: 2）</li><li><code>LEFT(A1,2)</code> で左端から2文字を取り出す（例: 山田）</li></ol>



<p class="wp-block-paragraph">LEFT関数は「左端から何文字」と決まっている場合にそのまま使えます。たとえば左端から3文字なら次のように書きます。</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>FIND関数は大文字と小文字を区別します。区別せずに検索したい場合は、代わりにSEARCH関数を使ってください。SEARCH関数はワイルドカード（<code>*</code> や <code>?</code>）にも対応しています。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc4">RIGHT関数 + LEN関数で名だけ取り出す</span></h3>



<p class="wp-block-paragraph">今度は名前の方を取り出してみましょう。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><code>LEN(A1)</code> で全体の文字数を取得（例: 5）</li><li><code>FIND(" ",A1)</code> でスペースの位置を取得（例: 3）</li><li>全体の文字数からスペースの位置を引く（例: 5-3=2）</li><li><code>RIGHT(A1,2)</code> で右端から2文字を取り出す（例: 太郎）</li></ol>



<h3 class="wp-block-heading"><span id="toc5">MID関数で途中の文字列を取り出す</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-mid/">MID関数</a>は「何文字目から何文字」を指定して取り出せます。</p>



<p class="wp-block-paragraph"><strong>5文字目から4文字を取り出す場合:</strong></p>



<pre class="wp-block-code"><code>=MID(A1,5,4)</code></pre>



<p class="wp-block-paragraph">たとえば社員番号「DEPT-1234-A」から数字部分だけを取り出す場合です。6文字目から4文字で「1234」が得られます。</p>



<pre class="wp-block-code"><code>=MID(A1,6,4)</code></pre>



<p class="wp-block-paragraph">MID関数は開始位置と文字数が固定の場合に便利です。位置が可変の場合はFIND関数と組み合わせます。</p>



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



<p class="wp-block-paragraph">どちらも「特定の文字が何文字目にあるか」を返す関数です。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>FIND</th><th>SEARCH</th></tr></thead><tbody><tr><td>大文字・小文字</td><td>区別する</td><td>区別しない</td></tr><tr><td>ワイルドカード</td><td>使えない</td><td><code>*</code> <code>?</code> が使える</td></tr><tr><td>用途</td><td>完全一致で位置を調べる</td><td>あいまい検索で位置を調べる</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">実務では「スペースの位置を調べる」「@の位置を調べる」のような用途が多いため、FIND関数で十分な場面がほとんどです。</p>



<h3 class="wp-block-heading"><span id="toc7">M365ならTEXTBEFORE・TEXTAFTERが便利</span></h3>



<p class="wp-block-paragraph">Microsoft 365をお使いなら、LEFT+FINDの組み合わせを1つの関数で置き換えられます。</p>



<p class="wp-block-paragraph"><strong>スペースの前（姓）を取り出す場合:</strong></p>



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



<p class="wp-block-paragraph"><strong>スペースの後（名）を取り出す場合:</strong></p>



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



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-textbefore/">TEXTBEFORE関数</a>と<a href="https://mashukabu.com/excel-function-howto-use-textafter/">TEXTAFTER関数</a>は区切り文字を指定するだけでOKです。LEFT+FIND+LENの複雑な計算が不要になります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>TEXTBEFORE・TEXTAFTER・TEXTSPLITはMicrosoft 365専用の関数です。Excel 2021以前では使用できません。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc8">文字列を「結合」する関数の使い方</span></h2>



<p class="wp-block-paragraph">複数のセルの値をひとつにまとめるには、&#038;演算子・CONCAT・TEXTJOIN・CONCATENATEを使います。</p>



<h3 class="wp-block-heading"><span id="toc9">&#038;演算子でシンプルに結合する</span></h3>



<p class="wp-block-paragraph">もっとも基本的な結合方法です。</p>



<p class="wp-block-paragraph"><strong>姓と名をスペース区切りで結合する場合:</strong></p>



<pre class="wp-block-code"><code>=A1&amp;&quot; &quot;&amp;B1</code></pre>



<p class="wp-block-paragraph">セルの数が少ない（2~3個）場合は&#038;演算子がわかりやすいです。ハイフン区切りで3つ結合するならこう書きます。</p>



<pre class="wp-block-code"><code>=A1&amp;&quot;-&quot;&amp;B1&amp;&quot;-&quot;&amp;C1</code></pre>



<h3 class="wp-block-heading"><span id="toc10">CONCAT関数でセル範囲を一括結合する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-concat/">CONCAT関数</a>はセル範囲をまるごと結合できます。</p>



<p class="wp-block-paragraph"><strong>A1からD1まで一括結合する場合:</strong></p>



<pre class="wp-block-code"><code>=CONCAT(A1:D1)</code></pre>



<p class="wp-block-paragraph">&#038;演算子と違い、範囲指定ができるのがメリットです。ただし区切り文字を自動で入れる機能はありません。</p>



<h3 class="wp-block-heading"><span id="toc11">TEXTJOIN関数で区切り文字付きの結合をする</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-textjoin/">TEXTJOIN関数</a>は区切り文字を指定して結合できます。</p>



<pre class="wp-block-code"><code>=TEXTJOIN(&quot;,&quot;,TRUE,A1:D1)</code></pre>



<p class="wp-block-paragraph">各引数の意味はこちらです。</p>



<ul class="wp-block-list"><li>第1引数: 区切り文字（カンマ、スペース、ハイフンなど）</li><li>第2引数: 空セルを無視するか（TRUE = 無視する）</li><li>第3引数: 結合するセル範囲</li></ul>



<p class="wp-block-paragraph">空セルを無視してくれるのが大きなポイントです。たとえばA1~D1のうちC1が空白でも、余計な区切り文字が入りません。</p>



<p class="wp-block-paragraph">A1=東京, B1=大阪, C1=(空白), D1=福岡 の場合で比べてみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th></tr></thead><tbody><tr><td><code>=TEXTJOIN(",",TRUE,A1:D1)</code></td><td>東京,大阪,福岡</td></tr><tr><td><code>=TEXTJOIN(",",FALSE,A1:D1)</code></td><td>東京,大阪,,福岡</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">TRUEにすると空セルのC1が飛ばされ、余計なカンマが入りません。</p>



<h3 class="wp-block-heading"><span id="toc12">結合関数の選び方</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>&#038;</th><th><a href="https://mashukabu.com/excel-function-howto-use-concat/">CONCAT</a></th><th><a href="https://mashukabu.com/excel-function-howto-use-concatenate/">CONCATENATE</a></th><th><a href="https://mashukabu.com/excel-function-howto-use-textjoin/">TEXTJOIN</a></th></tr></thead><tbody><tr><td>範囲指定</td><td>不可</td><td>可能</td><td>不可</td><td>可能</td></tr><tr><td>区切り文字</td><td>手動で挿入</td><td>なし</td><td>なし</td><td>自動挿入</td></tr><tr><td>空セル無視</td><td>不可</td><td>不可</td><td>不可</td><td>可能</td></tr><tr><td>対応バージョン</td><td>全バージョン</td><td>Excel 2019以降</td><td>全バージョン</td><td>Excel 2019以降</td></tr><tr><td>おすすめ度</td><td>2~3個の結合</td><td>範囲一括</td><td>旧環境向け</td><td>区切り文字付き結合</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>CONCATENATEは互換性のために残されている旧関数です。新しい環境ではCONCAT関数を使ってください。詳しくは「<a href="https://mashukabu.com/excel-function-howto-use-concat/">CONCAT関数の使い方</a>」で解説しています。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc13">文字列を「分割」する関数の使い方</span></h2>



<p class="wp-block-paragraph">1つのセルに入っている文字列を複数のセルに分けたい場面は多いです。TEXTSPLIT関数やLEFT+FIND関数の組み合わせで対応できます。</p>



<h3 class="wp-block-heading"><span id="toc14">TEXTSPLIT関数でカンマ区切りデータを列に分ける</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-textsplit/">TEXTSPLIT関数</a>はM365で追加された強力な関数です。</p>



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



<p class="wp-block-paragraph">カンマ区切りの「東京,大阪,名古屋,福岡」を入力すると、4つのセルに自動で分割されます。スピル機能で横方向に展開されるので、数式は1つだけでOKです。</p>



<p class="wp-block-paragraph">行方向に分割したい場合は、第3引数を使います。</p>



<p class="wp-block-paragraph"><strong>第3引数に区切り文字を指定すると行方向に分割されます。</strong></p>



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



<p class="wp-block-paragraph">複数の区切り文字を同時に指定することも可能です。カンマとセミコロンの両方で分割する場合はこう書きます。</p>



<pre class="wp-block-code"><code>=TEXTSPLIT(A1,{&quot;,&quot;,&quot;;&quot;})</code></pre>



<h3 class="wp-block-heading"><span id="toc15">TEXTSPLIT が使えない環境での分割テクニック</span></h3>



<p class="wp-block-paragraph">Excel 2021以前ではTEXTSPLIT関数が使えません。その場合はLEFT+FIND+MID+LENを組み合わせます。</p>



<p class="wp-block-paragraph"><strong>1つ目の要素（カンマの前）を取り出す場合:</strong></p>



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



<p class="wp-block-paragraph"><strong>2つ目の要素（1つ目のカンマ～2つ目のカンマの間）を取り出す場合:</strong></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">ちょっと複雑に見えますが、やっていることはシンプルです。</p>



<ol class="wp-block-list"><li>1つ目のカンマの位置を調べる</li><li>2つ目のカンマの位置を調べる（FINDの第3引数で開始位置を指定）</li><li>2つの位置の間の文字列をMIDで取り出す</li></ol>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>要素数が多い場合は数式が非常に複雑になります。M365環境であればTEXTSPLIT関数の利用を強くおすすめします。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc16">「区切り位置」機能との比較</span></h3>



<p class="wp-block-paragraph">Excelには関数以外にも「区切り位置」というメニュー機能があります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>TEXTSPLIT関数</th><th>区切り位置（メニュー）</th></tr></thead><tbody><tr><td>操作方法</td><td>数式を入力</td><td>データ > 区切り位置</td></tr><tr><td>元データ</td><td>保持される</td><td>上書きされる</td></tr><tr><td>自動更新</td><td>元データが変わると自動反映</td><td>手動で再実行が必要</td></tr><tr><td>対応バージョン</td><td>Microsoft 365</td><td>全バージョン</td></tr><tr><td>大量データ</td><td>数式1つで対応可</td><td>毎回手動操作</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">元データを残しつつ自動更新したい場合はTEXTSPLIT関数が圧倒的に便利です。一度きりの変換なら区切り位置機能でも十分対応できます。</p>



<h2 class="wp-block-heading"><span id="toc17">文字列を「置換・整形」する関数の使い方</span></h2>



<p class="wp-block-paragraph">文字列を別の文字列に置き換えたり、余分なスペースを取り除く場面で活躍します。SUBSTITUTE・REPLACE・TRIM関数が代表的です。</p>



<h3 class="wp-block-heading"><span id="toc18">SUBSTITUTE関数で特定の文字列を置き換える</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-substitute/">SUBSTITUTE関数</a>は「この文字列をこの文字列に変える」という置換に使います。</p>



<p class="wp-block-paragraph"><strong>住所から「東京都」を除く場合:</strong></p>



<pre class="wp-block-code"><code>=SUBSTITUTE(A1,&quot;東京都&quot;,&quot;&quot;)</code></pre>



<p class="wp-block-paragraph"><strong>電話番号のハイフンを除去する場合:</strong></p>



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



<p class="wp-block-paragraph">第4引数を指定すると、何番目の出現だけを置換できます。</p>



<p class="wp-block-paragraph"><strong>1番目のハイフンだけをスラッシュに変換する場合:</strong></p>



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



<h3 class="wp-block-heading"><span id="toc19">REPLACE関数で位置を指定して置き換える</span></h3>



<p class="wp-block-paragraph">REPLACE関数は「何文字目から何文字」を指定して置き換えます。</p>



<p class="wp-block-paragraph"><strong>1文字目から3文字を「ABC」に置換する場合:</strong></p>



<pre class="wp-block-code"><code>=REPLACE(A1,1,3,&quot;ABC&quot;)</code></pre>



<p class="wp-block-paragraph">SUBSTITUTEとREPLACEの使い分けはこちらです。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th><a href="https://mashukabu.com/excel-function-howto-use-substitute/">SUBSTITUTE</a></th><th>REPLACE</th></tr></thead><tbody><tr><td>指定方法</td><td>置き換える文字列</td><td>位置と文字数</td></tr><tr><td>用途</td><td>「この文字を消したい」</td><td>「何文字目を変えたい」</td></tr><tr><td>全出現の置換</td><td>可能（第4引数で制御）</td><td>1箇所のみ</td></tr><tr><td>文字列が不明な場合</td><td>使えない</td><td>位置さえわかればOK</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">実務では「ハイフンを消す」「都道府県を除く」のようにSUBSTITUTE関数を使う場面が多いです。</p>



<h3 class="wp-block-heading"><span id="toc20">TRIM関数でスペースを整える</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM関数</a>は文字列の前後のスペースを除去し、単語間のスペースを1つに統一します。</p>



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



<p class="wp-block-paragraph">たとえば「  山田  太郎  」が「山田 太郎」になります。データのコピー&#038;ペーストで余分なスペースが入ってしまったときに重宝します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>TRIM関数は半角スペースのみ対応です。全角スペースを除去したい場合は <code>=SUBSTITUTE(A1,"　","")</code> で全角スペースを空文字に置換してからTRIMを適用してください。詳しくは「<a href="https://mashukabu.com/about-nbsp/">ノーブレークスペースの対処法</a>」も参考になります。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc21">大文字・小文字・全角・半角の変換</span></h3>



<p class="wp-block-paragraph">文字の変換系関数をまとめて紹介します。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>変換内容</th><th>数式の例</th><th>結果</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-upper/">UPPER</a></td><td>全部大文字</td><td><code>=UPPER("abc")</code></td><td>ABC</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-lower/">LOWER</a></td><td>全部小文字</td><td><code>=LOWER("ABC")</code></td><td>abc</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-proper/">PROPER</a></td><td>先頭だけ大文字</td><td><code>=PROPER("john smith")</code></td><td>John Smith</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-asc/">ASC</a></td><td>全角→半角</td><td><code>=ASC("ＡＢＣ")</code></td><td>ABC</td></tr><tr><td>JIS</td><td>半角→全角</td><td><code>=JIS("ABC")</code></td><td>ABC</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">商品コードや顧客名の表記を統一するときに使います。<a href="https://mashukabu.com/excel-function-howto-use-exact/">EXACT関数</a>で大文字小文字の一致を確認してから変換するのも効果的です。</p>



<h2 class="wp-block-heading"><span id="toc22">新旧関数の対比表で文字列関数を整理</span></h2>



<p class="wp-block-paragraph">ここまで紹介した関数の中には、新旧の関係にあるものがあります。環境に合わせて選んでください。</p>



<figure class="wp-block-table"><table><thead><tr><th>やりたいこと</th><th>旧関数・旧手法</th><th>新関数（M365）</th><th>新関数のメリット</th></tr></thead><tbody><tr><td>文字列の結合</td><td><a href="https://mashukabu.com/excel-function-howto-use-concatenate/">CONCATENATE</a></td><td><a href="https://mashukabu.com/excel-function-howto-use-concat/">CONCAT</a></td><td>セル範囲を指定可能</td></tr><tr><td>区切り文字付き結合</td><td>&#038;で手動挿入</td><td><a href="https://mashukabu.com/excel-function-howto-use-textjoin/">TEXTJOIN</a></td><td>空セル無視が可能</td></tr><tr><td>区切り文字で分割</td><td>区切り位置（メニュー）</td><td><a href="https://mashukabu.com/excel-function-howto-use-textsplit/">TEXTSPLIT</a></td><td>数式で自動更新</td></tr><tr><td>区切り文字の前を取得</td><td>LEFT + FIND</td><td><a href="https://mashukabu.com/excel-function-howto-use-textbefore/">TEXTBEFORE</a></td><td>数式がシンプル</td></tr><tr><td>区切り文字の後を取得</td><td>RIGHT + LEN + FIND</td><td><a href="https://mashukabu.com/excel-function-howto-use-textafter/">TEXTAFTER</a></td><td>数式がシンプル</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>新関数が使えるかわからない場合は、セルに <code>=TEXTSPLIT("a,b",",")</code> と入力して試してみてください。<code>#NAME?</code> エラーが出たらお使いのExcelでは未対応です。</p></blockquote>



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



<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><code>#VALUE!</code></td><td>FIND/SEARCHで検索文字が見つからない</td><td><a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>やISERRORで「見つからない場合」の処理を追加する</td></tr><tr><td><code>#NAME?</code></td><td>関数名のスペルミス、または未対応バージョン</td><td>関数名を確認する。TEXTSPLIT等はM365専用</td></tr><tr><td>意図しない結合結果</td><td>数値がそのまま結合されて桁が変わる</td><td><a href="https://mashukabu.com/excel-function-howto-use-text/">TEXT関数</a>で書式指定してから結合する</td></tr><tr><td>スペースが残る</td><td>全角スペースがTRIMで除去できない</td><td><code>=SUBSTITUTE(A1,"　","")</code> で全角スペースを先に除去</td></tr><tr><td>分割結果がずれる</td><td>区切り文字が想定と違う（全角カンマなど）</td><td><a href="https://mashukabu.com/excel-function-howto-use-len/">LEN関数</a>で文字数を確認し、区切り文字を特定する</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">Excelの文字列関数を4つのカテゴリで整理しました。</p>



<figure class="wp-block-table"><table><thead><tr><th>カテゴリ</th><th>主な関数</th><th>代表的な使い方</th></tr></thead><tbody><tr><td>抽出</td><td>LEFT, RIGHT, <a href="https://mashukabu.com/excel-function-howto-use-mid/">MID</a>, FIND</td><td>氏名から姓・名を取り出す</td></tr><tr><td>結合</td><td><a href="https://mashukabu.com/excel-function-howto-use-concat/">CONCAT</a>, <a href="https://mashukabu.com/excel-function-howto-use-textjoin/">TEXTJOIN</a>, &#038;</td><td>名前と部署を結合する</td></tr><tr><td>分割</td><td><a href="https://mashukabu.com/excel-function-howto-use-textsplit/">TEXTSPLIT</a>, LEFT+FIND</td><td>カンマ区切りデータを列に分ける</td></tr><tr><td>置換・整形</td><td><a href="https://mashukabu.com/excel-function-howto-use-substitute/">SUBSTITUTE</a>, <a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM</a></td><td>住所から都道府県を除く</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">迷ったら冒頭の逆引きインデックスに戻ってみてください。「やりたいこと」から関数を選ぶのが一番確実です。</p>



<p class="wp-block-paragraph">M365環境であれば、TEXTSPLIT・TEXTBEFORE・TEXTAFTERといった新関数もぜひ試してみてください。数式がぐっとシンプルになりますよ。</p>



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



<h4 class="wp-block-heading">抽出系</h4>



<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-midb/">MIDB関数の使い方</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-textbefore/">TEXTBEFORE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-textafter/">TEXTAFTER関数の使い方</a></li></ul>



<h4 class="wp-block-heading">結合系</h4>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-concat/">CONCAT関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-concatenate/">CONCATENATE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-textjoin/">TEXTJOIN関数の使い方</a></li></ul>



<h4 class="wp-block-heading">分割系</h4>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-textsplit/">TEXTSPLIT関数の使い方</a></li></ul>



<h4 class="wp-block-heading">置換・整形系</h4>



<ul class="wp-block-list"><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-text/">TEXT関数の使い方</a></li></ul>



<h4 class="wp-block-heading">変換系</h4>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-upper/">UPPER関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-lower/">LOWER関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-proper/">PROPER関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-asc/">ASC関数の使い方</a></li></ul>



<h4 class="wp-block-heading">その他</h4>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-exact/">EXACT関数の使い方</a></li><li><a href="https://mashukabu.com/about-nbsp/">ノーブレークスペースの対処法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-rept/">REPT関数の使い方</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-vlookup/">VLOOKUP関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-string-functions-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
