LEFTB関数 – 文字列操作

LEFTB関数 – バイト数に基づいて文字列の左端から文字を取得する関数


1. 使い方と活用例

LEFTB関数は、指定した文字列の左端から、指定されたバイト数分の文字を返す関数です。
主に日本語、韓国語、中国語などのダブルバイト文字(全角文字)を含む環境で使われます。
半角文字は1バイト、全角文字は2バイトとしてカウントされるため、バイト単位で文字列の長さを制御したい場面で使用されます。

2. 基本の書式

=LEFTB(text, [num_bytes])

3. 引数の説明

  • text – 必須。対象となる文字列を指定します。
  • num_bytes – 省略可能。取得したいバイト数。省略すると1バイト分が返されます。

4. 使用シーン

  • 固定長のデータから、バイト単位で文字列を切り出す必要があるとき。
  • 全角・半角混在のデータを処理する場面で、正確に文字列の一部を取得したいとき。
  • 古い業務システムや漢字コードベースのデータと連携する場合。

5. 応用のポイント

LEFTB関数は、日本語版などのダブルバイト言語設定のExcel環境でのみ有効に機能します。
英語版Excelなどでは、LEFT関数と同じ動作になり、バイト数ではなく文字数で動作します。
LEFTBは文字単位ではなくバイト数でカウントするため、全角文字を途中で切ってしまう場合がある点に注意が必要です。
切り出し後の表示や処理で文字化けを起こさないよう、バイト単位での調整が必要です。

6. 具体例とその解説

セルA1に「ABCあいう」という文字列があるとします。
この文字列は、
A(1バイト)+ B(1バイト)+ C(1バイト)+ あ(2バイト)+ い(2バイト)+ う(2バイト)= 合計9バイト

この中から、先頭の6バイト分を取得したい場合は以下のように入力します。

=LEFTB(A1, 6)

この式の結果は「ABCあ」になります。
ABCが3バイト、あが2バイト、いの前で6バイトに達するため「い」は含まれません。

7. 関連関数の紹介

  • LEFT関数 – 文字数単位で文字列の左端を取得する関数。
  • RIGHTB関数 – バイト単位で文字列の右端を取得する関数。
  • MIDB関数 – バイト単位で文字列の一部を取得する関数。
  • LENB関数 – 文字列のバイト数を返す関数。
  • TEXT関数 – 数値を文字列に変換し、表示形式を指定する関数。

8. まとめ

LEFTB関数は、バイト単位での文字列処理が必要な日本語環境において特に有用な関数です。
半角・全角が混在するデータや、固定長の文字列処理などに適しています。
ただし、ダブルバイト対応のロケールでのみ正しく動作するため、使用環境に注意しましょう。

9. 対応バージョン

LEFTB関数は、Excel 2007以降のすべてのバージョンで使用可能です。
ただし、日本語などのダブルバイト文字(DBCS)対応環境でのみ有効に機能します。