- 更新日 : 2025年8月25日
LEFTB関数の使い方:バイト単位で文字列を抽出する方法
LEFTB関数は、文字列の左端から指定したバイト数分の文字を抽出する関数です。通常のLEFT関数が文字数単位で抽出するのに対し、LEFTB関数はバイト単位で処理を行うため、全角文字と半角文字が混在するデータを扱う際に特に有効です。
例えば、システムから出力されたデータで文字幅が固定されている場合や、全角半角を考慮した文字列処理が必要な場合に適しています。
本記事では、LEFTB関数の基本的な使い方から実践的な活用シーン、エラー対処法まで詳しく解説していきます。
目次
LEFTB関数とは
LEFTB関数は、文字列の左側から指定したバイト数分の文字を取り出す関数です。日本語環境では、全角文字は2バイト、半角文字は1バイトとして扱われるため、全角と半角が混在するテキストを正確に処理できます。
LEFTB関数の特長は、文字の表示幅を意識した処理が可能な点です。例えば、伝票番号や商品コードなど、固定長のデータから必要な部分を抽出する際に、全角文字が含まれていても正確に処理できます。データベースやレガシーシステムとの連携において、バイト単位での文字列処理が求められる場面で重宝します。
LEFTB関数の基本的な使い方
関数の構文を理解する
LEFTB関数の基本的な構文は次のとおりです。
=LEFTB(文字列, バイト数)
文字列は、抽出元となるテキストまたはセル参照を指定します。バイト数は、左端から抽出したいバイト数を指定します。バイト数を省略すると1が指定されたものとして処理されます。
基本的な使用例
実際の使用例を見てみましょう。A1セルに「東京都港区」という文字列が入力されている場合を考えます。
=LEFTB(A1, 6)
この数式では、「東京都」が抽出されます。全角文字は1文字あたり2バイトなので、3文字分(6バイト)が取り出されます。
半角文字が混在する場合の例も見てみましょう。
A2セルに「ABC東京」という文字列がある場合:
=LEFTB(A2, 5)
この結果は「ABC東」となります。半角の「ABC」が3バイト、全角の「東」が2バイトで、合計5バイト分が抽出されます。
LEFT関数との違いを理解する
LEFT関数とLEFTB関数の違いを具体例で確認しましょう。「営業部123」という文字列に対して、それぞれの関数を使用した場合の結果を比較します。
LEFT関数の場合:
=LEFT(“営業部123”, 5)
結果:「営業部12」(5文字分)
LEFTB関数の場合:
=LEFTB(“営業部123”, 5)
結果:「営業」(全角2文字で4バイト、次の「部」は全角2 バイトなので、追加すると合計6 バイトとなり上限5 バイトを超えるため「部」以降は切り捨てられる)
この違いを理解することで、用途に応じて適切な関数を選択できます。
LEFTB関数の実践的な利用シーン
固定長データの処理
企業の基幹システムから出力されるデータは、しばしば固定長形式になっています。例えば、商品コードの先頭8バイトがカテゴリを表す場合、LEFTB関数で効率的に抽出できます。
商品コード「JP01東京支店001」から地域コードを抽出する場合、全角文字の存在を考慮してバイト単位で処理する必要があります。このような場面でLEFTB関数を使用することで、確実に必要な情報を取り出せます。
帳票データの整形
請求書や納品書などの帳票データを処理する際、顧客名や住所などの項目が固定幅で管理されていることがあります。印刷時のレイアウトを考慮して、指定バイト数で文字列を切り取る必要がある場合、LEFTB関数が活躍します。
例えば、宛名ラベルの印刷で会社名を20バイト以内に収める必要がある場合、LEFTB関数を使って適切な長さに調整できます。
データベース連携での活用
外部データベースとエクセルを連携させる際、文字コードやバイト数の制約を考慮する必要があります。特に、レガシーシステムとの連携では、バイト単位での厳密な文字列処理が求められます。
データベースに登録する前の文字列チェックや、既存データの移行作業において、LEFTB関数を使用してバイト数を確認し、必要に応じて切り詰め処理を行います。
LEFTB関数の応用テクニック
動的なバイト数指定
バイト数を別のセルから参照することで、柔軟な文字列抽出が可能になります。例えば、B1セルに抽出したいバイト数を入力しておき、次のような数式を作成します。
=LEFTB(A1, B1)
これにより、B1の値を変更するだけで、抽出するバイト数を簡単に調整できます。複数のデータに対して同じ処理を行う場合に便利です。
条件付き抽出
IF関数と組み合わせることで、条件に応じた文字列抽出が可能です。例えば、文字列の長さによって抽出バイト数を変える場合、
=IF(LENB(A1)>10, LEFTB(A1, 10), A1)
この数式では、元の文字列が10バイトを超える場合は10バイトまで抽出し、それ以下の場合は元の文字列をそのまま返します。
全角半角の判定と組み合わせ
文字列に含まれる全角文字の数を確認しながら処理する場合、LEN関数とLENB関数の差を利用します。
=LEFTB(A1, LENB(A1)-LEN(A1)+3)
この数式は、全角文字の数を考慮して、文字列の先頭から一定の文字数分を抽出する際に使用できます。
よくあるエラーと対策
文字化けへの対処
LEFTB関数で全角文字を扱う際、バイト数の指定が不適切だと文字化けが発生することがあります。全角文字の途中でバイト数が切れると、最後の文字が正しく表示されません。
この問題を回避するには、抽出後の文字列が正しく表示されているか確認し、必要に応じてバイト数を調整します。また、LENB関数で事前に文字列の総バイト数を確認することも重要です。
空白文字の扱い
全角スペースと半角スペースが混在する場合、見た目は同じでもバイト数が異なるため、予期しない結果になることがあります。
TRIM関数やSUBSTITUTE関数で事前にスペースを統一してからLEFTB関数を使用することで、この問題を回避できます。
=LEFTB(SUBSTITUTE(A1, “ ”, ” “), 10)
数値データの処理
セルに 数値型 で格納されているデータに LEFTB を適用する場合は、まず文字列に変換する必要があります。TEXT 関数や連結演算子 (&””) を使って文字列化してから処理しましょう。
=LEFTB(TEXT(A1, “0”), 5) ‘ A1 が数値型の場合
LEFTB関数と他の関数との組み合わせ
RIGHTB関数との併用
文字列の両端から特定のバイト数を抽出したい場合、LEFTB関数とRIGHTB関数を組み合わせます。
例:20バイトの固定長データから、先頭5バイトと末尾3バイトを除いた中間部分を抽出
=RIGHTB(LEFTB(A1, 17), 12)
この数式では、まずLEFTB関数で先頭17バイトを取得し、その結果からRIGHTB関数で後ろ12バイトを抽出しています。
MIDB関数での中間抽出
文字列の中間部分を抽出する場合は、MIDB関数と組み合わせることで、より効率的な処理が行えます。
例:商品コード「CAT-2024-PROD-001」から年度部分を抽出
=IF(LEFTB(A1, 3)=”CAT”, MIDB(A1, 5, 4), “”)
先頭3バイトが「CAT」の場合のみ、5バイト目から4バイト分(2024)を抽出します。
CONCATENATE関数での文字列結合
LEFTB関数で抽出した文字列を他の文字列と結合する場合、CONCATENATE関数または&演算子を使用します。
例:顧客コードの先頭6バイトに支店コードを付加
=CONCATENATE(LEFTB(A1, 6), “-“, B1)
または
=LEFTB(A1, 6) & “-” & B1
SUBSTITUTE関数での置換処理
抽出した文字列に対して置換処理を行う場合の組み合わせ例:
例:商品名の先頭10バイトを抽出し、半角カナを全角カナに変換
=SUBSTITUTE(SUBSTITUTE(LEFTB(A1, 10), “ア”, “ア”), “イ”, “イ”)
実際の使用では、より包括的な変換関数を作成することが推奨されます。
FIND関数での位置検索
特定の文字が現れる位置までを バイト単位 で抽出したい場合は、文字単位の位置を求めたあと LENB で正確なバイト数に変換すると安全です。
例:最初の「-」までの文字列を抽出(バイト単位)
=LEFTB( A1 , LENB( LEFT( A1 , FIND(“-“, A1 ) – 1 ) ) )
- FIND(“-“,A1) でハイフンの文字位置を取得し、-1 して「ハイフンより前」の文字列を LEFT で取り出す。
- その文字列に対し LENB で 正確なバイト長 を算出。
- そのバイト長を LEFTB に渡して抽出。
実務での注意点とベストプラクティス
文字コードの確認
異なるシステム間でデータをやり取りする際は、文字コードの違いに注意が必要です。Shift-JISとUTF-8では、同じ文字でもバイト数が異なる場合があります。
エクセルは基本的にUnicodeを使用していますが、外部システムとの連携時には文字コードを確認し、必要に応じて変換処理を行いましょう。
パフォーマンスの最適化
大量のデータに対してLEFTB関数を使用する場合、計算速度が遅くなることがあります。可能な限り、計算結果を値として貼り付けることで、再計算の負荷を軽減できます。
また、配列数式として使用する場合は、必要最小限の範囲に限定することで、パフォーマンスを向上させられます。
エラーハンドリング
LEFTB関数を使用する際は、エラーが発生する可能性を考慮して、IFERROR関数でラップすることを推奨します。
=IFERROR(LEFTB(A1, 10), “”)
これにより、エラーが発生した場合でも、空文字列を返すなど適切な処理が可能になります。
LEFTB関数でバイト単位の文字列処理を正確に行う
LEFTB関数は、バイト単位での文字列処理が必要な場面で文字幅を考慮した処理に適した関数です。全角と半角が混在する日本語環境では、特に効果を発揮します。
固定長データの処理やシステム連携など、実務の様々な場面で活用できるこの関数をマスターすることで、より精密なデータ処理が可能になります。LEFT関数との使い分けを理解し、他の関数と組み合わせることで、複雑な文字列処理も効率的に行えるようになるでしょう。
この記事をお読みの方におすすめのガイド5選【部署別紹介】
最後に、この記事をお読みの方によく活用いただいている人気の資料・ガイドを紹介します。すべて無料ですので、ぜひお気軽にご活用ください。
経理担当者向け
①Excel関数集 32選まとめブック
経理担当者の方をはじめ、ビジネスパーソンが知っておきたい便利なExcel関数集を初級~上級までギュッと網羅。新人社員の研修用などにもお使いいただけます。Google スプレッドシートならではの関数もご紹介しています。
②勘定科目・仕訳辞典(税理士監修)
勘定科目・仕訳に関する基本知識、および各勘定科目の仕訳例を具体的かつ網羅的にまとめた、50ページを超えるガイドを無料で提供しております。お手元における保存版としてでだけでなく、従業員への印刷・配布用としてもぜひご活用ください。
人事労務担当者向け
①入社・退職・異動の手続きガイドブック
書類の回収・作成・提出など手間のかかる入社・退職・異動(昇給・昇格、転勤)の手続き。
最新の制度をもとに、よくある質問やチェックポイントを交えながら、各手続きに必要な情報をまとめた人気のガイドですす。
②社会保険・労働保険の手続きガイド
企業において社会保険および労働保険の加入・喪失手続きは必ず発生し、手続きを誤れば保険事故が発生した際に従業員が不利益を被る可能性があります。
各保険の基本的な手続き方法を入社・退職・異動のシーン別にギュッとまとめた分かりやすいガイドです。
総務・法務担当者向け
契約書ひな形まとめ30選
業務委託契約書や工事請負契約書…など各種契約書や、誓約書、念書・覚書、承諾書・通知書…など、使用頻度の高い30個のテンプレートをまとめた、無料で使えるひな形パックです。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
WORKDAY関数の使い方をわかりやすく解説
WORKDAY関数は、ビジネスにおける日付計算を効率的に行うための便利なツールです。本記事では、WORKDAY関数の基本的な使い方から、利用シーンや土日、祝日を除外した計算方法までを詳しく解説します。また、結果がズレてしまう場合の原因や対処…
詳しくみるスプレッドシートで売上管理を効率化するには?実践的な管理表の作り方と必須関数の活用法
Googleスプレッドシートを使った売上管理は、中小企業や個人事業主にとって、コストを抑えながら効果的にビジネスデータを管理できる最適な方法です。本記事では、スプレッドシートで売上管理表を作成する際に必要な項目の選定から、業務で活用できる関…
詳しくみるRATE関数の使い方:ローンや投資の利率を逆算する方法
RATE関数は、定期的な支払いがある金融商品の利率を計算するエクセルの財務関数です。ローンの実質年率の確認、投資商品の利回り計算、リース料率の算出など、様々な金融計算で活用されています。月々の支払額や期間、借入額から利率を逆算できるため、金…
詳しくみるスプレッドシートでインデントを設定するには?見やすいレイアウトの実現方法
Googleスプレッドシートでは、インデントを設定することでデータの階層をわかりやすく整理できます。現在はツールバーから直接インデントを調整できるほか、REPT関数や表示形式の工夫で柔軟なレイアウトも可能です。 本記事では、最新のスプレッド…
詳しくみるスプレッドシートでCSVを扱うには?インポートから文字化け対策まで解説
GoogleスプレッドシートとCSV (Comma Separated Values)ファイルの連携は、データ交換の基本でありながら、文字化けやフォーマットの問題など、様々な課題が存在します。CSVは汎用性が高く、多くのシステムやアプリケー…
詳しくみるスプレッドシートの日付表示とは?表示形式の種類から変更方法、エラー解決まで解説
Googleスプレッドシートで日付を適切に表示することは、見やすい資料作成やデータ管理の基本です。和暦・西暦の切り替え、曜日の追加、月日のみの表示など、用途に応じた日付表示形式を使いこなすことで、プロフェッショナルな文書を効率的に作成できま…
詳しくみる



