<?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>LENB &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/lenb/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.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>LENB &#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>スプレッドシートのLEFTB関数の使い方｜左からバイト数で文字取得</title>
		<link>https://mashukabu.com/spreadsheet-leftb-function/</link>
					<comments>https://mashukabu.com/spreadsheet-leftb-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 19 Apr 2026 14:11:19 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[LEFT]]></category>
		<category><![CDATA[LEFTB]]></category>
		<category><![CDATA[LENB]]></category>
		<category><![CDATA[バイト]]></category>
		<category><![CDATA[文字列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6077</guid>

					<description><![CDATA[スプレッドシートのLEFTB関数の使い方を実例付きで解説します。文字列の先頭から指定したバイト数ぶんを取り出す関数で、全角2バイト・半角1バイトでカウントします。基本構文、LEFT関数との違い、システム連携や文字数制限対応で使う実務パターン、よくあるエラー対処まで丁寧にまとめました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートで取引先コードや商品名を扱っていると、「全角半角まじりの文字列から先頭の◯バイトだけ取り出したい」という場面、ありませんか。基幹システムに流し込むCSVで、項目ごとのバイト数制限に引っかかって弾かれた経験がある人も多いと思います。</p>



<p class="wp-block-paragraph">LEFT関数だと「文字数」で切るので、全角が混ざると想定バイト数を超えてしまうんですよね。そんなときにピッタリ使えるのが、スプレッドシートのLEFTB関数です。全角2バイト・半角1バイトでカウントしながら、左から必要なバイト数ぶんだけサクッと取り出せますよ。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのLEFTB関数の構文から、LEFT関数との違い、実務でよく使うシステム連携や文字数制限対応のパターンまで紹介します。LENBと組み合わせた「超過チェック」のテンプレートも置いておきますね。</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">スプレッドシートのLEFTB関数とは？</a><ol><li><a href="#toc2" tabindex="0">関数の基本構文と引数</a></li><li><a href="#toc3" tabindex="0">LEFT関数との違い（文字数 vs バイト数）</a></li></ol></li><li><a href="#toc4" tabindex="0">LEFTB関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">全角・半角が混在する文字列での挙動</a></li><li><a href="#toc6" tabindex="0">引数「バイト数」の省略時の挙動</a></li></ol></li><li><a href="#toc7" tabindex="0">実務で使えるLEFTB関数の活用パターン</a><ol><li><a href="#toc8" tabindex="0">バイト数制限のあるシステム連携（基幹システム向けCSV）</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">LEFTBとLENBを組み合わせたバイト数チェック</a><ol><li><a href="#toc12" tabindex="0">文字列の超過検出テンプレート</a></li><li><a href="#toc13" tabindex="0">コピペで使えるセット数式</a></li></ol></li><li><a href="#toc14" tabindex="0">LEFT系・RIGHT系関数との使い分け</a><ol><li><a href="#toc15" tabindex="0">LEFT・LEFTB・RIGHT・RIGHTB・MID・MIDBの比較</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">&#8220;#VALUE!&#8221; エラー</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">スプレッドシートのLEFTB関数とは？</span></h2>



<p class="wp-block-paragraph">スプレッドシートのLEFTB関数は、文字列の先頭から指定したバイト数ぶんの文字を取り出す文字列関数です。読み方は「レフト・ビー」で、LEFT（左）と Byte（バイト）を組み合わせた名前ですよ。</p>



<p class="wp-block-paragraph">全角文字は2バイト、半角文字は1バイトとしてカウントします。日本語と英数字が入り混じる商品名や住所などを、バイト単位で制限のあるシステムに合わせて整えたいときに便利ですよ。</p>



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



<p class="wp-block-paragraph">基本構文はシンプルで、引数は2つだけです。</p>



<pre class="wp-block-code"><code>=LEFTB(文字列, [バイト数])</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><tr><td>バイト数</td><td>取り出すバイト数（0以上の整数）</td><td>省略時は1（先頭1バイト）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">バイト数に小数を指定した場合は、整数部分に切り捨てられます。負の数を入れると <code>#VALUE!</code> エラーになるので、気をつけてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc3">LEFT関数との違い（文字数 vs バイト数）</span></h3>



<p class="wp-block-paragraph">LEFT関数とLEFTB関数は、切り出す単位が違います。ここを押さえておくと、使い分けで迷いません。</p>



<ul class="wp-block-list"><li><strong>LEFT</strong>: 先頭から「文字数」ぶんを取り出す。全角・半角を区別しない</li><li><strong>LEFTB</strong>: 先頭から「バイト数」ぶんを取り出す。全角=2バイト、半角=1バイトで計算</li></ul>



<p class="wp-block-paragraph">たとえば「商品A-100」という文字列で、左から4つ取り出したい場合はこうなります。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>解説</th></tr></thead><tbody><tr><td><code>=LEFT("商品A-100", 4)</code></td><td>商品A-</td><td>先頭から4文字（全角半角を問わず）</td></tr><tr><td><code>=LEFTB("商品A-100", 4)</code></td><td>商品A</td><td>先頭から4バイト（全角2+全角2=4バイト）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「システムの項目が10バイトまで」のような制約があるときは、LEFTBの出番ですよ。</p>



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



<p class="wp-block-paragraph">それでは実際に使ってみましょう。バイト数のカウント方法を意識すると、結果がイメージしやすくなります。</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></tr></thead><tbody><tr><td><code>=LEFTB("あいうえお", 4)</code></td><td>あい</td><td>全角2文字=4バイト</td></tr><tr><td><code>=LEFTB("ABCDE", 3)</code></td><td>ABC</td><td>半角3文字=3バイト</td></tr><tr><td><code>=LEFTB("Excel関数", 6)</code></td><td>Excel関</td><td>半角5+全角1=6バイト（※後述の注意点あり）</td></tr><tr><td><code>=LEFTB("商品コード", 5)</code></td><td>商品</td><td>全角2文字=4バイト（5バイト目は全角の途中になるため切り捨て）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">注目してほしいのは最後の行です。バイト数が全角文字の途中で切れる場合、スプレッドシートでは<strong>そのバイトは切り捨てられます</strong>。文字が半分になって文字化けする、といった心配は不要ですよ。</p>



<h3 class="wp-block-heading"><span id="toc6">引数「バイト数」の省略時の挙動</span></h3>



<p class="wp-block-paragraph">バイト数を省略すると、1バイトだけ取り出されます。</p>



<pre class="wp-block-code"><code>=LEFTB(&quot;あいうえお&quot;)   → （空文字または先頭1バイト分の扱い）
=LEFTB(&quot;ABCDE&quot;)        → A</code></pre>



<p class="wp-block-paragraph">全角始まりの文字列でバイト数を省略すると、1バイトだけだと全角文字の半分にあたるため、結果は空になります。省略は半角始まりのときしか実用的ではないので、基本は明示的に指定するのがおすすめですよ。</p>



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



<p class="wp-block-paragraph">LEFTB関数が本領を発揮するのは、システム連携や文字数制限対応の場面です。よく出てくる3パターンを紹介しますね。</p>



<h3 class="wp-block-heading"><span id="toc8">バイト数制限のあるシステム連携（基幹システム向けCSV）</span></h3>



<p class="wp-block-paragraph">会計システムや販売管理システムでは、「摘要欄は半角20バイトまで」「商品名は40バイトまで」といった制限があるのが定番です。こういうときにLEFTB関数で切り揃えておくと、取り込みエラーを防げます。</p>



<pre class="wp-block-code"><code>=LEFTB(A2, 40)</code></pre>



<p class="wp-block-paragraph">A列に商品名、40バイトが上限、という想定です。これだけで「全角20文字 or 半角40文字 or その混在」にすべて対応できるので、列挿入1本でCSV出力前の整形ができますよ。</p>



<h3 class="wp-block-heading"><span id="toc9">固定長ファイルのフィールド切り出し</span></h3>



<p class="wp-block-paragraph">古い基幹システムからダウンロードしたテキストで、「先頭8バイトが顧客コード、次の20バイトが氏名…」のような固定長レイアウトを扱うこともありますよね。LEFTBとMIDB（任意位置からバイト単位で切り出す関数）を組み合わせると、きれいに分解できますよ。</p>



<pre class="wp-block-code"><code>顧客コード:  =LEFTB(A2, 8)
氏名:        =MIDB(A2, 9, 20)</code></pre>



<p class="wp-block-paragraph">LEFT/MIDだと全角が混ざったときにズレますが、LEFTB/MIDBならレイアウト定義書どおりにサクッと取り出せます。</p>



<h3 class="wp-block-heading"><span id="toc10">全角混在文字列の頭出しプレビュー</span></h3>



<p class="wp-block-paragraph">Webサイトの記事タイトルや商品説明の先頭を、一覧画面用に短く表示したい場面でも使えます。画面の横幅に合わせてバイト数指定したいケースで便利ですよ。</p>



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



<p class="wp-block-paragraph">LENB（文字列全体のバイト数を返す関数）を組み合わせて、30バイトを超える場合だけ「…」を付ける工夫を入れています。30バイトは全角15文字相当なので、一覧表示にちょうどいい長さですよ。</p>



<h2 class="wp-block-heading"><span id="toc11">LEFTBとLENBを組み合わせたバイト数チェック</span></h2>



<p class="wp-block-paragraph">バイト数制限のある項目を複数扱うときは、「その行がルールに違反していないか」を先にチェックしておくと安心です。LEFTBとLENBを組み合わせると、超過検出とトリミングを同時にこなせますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">文字列の超過検出テンプレート</span></h3>



<p class="wp-block-paragraph">A列に文字列、B列に上限バイト数を入れている想定です。C列に「OK/超過」を出しましょう。</p>



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



<p class="wp-block-paragraph">さらに、超過していたらLEFTBでトリミング結果を出す、という流れまでやりたい場合はこちら。</p>



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



<p class="wp-block-paragraph">超過行だけ自動で切り揃えて、セーフな行はそのまま残します。件数が多いシートでも、目視チェックせずに一括整形できるので作業がぐっと楽になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc13">コピペで使えるセット数式</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">データ整形用のワークシートに丸ごと貼り付けて、A列と上限値を差し替えるだけで使えます。列挿入で4列ぶんの情報が一度に揃うので、品質確認の時短につながりますよ。</p>



<h2 class="wp-block-heading"><span id="toc14">LEFT系・RIGHT系関数との使い分け</span></h2>



<p class="wp-block-paragraph">スプレッドシートには似た名前の文字列関数がいくつもあります。ここで全体像を整理しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc15">LEFT・LEFTB・RIGHT・RIGHTB・MID・MIDBの比較</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>商品コードの頭3桁抽出</td></tr><tr><td>LEFTB</td><td>左から</td><td>バイト数</td><td>基幹システム用の項目整形</td></tr><tr><td>RIGHT</td><td>右から</td><td>文字数</td><td>ファイル拡張子の抽出</td></tr><tr><td>RIGHTB</td><td>右から</td><td>バイト数</td><td>末尾の固定長フィールド切り出し</td></tr><tr><td>MID</td><td>任意位置から</td><td>文字数</td><td>郵便番号の後半3桁抽出</td></tr><tr><td>MIDB</td><td>任意位置から</td><td>バイト数</td><td>固定長ファイルの中間フィールド</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ExcelのLEFTB関数との挙動比較をしたいときは、<a href="https://mashukabu.com/excel-leftb-function/">ExcelのLEFTB関数の使い方</a>も参考になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc16">バイト系関数を使うべき判断ポイント</span></h3>



<p class="wp-block-paragraph">バイト系関数（LEFTB/RIGHTB/MIDB/LENB）を選ぶ基準は、次の3点で判断できます。</p>



<ul class="wp-block-list"><li>出力先のシステムがバイト単位で桁数を指定している</li><li>全角半角が混在するデータを扱っている</li><li>固定長フォーマットのファイルを読み書きする必要がある</li></ul>



<p class="wp-block-paragraph">逆に、社内の集計シートやダッシュボードのように「文字数で区切れれば十分」という場面は、LEFT系のほうがシンプルで読みやすいですよ。</p>



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



<p class="wp-block-paragraph">LEFTB関数でハマりやすいポイントを3つまとめました。エラーの原因と対策をセットで覚えておくと、現場で詰まりにくくなりますよ。</p>



<h3 class="wp-block-heading"><span id="toc18">&#8220;#VALUE!&#8221; エラー</span></h3>



<p class="wp-block-paragraph">バイト数に負の数を指定したときに出ます。たとえば <code>=LEFTB("ABCDE", -1)</code> のようなケースですね。COUNT の結果をそのまま使っていたらマイナスになっていた、というミスがよくあります。MAX関数で下限を 0 に固定するのがおすすめです。</p>



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



<p class="wp-block-paragraph">これで、B2がマイナスになっても安全に 0 として扱えますよ。</p>



<h3 class="wp-block-heading"><span id="toc19">想定より短い結果が返る</span></h3>



<p class="wp-block-paragraph">「10バイトのつもりで指定したのに9文字しか返ってこない」というときは、<strong>全角の途中で切れている</strong>ケースが多いです。先ほど解説したとおり、全角の途中にバイト境界が来ると、そのバイトぶんは切り捨てられます。</p>



<p class="wp-block-paragraph">制限いっぱいまで詰めたい場合は、LENB（対象文字列の総バイト数を返す関数）と組み合わせて、切り捨てが発生していないかを確認しておきましょう。</p>



<pre class="wp-block-code"><code>=LENB(LEFTB(A2, 10))   → 9 なら、10バイト目が全角の途中だった</code></pre>



<h3 class="wp-block-heading"><span id="toc20">結果が空になる</span></h3>



<p class="wp-block-paragraph"><code>=LEFTB("あいうえお", 1)</code> のように、先頭が全角で1バイトだけ指定すると、結果が空（空文字）になります。「数式は合っているのに何も返ってこない」ときは、バイト数が全角1文字分（2バイト）に満たないかを確認してみてくださいね。</p>



<p class="wp-block-paragraph">最低でも 2 以上を指定するか、<code>=IF(LENB(A2)>=2, LEFTB(A2, 2), A2)</code> のようにIFで判定すると安心です。</p>



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



<p class="wp-block-paragraph">スプレッドシートのLEFTB関数は、バイト数を基準に文字列の先頭を取り出せる、システム連携や文字数制限対応にピッタリの関数です。最後に要点を整理しておきましょう。</p>



<ul class="wp-block-list"><li>構文は <code>=LEFTB(文字列, [バイト数])</code> の2引数。バイト数省略時は1バイト</li><li>全角=2バイト、半角=1バイトとしてカウントする</li><li>全角文字の途中でバイトが切れる場合、そのバイトは切り捨てられる</li><li>LEFTは文字数、LEFTBはバイト数。基幹システム連携や固定長ファイルはLEFTB一択</li><li>LENBと組み合わせると、超過チェックと自動トリミングが同時にこなせる</li><li>#VALUE! は負のバイト数指定、結果が空になるのは全角始まりでバイト数が足りないパターン</li></ul>



<p class="wp-block-paragraph">まずは手元の商品名リストや顧客データを、<code>=LEFTB(A2, 40)</code> のような形で整形してみてください。基幹システム取込のエラーが減るだけで、月末作業の負担がぐっと軽くなりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-leftb-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのMIDB関数の使い方｜中間のバイト取得</title>
		<link>https://mashukabu.com/spreadsheet-midb-function/</link>
					<comments>https://mashukabu.com/spreadsheet-midb-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 19 Apr 2026 14:11:10 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[LENB]]></category>
		<category><![CDATA[MID]]></category>
		<category><![CDATA[MIDB]]></category>
		<category><![CDATA[バイト]]></category>
		<category><![CDATA[文字列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6071</guid>

					<description><![CDATA[スプレッドシートのMIDB関数の使い方を実例付きで解説します。文字列の指定バイト位置から指定バイト数ぶんを取り出す関数で、全角2バイト・半角1バイトでカウントします。基本構文、MID関数との違い、固定長ファイルの中間フィールド抽出など実務パターン、よくあるエラー対処まで丁寧にまとめました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートで基幹システムの固定長データを扱っていると、「文字列の途中の◯バイト目から◯バイトだけ取り出したい」という場面、ありませんか。CSVじゃなくて全角半角混在の固定長テキストで、真ん中あたりの氏名フィールドを抜き出す、なんてケースもよくありますよね。</p>



<p class="wp-block-paragraph">MID関数だと「文字数」で切るので、全角が混ざると想定位置からズレてしまうんですよね。そんなときにピッタリ使えるのが、スプレッドシートのMIDB関数です。全角2バイト・半角1バイトでカウントしながら、任意の位置から必要なバイト数ぶんだけサクッと取り出せますよ。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのMIDB関数の構文から、MID関数との違い、固定長ファイルの中間フィールド抽出など実務パターンまで紹介します。LEFTB/RIGHTBと組み合わせた「フィールド分解」のテンプレートも置いておきますね。</p>




  <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">スプレッドシートのMIDB関数とは？</a><ol><li><a href="#toc2" tabindex="0">関数の基本構文と引数</a></li><li><a href="#toc3" tabindex="0">MID関数との違い（文字数 vs バイト数）</a></li></ol></li><li><a href="#toc4" tabindex="0">MIDB関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">全角・半角が混在する文字列での挙動</a></li><li><a href="#toc6" tabindex="0">開始バイトとバイト数の関係</a></li></ol></li><li><a href="#toc7" tabindex="0">実務で使えるMIDB関数の活用パターン</a><ol><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">MIDBとLEFTB/RIGHTBを組み合わせたフィールド分解</a><ol><li><a href="#toc12" tabindex="0">3フィールド分解のテンプレート</a></li><li><a href="#toc13" tabindex="0">先頭と末尾を除外して中間だけ取るテンプレート</a></li><li><a href="#toc14" tabindex="0">コピペで使えるセット数式</a></li></ol></li><li><a href="#toc15" tabindex="0">LEFT系・RIGHT系関数との使い分け</a><ol><li><a href="#toc16" tabindex="0">LEFT・LEFTB・RIGHT・RIGHTB・MID・MIDBの比較</a></li><li><a href="#toc17" tabindex="0">バイト系関数を使うべき判断ポイント</a></li></ol></li><li><a href="#toc18" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc19" tabindex="0">&#8220;#VALUE!&#8221; エラー</a></li><li><a href="#toc20" tabindex="0">想定より短い結果が返る</a></li><li><a href="#toc21" tabindex="0">結果が空になる</a></li></ol></li><li><a href="#toc22" tabindex="0">よくある質問</a><ol><li><a href="#toc23" tabindex="0">Q. MIDBとMIDの違いを一言で教えてください</a></li><li><a href="#toc24" tabindex="0">Q. スプレッドシートのMIDB関数はExcelのMIDB関数と同じですか？</a></li><li><a href="#toc25" tabindex="0">Q. 全角文字の途中から取り出そうとしたら空が返ってきました</a></li><li><a href="#toc26" tabindex="0">Q. MIDB関数でエラーが出て困っています</a></li></ol></li><li><a href="#toc27" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">スプレッドシートのMIDB関数は、文字列の指定したバイト位置から、指定したバイト数ぶんの文字を取り出す文字列関数です。読み方は「ミッド・ビー」で、MID（中間）と Byte（バイト）を組み合わせた名前ですよ。</p>



<p class="wp-block-paragraph">全角文字は2バイト、半角文字は1バイトとしてカウントします。日本語と英数字が入り混じる固定長データから、中間フィールドをバイト単位で正確に抜き出したいときに便利ですよ。</p>



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



<p class="wp-block-paragraph">基本構文はシンプルで、引数は3つです。</p>



<pre class="wp-block-code"><code>=MIDB(文字列, 開始バイト, バイト数)</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><tr><td>開始バイト</td><td>取り出しを始める位置（1以上の整数）</td><td>1バイト目から数え始める</td></tr><tr><td>バイト数</td><td>取り出すバイト数（0以上の整数）</td><td>省略不可</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">開始バイトに小数を指定した場合は、整数部分に切り捨てられます。0以下を入れると <code>#VALUE!</code> エラーになるので、気をつけてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc3">MID関数との違い（文字数 vs バイト数）</span></h3>



<p class="wp-block-paragraph">MID関数とMIDB関数は、切り出す単位が違います。ここを押さえておくと、使い分けで迷いません。</p>



<ul class="wp-block-list"><li><strong>MID</strong>: 指定した文字位置から「文字数」ぶんを取り出す。全角・半角を区別しない</li><li><strong>MIDB</strong>: 指定したバイト位置から「バイト数」ぶんを取り出す。全角=2バイト、半角=1バイトで計算</li></ul>



<p class="wp-block-paragraph">たとえば「商品A-100」という文字列で、3つ目から4つぶん取り出したい場合はこうなります。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>解説</th></tr></thead><tbody><tr><td><code>=MID("商品A-100", 3, 4)</code></td><td>A-10</td><td>3文字目から4文字（全角半角を問わず）</td></tr><tr><td><code>=MIDB("商品A-100", 3, 4)</code></td><td>品A-</td><td>3バイト目から4バイト（全角1+半角2=4バイト）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「レイアウト定義書で5バイト目から10バイトが氏名フィールド」のような固定長仕様のときは、MIDBの出番ですよ。</p>



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



<p class="wp-block-paragraph">それでは実際に使ってみましょう。開始バイトとバイト数の両方をイメージできると、結果が読みやすくなります。</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></tr></thead><tbody><tr><td><code>=MIDB("あいうえお", 3, 4)</code></td><td>いう</td><td>3バイト目から4バイト（全角2文字=4バイト）</td></tr><tr><td><code>=MIDB("ABCDE", 2, 3)</code></td><td>BCD</td><td>2バイト目から3バイト（半角3文字=3バイト）</td></tr><tr><td><code>=MIDB("Excel関数", 6, 2)</code></td><td>関</td><td>6バイト目から2バイト（全角1文字=2バイト）</td></tr><tr><td><code>=MIDB("商品コード", 2, 4)</code></td><td>品コ</td><td>2バイト目から4バイト（開始が全角の途中になるため先頭1バイト分が欠ける）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">注目してほしいのは最後の行です。開始バイトが全角文字の途中に来る場合や、バイト数が全角文字の途中で切れる場合、スプレッドシートでは<strong>そのバイトは切り捨てられます</strong>。文字が半分になって文字化けする、といった心配は不要ですよ。</p>



<h3 class="wp-block-heading"><span id="toc6">開始バイトとバイト数の関係</span></h3>



<p class="wp-block-paragraph">MIDBはLEFTB/RIGHTBと違って、位置の指定が2つあります。ここでつまずきやすいので整理しておきますね。</p>



<ul class="wp-block-list"><li>開始バイトは「何バイト目から読み始めるか」（1始まり）</li><li>バイト数は「そこから何バイトぶん取るか」</li><li>開始バイト + バイト数 − 1 が「読み終わるバイト位置」</li></ul>



<p class="wp-block-paragraph">たとえば <code>=MIDB(A2, 5, 10)</code> なら、5バイト目から14バイト目までの10バイトが対象です。レイアウト定義書の「開始位置」と「長さ」をそのまま引数に入れればOKですよ。</p>



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



<p class="wp-block-paragraph">MIDB関数が本領を発揮するのは、固定長レイアウトの中間フィールドを抜き出す場面です。よく出てくる3パターンを紹介しますね。</p>



<h3 class="wp-block-heading"><span id="toc8">固定長ファイルの中間フィールド切り出し</span></h3>



<p class="wp-block-paragraph">古い基幹システムからダウンロードしたテキストで、「先頭8バイトが顧客コード、9バイト目から20バイトが氏名、29バイト目から8バイトが受付日」のような固定長レイアウトはよくあります。MIDB関数なら、中間の氏名フィールドもバイト単位でスッと取れますよ。</p>



<pre class="wp-block-code"><code>顧客コード:  =LEFTB(A2, 8)
氏名:        =MIDB(A2, 9, 20)
受付日:      =MIDB(A2, 29, 8)</code></pre>



<p class="wp-block-paragraph">MIDだと全角が混ざったときに位置がズレますが、MIDBならレイアウト定義書どおりにサクッと取り出せます。3つのフィールドを別列に展開するだけで、後続の集計がぐっと楽になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc9">取引先コードの中間区分抽出</span></h3>



<p class="wp-block-paragraph">業務系の取引先コードには、「先頭2桁が地域、次の3桁が業種、末尾4桁が連番」のような区分が埋め込まれているフォーマットがよくあります。中間の業種部分だけ抜き出して集計したいときにMIDBが効きますよ。</p>



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



<p class="wp-block-paragraph">A列に「JP-WHL-0012」のような半角コードがあれば、3バイト目から3バイト（<code>-WH</code>）の位置を狙って取れます。コードの仕様が半角固定なら、MIDとMIDBの結果は同じですが、後から全角が混ざるケースに備えるならMIDBのほうが安全ですよ。</p>



<h3 class="wp-block-heading"><span id="toc10">電文ログからのタイムスタンプ抽出</span></h3>



<p class="wp-block-paragraph">システム連携のログで、「先頭10バイトが日付、11バイト目から8バイトが時刻、19バイト目以降が本文」のような決まったフォーマットを扱うこともありますよね。MIDBを使うと、中間のタイムスタンプ部分だけきれいに取り出せますよ。</p>



<pre class="wp-block-code"><code>日付:        =LEFTB(A2, 10)
時刻:        =MIDB(A2, 11, 8)
本文:        =MIDB(A2, 19, LENB(A2)-18)</code></pre>



<p class="wp-block-paragraph">LENB（文字列全体のバイト数を返す関数）を組み合わせて、本文部分は「総バイト数から先頭18バイトを引いた残り全部」として指定しています。末尾の長さが可変のときに便利な書き方ですよ。</p>



<h2 class="wp-block-heading"><span id="toc11">MIDBとLEFTB/RIGHTBを組み合わせたフィールド分解</span></h2>



<p class="wp-block-paragraph">MIDBの真価は、LEFTB/RIGHTB/LENBと組み合わせたときに発揮されます。固定長データの分解や、区切り位置が動くデータの整形にすっきり対応できますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">3フィールド分解のテンプレート</span></h3>



<p class="wp-block-paragraph">A列に固定長データ、B列に1つ目のバイト数、C列に2つ目のバイト数を入れている想定です。先頭・中間・末尾の3つに分けましょう。</p>



<pre class="wp-block-code"><code>先頭フィールド:  =LEFTB(A2, B2)
中間フィールド:  =MIDB(A2, B2+1, C2)
末尾フィールド:  =MIDB(A2, B2+C2+1, LENB(A2)-B2-C2)</code></pre>



<p class="wp-block-paragraph">B列とC列の数字を変えるだけで、レイアウトの変更に追従できます。中間フィールドの開始位置は「先頭ぶんのバイト数 + 1」、末尾は「総バイト数 − 先頭 − 中間」で計算するのがコツですよ。</p>



<h3 class="wp-block-heading"><span id="toc13">先頭と末尾を除外して中間だけ取るテンプレート</span></h3>



<p class="wp-block-paragraph">「先頭4バイトのヘッダと末尾2バイトのフッタを除いた本体部分だけ抜き出したい」という電文整形のシーンでは、開始位置を固定してバイト数だけLENBから計算します。</p>



<pre class="wp-block-code"><code>=MIDB(A2, 5, LENB(A2)-4-2)</code></pre>



<p class="wp-block-paragraph">開始バイトは固定（ヘッダ4バイトの次）、バイト数は「全体 − ヘッダ − フッタ」で動的に決めます。データ長が行ごとに違っても1本の数式で整形できるので、ログ解析の前処理で重宝しますよ。</p>



<h3 class="wp-block-heading"><span id="toc14">コピペで使えるセット数式</span></h3>



<p class="wp-block-paragraph">よく使う組み合わせを一式テンプレートにしておきますね。A2にデータ、B2に開始バイト、C2にバイト数という前提です。</p>



<pre class="wp-block-code"><code>対象文字列:        =A2
全体バイト数:      =LENB(A2)
切り出し結果:      =MIDB(A2, B2, C2)
切り出し後バイト数: =LENB(MIDB(A2, B2, C2))
切り出し前の部分:  =LEFTB(A2, B2-1)
切り出し後の部分:  =MIDB(A2, B2+C2, LENB(A2)-(B2+C2)+1)</code></pre>



<p class="wp-block-paragraph">データ整形用のワークシートに丸ごと貼り付けて、A列と開始バイト・バイト数を差し替えるだけで使えます。切り出し前後の部分も一緒に出すと、結果のバイト位置が合っているか目視確認しやすくなりますよ。</p>



<h2 class="wp-block-heading"><span id="toc15">LEFT系・RIGHT系関数との使い分け</span></h2>



<p class="wp-block-paragraph">スプレッドシートには似た名前の文字列関数がいくつもあります。ここで全体像を整理しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc16">LEFT・LEFTB・RIGHT・RIGHTB・MID・MIDBの比較</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>商品コードの頭3桁抽出</td></tr><tr><td>LEFTB</td><td>左から</td><td>バイト数</td><td>基幹システム用の項目整形</td></tr><tr><td>RIGHT</td><td>右から</td><td>文字数</td><td>ファイル拡張子の抽出</td></tr><tr><td>RIGHTB</td><td>右から</td><td>バイト数</td><td>末尾の固定長フィールド切り出し</td></tr><tr><td>MID</td><td>任意位置から</td><td>文字数</td><td>郵便番号の後半3桁抽出</td></tr><tr><td>MIDB</td><td>任意位置から</td><td>バイト数</td><td>固定長ファイルの中間フィールド</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">左・右の切り出しを組み合わせて使いたいときは、<a href="https://mashukabu.com/spreadsheet-leftb-function/">スプレッドシートのLEFTB関数の使い方</a>と<a href="https://mashukabu.com/spreadsheet-rightb-function/">スプレッドシートのRIGHTB関数の使い方</a>もあわせて参考にしてみてくださいね。</p>



<p class="wp-block-paragraph">また、バイト数を数えるLENB関数については<a href="https://mashukabu.com/spreadsheet-lenb-function/">スプレッドシートのLENB関数の使い方</a>でくわしく解説しています。</p>



<h3 class="wp-block-heading"><span id="toc17">バイト系関数を使うべき判断ポイント</span></h3>



<p class="wp-block-paragraph">バイト系関数（LEFTB/RIGHTB/MIDB/LENB）を選ぶ基準は、次の3点で判断できます。</p>



<ul class="wp-block-list"><li>入出力のシステムがバイト単位で桁数を指定している</li><li>全角半角が混在するデータを扱っている</li><li>固定長フォーマットのファイルを読み書きする必要がある</li></ul>



<p class="wp-block-paragraph">逆に、社内の集計シートやダッシュボードのように「文字数で区切れれば十分」という場面は、MID系のほうがシンプルで読みやすいですよ。</p>



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



<p class="wp-block-paragraph">MIDB関数でハマりやすいポイントを3つまとめました。エラーの原因と対策をセットで覚えておくと、現場で詰まりにくくなりますよ。</p>



<h3 class="wp-block-heading"><span id="toc19">&#8220;#VALUE!&#8221; エラー</span></h3>



<p class="wp-block-paragraph">開始バイトに0以下を指定したときや、バイト数に負の数を指定したときに出ます。たとえば <code>=MIDB("ABCDE", 0, 3)</code> や <code>=MIDB("ABCDE", 2, -1)</code> のようなケースですね。計算式の結果がマイナスになっていた、というミスがよくあります。MAX関数で下限を固定するのがおすすめです。</p>



<pre class="wp-block-code"><code>=MIDB(A2, MAX(B2, 1), MAX(C2, 0))</code></pre>



<p class="wp-block-paragraph">これで、B2やC2が想定外の値になっても安全に動きますよ。</p>



<h3 class="wp-block-heading"><span id="toc20">想定より短い結果が返る</span></h3>



<p class="wp-block-paragraph">「10バイトのつもりで指定したのに9文字しか返ってこない」というときは、<strong>開始位置が全角の途中</strong>か、<strong>末尾が全角の途中で切れている</strong>ケースが多いです。先ほど解説したとおり、全角の途中にバイト境界が来ると、そのバイトぶんは切り捨てられます。</p>



<p class="wp-block-paragraph">制限いっぱいまで詰めたい場合は、LENB（対象文字列の総バイト数を返す関数）と組み合わせて、切り捨てが発生していないかを確認しておきましょう。</p>



<pre class="wp-block-code"><code>=LENB(MIDB(A2, 3, 10))   → 9 なら、開始か末尾のどちらかが全角の途中だった</code></pre>



<h3 class="wp-block-heading"><span id="toc21">結果が空になる</span></h3>



<p class="wp-block-paragraph"><code>=MIDB("あいうえお", 2, 1)</code> のように、開始バイトが全角の途中で、バイト数も1だけのときは、結果が空（空文字）になります。「数式は合っているのに何も返ってこない」ときは、開始位置とバイト数が全角のバイト境界にきれいに乗っているかを確認してみてくださいね。</p>



<p class="wp-block-paragraph">レイアウトが全角中心なら、開始バイトを奇数（全角の先頭バイト）に、バイト数を偶数にそろえると安定しますよ。</p>



<h2 class="wp-block-heading"><span id="toc22">よくある質問</span></h2>



<h3 class="wp-block-heading"><span id="toc23">Q. MIDBとMIDの違いを一言で教えてください</span></h3>



<p class="wp-block-paragraph">MIDは「文字数」で切り出し、MIDBは「バイト数」で切り出します。全角1文字をMIDは1文字、MIDBは2バイトとして数えるので、全角が混在するデータでは切り出し結果が変わります。固定長ファイルや基幹システムデータの処理にはMIDB、通常の日本語テキストの整形にはMIDがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc24">Q. スプレッドシートのMIDB関数はExcelのMIDB関数と同じですか？</span></h3>



<p class="wp-block-paragraph">はい、引数・動作ともにExcelのMIDB関数と同じです。<code>=MIDB(文字列, 開始バイト, バイト数)</code> の3引数で同じように動きますので、ExcelとGoogleスプレッドシートを行き来する業務でも数式をそのまま移植できますよ。</p>



<h3 class="wp-block-heading"><span id="toc25">Q. 全角文字の途中から取り出そうとしたら空が返ってきました</span></h3>



<p class="wp-block-paragraph">開始バイトが全角文字の2バイト目に当たり、かつバイト数が少ないときに起きます。全角文字は先頭バイト（奇数番目）から取り出す必要があります。LENBで全体バイト数を確認しながら、開始バイトを1ずつ調整してみてください。</p>



<h3 class="wp-block-heading"><span id="toc26">Q. MIDB関数でエラーが出て困っています</span></h3>



<p class="wp-block-paragraph"><code>#VALUE!</code> エラーは、開始バイトに0以下、またはバイト数に負の値を指定したときに発生します。<code>=MIDB(A2, MAX(B2,1), MAX(C2,0))</code> のようにMAX関数でガードするか、引数が正しい範囲内か確認してください。<code>#REF!</code> エラーは参照セルが削除されている場合に出ます。</p>



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



<p class="wp-block-paragraph">スプレッドシートのMIDB関数は、バイト数を基準に文字列の任意位置から切り出せる、固定長データの中間フィールド抽出にピッタリの関数です。最後に要点を整理しておきましょう。</p>



<ul class="wp-block-list"><li>構文は <code>=MIDB(文字列, 開始バイト, バイト数)</code> の3引数。開始バイトは1始まり</li><li>全角=2バイト、半角=1バイトとしてカウントする</li><li>全角文字の途中に開始位置や終端が来る場合、そのバイトは切り捨てられる</li><li>MIDは文字数、MIDBはバイト数。固定長ファイルの中間フィールドはMIDB一択</li><li>LEFTB/RIGHTB/LENBと組み合わせると、フィールド分解が一発で決まる</li><li>#VALUE! は開始バイト0以下や負のバイト数指定、結果が空になるのは全角境界で指定がずれたパターン</li></ul>



<p class="wp-block-paragraph">まずは手元の固定長テキストを、<code>=MIDB(A2, 9, 20)</code> のような形でレイアウト定義書どおりに分解してみてください。基幹システムからのデータ取り込みや電文解析の前処理が、一段ラクになりますよ。</p>



<p class="wp-block-paragraph">バイト系文字列関数の全体像を把握したい方は、<a href="https://mashukabu.com/spreadsheet-leftb-function/">スプレッドシートのLEFTB関数の使い方</a>と<a href="https://mashukabu.com/spreadsheet-rightb-function/">スプレッドシートのRIGHTB関数の使い方</a>もあわせてご確認ください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-midb-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのRIGHTB関数の使い方｜右からバイト取得</title>
		<link>https://mashukabu.com/spreadsheet-rightb-function/</link>
					<comments>https://mashukabu.com/spreadsheet-rightb-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 19 Apr 2026 14:11:06 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[LENB]]></category>
		<category><![CDATA[RIGHT]]></category>
		<category><![CDATA[RIGHTB]]></category>
		<category><![CDATA[バイト]]></category>
		<category><![CDATA[文字列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6067</guid>

					<description><![CDATA[スプレッドシートのRIGHTB関数の使い方を実例付きで解説します。文字列の末尾から指定したバイト数ぶんを取り出す関数で、全角2バイト・半角1バイトでカウントします。基本構文、RIGHT関数との違い、固定長ファイルの末尾フィールド抽出や拡張子判定など実務パターン、よくあるエラー対処まで丁寧にまとめました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートで顧客コードやファイル名を扱っていると、「全角半角まじりの文字列から末尾の◯バイトだけ取り出したい」という場面、ありませんか。基幹システムの出力ファイルで、末尾に決まったバイト数のステータスコードがくっついている、なんてケースもよくありますよね。</p>



<p class="wp-block-paragraph">RIGHT関数だと「文字数」で切るので、全角が混ざると末尾の狙った位置からズレてしまうんですよね。そんなときに頼れるのが、スプレッドシートのRIGHTB関数です。全角2バイト・半角1バイトでカウントしながら、右から必要なバイト数ぶんだけ取り出せますよ。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのRIGHTB関数の構文から、RIGHT関数との違い、固定長ファイルの末尾フィールド抽出や拡張子判定など実務パターンまで紹介します。LENBと組み合わせた「末尾整形」のテンプレートも置いておきますね。</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">スプレッドシートのRIGHTB関数とは？</a><ol><li><a href="#toc2" tabindex="0">関数の基本構文と引数</a></li><li><a href="#toc3" tabindex="0">RIGHT関数との違い（文字数 vs バイト数）</a></li></ol></li><li><a href="#toc4" tabindex="0">RIGHTB関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">全角・半角が混在する文字列での挙動</a></li><li><a href="#toc6" tabindex="0">引数「バイト数」の省略時の挙動</a></li></ol></li><li><a href="#toc7" tabindex="0">実務で使えるRIGHTB関数の活用パターン</a><ol><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">RIGHTBとLENBを組み合わせた末尾整形</a><ol><li><a href="#toc12" tabindex="0">本体と末尾コードを分離するテンプレート</a></li><li><a href="#toc13" tabindex="0">末尾固定桁の除外テンプレート</a></li><li><a href="#toc14" tabindex="0">コピペで使えるセット数式</a></li></ol></li><li><a href="#toc15" tabindex="0">LEFT系・RIGHT系関数との使い分け</a><ol><li><a href="#toc16" tabindex="0">LEFT・LEFTB・RIGHT・RIGHTB・MID・MIDBの比較</a></li><li><a href="#toc17" tabindex="0">バイト系関数を使うべき判断ポイント</a></li></ol></li><li><a href="#toc18" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc19" tabindex="0">&#8220;#VALUE!&#8221; エラー</a></li><li><a href="#toc20" tabindex="0">想定より短い結果が返る</a></li><li><a href="#toc21" tabindex="0">結果が空になる</a></li></ol></li><li><a href="#toc22" tabindex="0">よくある質問</a><ol><li><a href="#toc23" tabindex="0">Q. RIGHTBとRIGHTの違いを一言で教えてください</a></li><li><a href="#toc24" tabindex="0">Q. スプレッドシートのRIGHTB関数はExcelと同じですか？</a></li><li><a href="#toc25" tabindex="0">Q. RIGHTBで全角文字が途中で切れてしまいます</a></li><li><a href="#toc26" tabindex="0">Q. RIGHTB関数でエラーが出ます</a></li></ol></li><li><a href="#toc27" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">スプレッドシートのRIGHTB関数は、文字列の末尾から指定したバイト数ぶんの文字を取り出す文字列関数です。読み方は「ライト・ビー」で、RIGHT（右）と Byte（バイト）を組み合わせた名前ですよ。</p>



<p class="wp-block-paragraph">全角文字は2バイト、半角文字は1バイトとしてカウントします。日本語と英数字が入り混じるファイル名や伝票データの末尾部分を、バイト単位で正確に抽出したいときに便利ですよ。</p>



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



<p class="wp-block-paragraph">基本構文はシンプルで、引数は2つだけです。</p>



<pre class="wp-block-code"><code>=RIGHTB(文字列, [バイト数])</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><tr><td>バイト数</td><td>取り出すバイト数（0以上の整数）</td><td>省略時は1（末尾1バイト）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">バイト数に小数を指定した場合は、整数部分に切り捨てられます。負の数を入れると <code>#VALUE!</code> エラーになるので、気をつけてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc3">RIGHT関数との違い（文字数 vs バイト数）</span></h3>



<p class="wp-block-paragraph">RIGHT関数とRIGHTB関数は、切り出す単位が違います。ここを押さえておくと、使い分けで迷いません。</p>



<ul class="wp-block-list"><li><strong>RIGHT</strong>: 末尾から「文字数」ぶんを取り出す。全角・半角を区別しない</li><li><strong>RIGHTB</strong>: 末尾から「バイト数」ぶんを取り出す。全角=2バイト、半角=1バイトで計算</li></ul>



<p class="wp-block-paragraph">たとえば「伝票A-100」という文字列で、右から4つ取り出したい場合はこうなります。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>解説</th></tr></thead><tbody><tr><td><code>=RIGHT("伝票A-100", 4)</code></td><td>A-100 の右4文字（-100）</td><td>末尾から4文字（全角半角を問わず）</td></tr><tr><td><code>=RIGHTB("伝票A-100", 4)</code></td><td>-100</td><td>末尾から4バイト（半角4文字=4バイト）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「末尾4バイトがステータスコード」のような固定長仕様のときは、RIGHTBの出番ですよ。</p>



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



<p class="wp-block-paragraph">それでは実際に使ってみましょう。末尾からバイト数でカウントする感覚を掴むと、結果がイメージしやすくなります。</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></tr></thead><tbody><tr><td><code>=RIGHTB("あいうえお", 4)</code></td><td>えお</td><td>末尾の全角2文字=4バイト</td></tr><tr><td><code>=RIGHTB("ABCDE", 3)</code></td><td>CDE</td><td>末尾の半角3文字=3バイト</td></tr><tr><td><code>=RIGHTB("関数Excel", 6)</code></td><td>Excel（+1バイト）</td><td>末尾の半角5+1バイト=6バイト</td></tr><tr><td><code>=RIGHTB("商品コード", 5)</code></td><td>コード</td><td>末尾の全角2文字=4バイト（5バイト目は全角の途中になるため切り捨て）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">注目してほしいのは最後の行です。バイト数が全角文字の途中で切れる場合、スプレッドシートでは<strong>そのバイトは切り捨てられます</strong>。文字の後ろ半分だけが残って文字化けする、といった心配は不要ですよ。</p>



<h3 class="wp-block-heading"><span id="toc6">引数「バイト数」の省略時の挙動</span></h3>



<p class="wp-block-paragraph">バイト数を省略すると、末尾の1バイトだけ取り出されます。</p>



<pre class="wp-block-code"><code>=RIGHTB(&quot;あいうえお&quot;)   → （空文字または末尾1バイト分の扱い）
=RIGHTB(&quot;ABCDE&quot;)        → E</code></pre>



<p class="wp-block-paragraph">全角終わりの文字列でバイト数を省略すると、1バイトだけだと全角文字の半分にあたるため、結果は空になります。省略は半角終わりのときしか実用的ではないので、基本は明示的に指定するのがおすすめですよ。</p>



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



<p class="wp-block-paragraph">RIGHTB関数が本領を発揮するのは、末尾に固定バイト数の情報がくっついているデータを扱う場面です。よく出てくる3パターンを紹介しますね。</p>



<h3 class="wp-block-heading"><span id="toc8">固定長ファイルの末尾フィールド切り出し</span></h3>



<p class="wp-block-paragraph">基幹システムからダウンロードしたテキストで、「末尾8バイトが受付番号」「末尾4バイトがステータスコード」のような末尾固定長レイアウトはよくあります。RIGHTB関数なら、全角が混ざっていても末尾側からきっちりバイト単位で抜き出せますよ。</p>



<pre class="wp-block-code"><code>ステータスコード: =RIGHTB(A2, 4)
受付番号:        =RIGHTB(A2, 8)</code></pre>



<p class="wp-block-paragraph">RIGHTだと全角が混ざったときに末尾の切り出し位置がズレますが、RIGHTBならレイアウト定義書どおりの位置から取れます。</p>



<h3 class="wp-block-heading"><span id="toc9">ファイル名からの拡張子抽出（バイト単位）</span></h3>



<p class="wp-block-paragraph">ファイルパスリストを整理していて、「末尾4バイト（<code>.xlsx</code> など）を取り出したい」というケースにも使えます。半角ピリオド+半角3〜4文字の拡張子はバイト数でも文字数でも同じ結果ですが、日本語ファイル名が混ざるリストでは、RIGHTBのほうが安全ですよ。</p>



<pre class="wp-block-code"><code>=RIGHTB(A2, 5)</code></pre>



<p class="wp-block-paragraph">A列に「月次報告書.xlsx」のようなファイル名があれば、<code>.xlsx</code> がきれいに取り出せます。<code>.docx</code> や <code>.pdf</code> など長さが違う拡張子が混在するなら、後述の <code>FIND</code> を併用するパターンがおすすめですよ。</p>



<h3 class="wp-block-heading"><span id="toc10">末尾チェックサムや区分コードの抽出</span></h3>



<p class="wp-block-paragraph">伝票番号や会員コードの末尾1〜2バイトにチェックデジットや区分コードが埋め込まれているフォーマットは、業務系システムでよくあります。末尾だけ分離して別列で管理したいときにRIGHTBが効きますよ。</p>



<pre class="wp-block-code"><code>末尾1バイト:  =RIGHTB(A2, 1)
末尾2バイト:  =RIGHTB(A2, 2)
本体部分:     =LEFTB(A2, LENB(A2)-1)</code></pre>



<p class="wp-block-paragraph">LENB（文字列全体のバイト数を返す関数）と組み合わせると、末尾のコードと本体部分を一度に分離できます。マスター突合の前処理として使うと、照合作業の時短になりますよ。</p>



<h2 class="wp-block-heading"><span id="toc11">RIGHTBとLENBを組み合わせた末尾整形</span></h2>



<p class="wp-block-paragraph">末尾のコード部分だけ抜き出したいだけでなく、「本体部分も同時に取りたい」「末尾固定桁ぶんを除外したい」というシーンも多いです。RIGHTBとLENBを組み合わせると、分離と整形を同時にこなせますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">本体と末尾コードを分離するテンプレート</span></h3>



<p class="wp-block-paragraph">A列に文字列、B列に末尾コードのバイト数（たとえば2）を入れている想定です。C列に本体、D列に末尾コードを出しましょう。</p>



<pre class="wp-block-code"><code>本体:   =LEFTB(A2, LENB(A2)-B2)
末尾:   =RIGHTB(A2, B2)</code></pre>



<p class="wp-block-paragraph">LENB から B2 を引いた数字が、本体側のバイト数になります。これでコード体系が変わっても、B列の数字を変えるだけで対応できますよ。</p>



<h3 class="wp-block-heading"><span id="toc13">末尾固定桁の除外テンプレート</span></h3>



<p class="wp-block-paragraph">末尾に年度コード（4バイト）や区分（2バイト）が常にくっついているデータから、本体だけ取り出したいケースはこうなります。</p>



<pre class="wp-block-code"><code>=LEFTB(A2, LENB(A2)-4)</code></pre>



<p class="wp-block-paragraph">末尾4バイトぶんを取り除いた本体部分が返ります。RIGHTBの逆算として使うパターンですが、データクレンジングの現場では頻出ですよ。</p>



<h3 class="wp-block-heading"><span id="toc14">コピペで使えるセット数式</span></h3>



<p class="wp-block-paragraph">よく使う組み合わせを一式テンプレートにしておきますね。A2にデータ、B2に末尾バイト数という前提です。</p>



<pre class="wp-block-code"><code>全体バイト数:   =LENB(A2)
本体バイト数:   =LENB(A2)-B2
本体部分:       =LEFTB(A2, LENB(A2)-B2)
末尾コード:     =RIGHTB(A2, B2)
末尾除外済み:   =LEFTB(A2, LENB(A2)-B2)</code></pre>



<p class="wp-block-paragraph">データ整形用のワークシートに丸ごと貼り付けて、A列と末尾バイト数を差し替えるだけで使えます。列挿入で必要な情報が一度に揃うので、前処理の時短につながりますよ。</p>



<h2 class="wp-block-heading"><span id="toc15">LEFT系・RIGHT系関数との使い分け</span></h2>



<p class="wp-block-paragraph">スプレッドシートには似た名前の文字列関数がいくつもあります。ここで全体像を整理しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc16">LEFT・LEFTB・RIGHT・RIGHTB・MID・MIDBの比較</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>商品コードの頭3桁抽出</td></tr><tr><td>LEFTB</td><td>左から</td><td>バイト数</td><td>基幹システム用の項目整形</td></tr><tr><td>RIGHT</td><td>右から</td><td>文字数</td><td>ファイル拡張子の抽出</td></tr><tr><td>RIGHTB</td><td>右から</td><td>バイト数</td><td>末尾の固定長フィールド切り出し</td></tr><tr><td>MID</td><td>任意位置から</td><td>文字数</td><td>郵便番号の後半3桁抽出</td></tr><tr><td>MIDB</td><td>任意位置から</td><td>バイト数</td><td>固定長ファイルの中間フィールド</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">左からの切り出しを扱いたいときは、<a href="https://mashukabu.com/spreadsheet-leftb-function/">スプレッドシートのLEFTB関数の使い方</a>もあわせて参考にしてみてくださいね。任意の中間位置から取り出したい場合は<a href="https://mashukabu.com/spreadsheet-midb-function/">スプレッドシートのMIDB関数の使い方</a>、バイト数の計算には<a href="https://mashukabu.com/spreadsheet-lenb-function/">スプレッドシートのLENB関数の使い方</a>も参考にしてください。</p>



<h3 class="wp-block-heading"><span id="toc17">バイト系関数を使うべき判断ポイント</span></h3>



<p class="wp-block-paragraph">バイト系関数（LEFTB/RIGHTB/MIDB/LENB）を選ぶ基準は、次の3点で判断できます。</p>



<ul class="wp-block-list"><li>出力元のシステムがバイト単位で桁数を指定している</li><li>全角半角が混在するデータを扱っている</li><li>固定長フォーマットのファイルを読み書きする必要がある</li></ul>



<p class="wp-block-paragraph">逆に、社内の集計シートやダッシュボードのように「文字数で区切れれば十分」という場面は、RIGHT系のほうがシンプルで読みやすいですよ。</p>



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



<p class="wp-block-paragraph">RIGHTB関数でハマりやすいポイントを3つまとめました。エラーの原因と対策をセットで覚えておくと、現場で詰まりにくくなりますよ。</p>



<h3 class="wp-block-heading"><span id="toc19">&#8220;#VALUE!&#8221; エラー</span></h3>



<p class="wp-block-paragraph">バイト数に負の数を指定したときに出ます。たとえば <code>=RIGHTB("ABCDE", -1)</code> のようなケースですね。<code>LENB(A2)-B2</code> のような計算式の結果がマイナスになっていた、というミスがよくあります。MAX関数で下限を 0 に固定するのがおすすめです。</p>



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



<p class="wp-block-paragraph">これで、B2がマイナスになっても安全に 0 として扱えますよ。</p>



<h3 class="wp-block-heading"><span id="toc20">想定より短い結果が返る</span></h3>



<p class="wp-block-paragraph">「10バイトのつもりで指定したのに9文字しか返ってこない」というときは、<strong>全角の途中で切れている</strong>ケースが多いです。先ほど解説したとおり、全角の途中にバイト境界が来ると、そのバイトぶんは切り捨てられます。</p>



<p class="wp-block-paragraph">末尾側でも全角の前半バイトで境界が来ると1バイトぶん失われるので、LENB（対象文字列の総バイト数を返す関数）と組み合わせて、切り捨てが発生していないかを確認しておきましょう。</p>



<pre class="wp-block-code"><code>=LENB(RIGHTB(A2, 10))   → 9 なら、10バイト目が全角の途中だった</code></pre>



<h3 class="wp-block-heading"><span id="toc21">結果が空になる</span></h3>



<p class="wp-block-paragraph"><code>=RIGHTB("あいうえお", 1)</code> のように、末尾が全角で1バイトだけ指定すると、結果が空（空文字）になります。「数式は合っているのに何も返ってこない」ときは、バイト数が全角1文字分（2バイト）に満たないかを確認してみてくださいね。</p>



<p class="wp-block-paragraph">最低でも 2 以上を指定するか、<code>=IF(LENB(A2)>=2, RIGHTB(A2, 2), A2)</code> のようにIFで判定すると安心です。</p>



<h2 class="wp-block-heading"><span id="toc22">よくある質問</span></h2>



<h3 class="wp-block-heading"><span id="toc23">Q. RIGHTBとRIGHTの違いを一言で教えてください</span></h3>



<p class="wp-block-paragraph">RIGHTは「文字数」で末尾を切り出し、RIGHTBは「バイト数」で切り出します。全角1文字をRIGHTは1文字、RIGHTBは2バイトとして数えます。全角が混在する固定長データや基幹システムの出力ファイルにはRIGHTB、通常のテキスト処理にはRIGHTがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc24">Q. スプレッドシートのRIGHTB関数はExcelと同じですか？</span></h3>



<p class="wp-block-paragraph">はい、引数・動作ともにExcelのRIGHTB関数と同じです。<code>=RIGHTB(文字列, バイト数)</code> の形で同様に動きますので、ExcelとGoogleスプレッドシートを行き来する業務でもそのまま使えます。</p>



<h3 class="wp-block-heading"><span id="toc25">Q. RIGHTBで全角文字が途中で切れてしまいます</span></h3>



<p class="wp-block-paragraph">バイト数が全角文字の途中に当たった場合、スプレッドシートはその文字を切り捨てます。たとえば末尾が全角文字で1バイトを指定すると、結果が空になります。バイト数を偶数にするか、LENBで全体バイト数を確認しながら調整してください。</p>



<h3 class="wp-block-heading"><span id="toc26">Q. RIGHTB関数でエラーが出ます</span></h3>



<p class="wp-block-paragraph"><code>#VALUE!</code> エラーはバイト数に負の数を指定したときに発生します。<code>=RIGHTB(A2, MAX(B2, 0))</code> のようにMAX関数でガードするか、バイト数に0以上の整数を指定してください。</p>



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



<p class="wp-block-paragraph">スプレッドシートのRIGHTB関数は、バイト数を基準に文字列の末尾を取り出せる、固定長データや末尾コード抽出にピッタリの関数です。最後に要点を整理しておきましょう。</p>



<ul class="wp-block-list"><li>構文は <code>=RIGHTB(文字列, [バイト数])</code> の2引数。バイト数省略時は1バイト</li><li>全角=2バイト、半角=1バイトとしてカウントする</li><li>全角文字の途中でバイトが切れる場合、そのバイトは切り捨てられる</li><li>RIGHTは文字数、RIGHTBはバイト数。末尾固定長フィールドの切り出しはRIGHTB一択</li><li>LENBと組み合わせると、本体と末尾コードの分離が一発で決まる</li><li>#VALUE! は負のバイト数指定、結果が空になるのは全角終わりでバイト数が足りないパターン</li></ul>



<p class="wp-block-paragraph">まずは手元の伝票データやファイル名リストを、<code>=RIGHTB(A2, 4)</code> のような形で末尾から抽出してみてください。マスター突合やデータクレンジングの前処理が一段ラクになりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-rightb-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
