Excelで文字列の先頭から指定した文字数を取り出すには LEFT関数 を使います。ただし、LEFT関数は全角・半角の区別をせず「1文字=1」としてカウントします。
ところが、システムやデータベースの仕様などで、半角は1バイト、全角は2バイト として扱う必要があるケースでは、LEFT関数では不十分です。そこで役立つのが LEFTB関数 です。本記事では、LEFT関数との違いを踏まえ、LEFTB関数の使い方と注意点をわかりやすく解説します。
LEFTB関数とは?
LEFTB関数は、指定した文字列の先頭からバイト数に基づいて文字を抽出する関数です。
- 半角文字 → 1バイト
- 全角文字 → 2バイト
として計算するため、日本語や中国語など全角文字が含まれる場合に便利です。
書式
=LEFTB(文字列, バイト数)
- 文字列:文字を取り出したいセル参照または文字列を指定します。
- バイト数:先頭から取り出したいバイト数を指定します。
使用例
- 半角文字の抽出
=LEFTB("ABC",2)
→ 結果:AB
(A=1バイト, B=1バイト) - 全角文字の抽出
=LEFTB("あいう",4)
→ 結果:あい
(あ=2バイト, い=2バイト)
指定したバイト数は超えない
例えば、次の数式を考えます。
=LEFTB("あいうえお",3)
- あ・い・う・え・お はすべて全角文字なので、それぞれ 2バイト で計算されます。
- 3バイト指定の場合、最初の「あ」(2バイト)は含まれますが、次の「い」(2バイト目)を追加すると合計が4バイトとなり、指定した3バイトを超えてしまいます。
そのため、結果は 「あ」だけが返される ことになります。
活用例
- システム入力制限に合わせたデータ整形
データベースなどで全角・半角が混在する入力を制限バイト数に合わせて切り出したいときに便利です。 - バイト単位での表示調整
メール件名や帳票出力など、文字数ではなくバイト数制約があるシステムに対応できます。
注意点
- 言語設定依存
半角=1バイト、全角=2バイトとして扱うのは日本語や中国語などの言語設定環境のみです。英語版ExcelではLEFT関数と同じ結果になります。 - バイト数が途中の全角文字にかかると切り捨て
例えば6バイト指定で「あい(各2バイト)」に「う」を追加すると、ちょうど切りの良い位置まで表示されますが、バイト数が中途半端な場合はその文字は含まれません。
関連関数
- LEFT関数:文字数単位で先頭から文字を抽出
- RIGHTB関数:バイト数単位で末尾から文字を抽出
- MIDB関数:バイト数単位で指定位置から文字を抽出
- LENB関数:文字列のバイト数を返す
まとめ
LEFTB関数は、文字列の先頭からバイト数単位で文字を取り出す関数です。
- 書式:
=LEFTB(文字列, バイト数)
- 半角1バイト・全角2バイトでカウント
- データベースやシステムのバイト数制限に対応する際に便利