エクセルで文字列を扱う際、「文字数」でなく「バイト数」で処理したい場面ってありませんか?特に全角・半角が混在するデータを扱う時に役立つのが、LEFTB関数です。
初心者には少しややこしく感じるかもしれませんが、この記事では図解と具体例を交えて、LEFTB関数の使い方をわかりやすく解説します!
LEFTB関数(マッスルたけちゃん)

マッスルたけ
「エクセルと筋肉は裏切らない!!!マッスルたけちゃんだ!ブランド服より割れた腹筋!よし、今日はLEFTB関数についてレクチャーするぞ!」

まさる
「LEFTB関数って、文字列の左側を取り出すんですよね?LEFT関数とはどう違うんですか?」

マッスルたけ
「いい質問だ!LEFT関数は“文字数”で切り取るけど、LEFTB関数は“バイト数”で切り取るんだ!全角文字は2バイト、半角文字は1バイトとして数えるぞ!」

まさる
「なるほど、日本語みたいな全角文字を扱うときに便利ってことですね!」

マッスルたけ
「その通りだ!ただし、日本語環境じゃないとLEFTB関数はうまく動かないこともある。設定も筋トレ同様、準備が大事だ!」

まさる
「筋トレに例えるんですね(笑)。設定ミスで“うまく動かない”って検索してる人、多そうですね!」

マッスルたけ
「LEFTB関数を極めれば、日本語の文字処理もバッチリ!バイト数の感覚を鍛えて、データ処理も筋肉質にしていこう!」
LEFTB関数とは(初心者向け解説)
LEFTB関数は、指定した文字列の先頭から、バイト数を指定して文字を取得するエクセルの関数です。日本語(全角文字)は2バイト、英数字(半角文字)は1バイトでカウントされるため、日本語を含むデータを扱う際に便利です。特に、Shift_JISなどのバイト単位でデータを処理する場面で活用されます。
LEFTB(レフトビー)関数は、文字列の左端から指定したバイト数分を取り出す関数です。この関数は全角は2バイト、半角は1バイトとして数えます。
- LEFTB関数は左側から指定したバイト数分を取り出す関数
- LEFTB関数は全角は2バイト、半角は1バイトとして計算する
LEFTB関数の特徴
- 指定したバイト数分、文字列の先頭から取得できる
- 日本語(全角)は2バイト、英数字(半角)は1バイトでカウント
- 英数字だけの場合はLEFT関数と同じ結果になる
- 全角・半角混在データの加工に便利
- 文字数ではなくバイト数で処理するため、注意が必要
LEFTB関数の構文(入力方法と引数)
LEFTB関数の構文を確認します。
LEFTB関数には引数(ひきすう)が2つあります。第2引数は省略可能です。
- 「文字列」はセルを指定することもできます。
- 「文字列」のなかに含まれるスペースも半角、全角で区別されます。
- 文字列を引数に直接指定する場合は「”」(ダブルクォーテーション)で囲んで指定します。
【引数の説明】
引数名 | 説明 |
文字列 | 直接文字列を指定するか、セルを指定します。 ※文字列を指定する場合は、「”」(ダブルクォーテーション)で囲みます。 |
バイト数 | 第2引数のバイト数は省略可能です。省略すると1となります。 |
LEFTB関数の構文(入力方法と引数)
LEFTB関数で取り出した結果
LEFTB関数でさまざまな文字列を指定した文字数分だけ取り出してみた結果を確認してみます。
細かいところで注意が必要です。
B列:文字列
C列:バイト数を省略
D列:バイト数を1文字指定
E列:バイト数を2文字指定
F列:バイト数を3文字指定
G列:バイト数を4文字指定
C列:バイト数を省略
D列:バイト数を1文字指定
E列:バイト数を2文字指定
F列:バイト数を3文字指定
G列:バイト数を4文字指定

マッスルたけ
指定したバイト数を取り出した結果がこれだ!
文字列に全角が含まれているところに注目してくれ!全角は2バイトで計算するが、指定したバイト数が全角分(2バイト)に満たない時はその文字は取り出せないんだ!
【解説】
LEFTB関数は全角は2バイト、半角は1バイトとして計算します。
LEFTB関数は全角は2バイト、半角は1バイトとして計算します。
No | 文字列 | 説明 |
1 | 123456 | 全て半角なので、指定したバイト数分を取り出せています。 |
2 | 123-4567 | 全て半角なので、指定したバイト数分を取り出せています。 |
3 | 1-234-56 | 全て半角なので、指定したバイト数分を取り出せています。 |
4 | 2345 | 全て全角です。 1バイトを指定する時は、最初の「2」は2バイトのため、取り出せません。 2バイトを指定することで取り出せます。 同様に3バイトを指定すると「23」は4バイトとなり、 「2」までしか取り出せません。 |
5 | muscle56 | 全て半角なので、指定したバイト数分を取り出せています。 |
6 | ABCD | 「AB」だけ全角、「CD」は半角です。 No4と同様の結果です。 |
7 | あいう | 全て全角です。 No4と同様の結果です。 |
8 | 小 久保 恵 | 「小」のあとに半角スペースがあります。 分かりにくいですが、3バイトを指定した時は、 「小」+「 」(半角スペース)を取り出しています。 |
LEFTB関数 よくある質問(FAQ)
よくある質問(FAQ)をまとめました。
- Q1: LEFT関数とLEFTB関数の違いは?
- A1: LEFT関数は「文字数」で、LEFTB関数は「バイト数」で文字列を切り出します。全角文字は2バイト、半角文字は1バイトです。
- Q2: LEFTB関数は全角と半角をどう判別していますか?
- A2: Excelが自動的に全角を2バイト、半角を1バイトとしてカウントしています。
- Q3: LEFTB関数でマルチバイト文字が途中で切れることはありますか?
- A3: はい。指定したバイト数が中途半端な場合、文字の一部だけが抽出されてしまうことがあります。
- Q4: LEFTB関数がうまく動かない原因と対処法は?
- A4: 入力ミスや空白セルの指定、バイト数の指定ミスが原因です。TRIM関数やCLEAN関数と併用してみてください。
- Q5: LEFTB関数はどんな場面で役立ちますか?
- A5: 全角・半角が混ざった文字列から正確に一部を抽出したいときに便利です。特に日本語データの処理に向いています。
まとめ

マッスルたけ
LEFTB関数では、左端から指定のバイト数分の文字を取り出す関数だから、使い方次第ではいろんな応用ができる。データの加工などでも意外に使う場面があるから覚えておいて損はないぞ。
LEFTB関数とLEFT関数では結果が違うから、取り出した結果はしっかり確認してくれよな!
コメント