Excelで氏名、商品名、住所、管理番号などの文字列を扱うとき、文字数だけでなくバイト数を確認したい場面があります。

たとえば、半角20バイトまでのシステム項目へデータを登録する場合、見た目の文字数が同じでも全角文字を含むかどうかで入力可能かどうかが変わります。

エクセルではLENB関数を使うと、文字列をバイト単位で数えられます。

文字数を数える関数はLEN関数です。

バイト数を数える関数はLENB関数です。

半角英数字は通常1バイト、全角文字は通常2バイトとして計算されます。

この記事では、Excelで文字列のデータ容量を調べるための関数、全角と半角が混在した場合の考え方、入力制限の判定式まで順番に解説します。

サンプルデータは1行目が見出し、2行目以降が対象データである前提です。

 

エクセルでバイト数を数えるLENB関数

それではまず、Excelで文字列のバイト数をカウントするLENB関数について解説していきます。

A列 B列 C列
商品コード 商品名 バイト数
A-100 ノートPC 8
B-200 Office365 9

 

LENB関数の基本構文

LENB関数は、指定したセルまたは文字列に含まれるデータのバイト数を返す関数です。

数式

=LENB(B2)

B2セルに入力された文字列を数え、その結果を数式を入力したセルへ表示します。

LENBの末尾に付くBはByteを示す文字であり、文字の個数ではなくデータ量の目安を確認するために使います。

上記の例では、B2セルのノートPCは全角のノートが6バイト、半角のPCが2バイトとなるため、合計8バイトです。

エクセルでバイト数を数えるLENB関数 - LENB関数の基本構文

関数名は半角英字で入力しますが、大文字と小文字の違いは計算結果に影響しません。

数式を入力した後にEnterキーを押すと、セル内にバイト数が数値として表示されます。

 

対象セルを指定する入力手順

続いては、LENB関数をワークシートへ入力する操作を確認していきます。

まず、バイト数を表示したいC2セルを選択します。

数式バーまたはセルへ、=LENB(B2)と入力しましょう。

ここで大切なのは、かっこ内には数えたい文字列が入っているセルを指定することです。

エクセルでバイト数を数えるLENB関数 - 対象セルを指定する入力手順

B2ではなくC2を指定すると、数式自身が入るセルを参照する循環参照になるため注意が必要です。

対象データが別のシートにある場合は、=LENB(顧客一覧!B2)のようにシート名とセル番地を指定できます。

スペースを含むシート名では、シート名の前後にシングルクォーテーションが自動で付くことがあります。

 

複数行へ数式をコピーする方法

続いては、作成したLENB関数を複数のデータ行へ適用する方法を確認していきます。

C2セルの右下に表示される小さな四角形は、フィルハンドルと呼ばれます。

このフィルハンドルを下方向へドラッグすると、C3、C4以降にも参照先を自動調整した数式がコピーされます。

C2の数式が=LENB(B2)の場合、1行下へコピーしたC3では=LENB(B3)になります。

このように行番号が変化する参照を相対参照といいます。

データが連続している表なら、フィルハンドルをダブルクリックする方法も便利です。

数式をコピーした後は、空白セルの行が0と表示されることも確認しておくとよいでしょう。

【操作のポイント】LENB関数は結果列の先頭セルへ入力し、フィルハンドルで下方向へ展開すると入力ミスを減らせます。

 

全角文字と半角文字のバイト数

続いては、全角文字と半角文字によってバイト数が変わる仕組みを確認していきます。

入力例 LEN関数 LENB関数
ABC 3 3
ABC 3 6
東京A1 4 6

 

文字数とバイト数の違い

全角文字と半角文字のバイト数 - 文字数とバイト数の違い

LEN関数は文字の個数を返し、LENB関数は文字列が占めるバイト数を返します。

ABCとABCはどちらも3文字なので、LEN関数の結果は3です。

一方で、半角のABCは3バイト、全角のABCは6バイトとなります。

見た目の長さとデータ容量は一致しないことが、バイト数を確認する際の重要なポイントです。

カタカナ、ひらがな、漢字、全角記号は、多くのExcel環境で1文字あたり2バイトとして扱われます。

英数字、半角カナ、半角記号、半角スペースは、原則として1文字あたり1バイトです。

 

スペースと記号を含むデータの確認

続いては、スペースや記号を含む文字列の数え方を確認していきます。

半角スペースも文字列の一部として扱われるため、LENB関数では1バイトに含まれます。

全角スペースは全角文字と同様に扱われ、通常は2バイトです。

入力値がA Bの場合

=LENB(B2)

結果は3です。

ハイフン、スラッシュ、括弧なども、全角か半角かによって結果が異なります。

コピー元がWebサイトやPDFの場合は、気付かないうちに全角記号や全角スペースが混ざることがあります。

全角文字と半角文字のバイト数 - スペースと記号を含むデータの確認

システムへの登録エラーを防ぐには、表示上の文字数だけで判断せず、LENB関数の結果を確認する習慣が役立ちます。

 

絵文字と環境差の注意点

続いては、絵文字や特殊文字を含むデータを確認していきます。

LENB関数は、Excelのバージョン、使用言語、文字コードの扱いによって、直感と異なる値になる場合があります。

特に絵文字、外字、サロゲートペアを含む文字列では、単純に全角2バイトと考えないほうが安全です。

データベースや外部システムへ登録する目的なら、実際に登録先で採用されている文字コードと入力制限も必ず確認しましょう。

Excel上のLENB関数の値は便利な目安ですが、すべてのシステムの保存容量を完全に保証する数値ではありません。

【操作のポイント】全角と半角が混在する列では、LEN関数とLENB関数を並べて表示すると違いを見つけやすくなります。

 

入力可能なバイト数を判定する数式

続いては、指定した上限バイト数に収まっているかをExcelで判定する数式を確認していきます。

A列 B列 C列
管理番号 登録名 20バイト判定
001 東京オフィスA 入力可
002 大阪営業部東エリア 超過

 

IF関数とLENB関数を組み合わせる方法

それではまず、バイト数の上限を超えたデータを文字で判定する方法について解説していきます。

数式

=IF(LENB(B2)<=20,”入力可”,”超過”)

この数式では、B2セルのバイト数が20以下なら入力可、21以上なら超過と表示します。

比較記号の<=は、以下を意味します。

上限ちょうど20バイトのデータを許可したい場合に適した条件です。

判定結果を文字で表示しておけば、データを確認する人にも意味が伝わりやすくなります。

 

数式バーとオートフィルの操作画面

続いては、判定式を入力して下の行までコピーする画面を確認していきます。

byte-check.xlsx – Excel− □ ×
ホーム挿入ページ レイアウト数式データ
BI罫線中央揃えΣ
C2fx=IF(LENB(B2)<=20,”入力可”,”超過”)
A B C
1 管理番号 登録名 判定
2 001 東京オフィスA 入力可
3 002 大阪営業部東エリア 超過
➤
C2の右下を下へドラッグ

赤枠のC2セルへ数式を確定した後、セル右下のフィルハンドルを下へ引っ張ると、各行の登録名を自動判定できます。

大量のデータでは、隣接列に入力済みの範囲までフィルハンドルをダブルクリックすると効率的です。

 

条件付き書式による超過データの表示

続いては、バイト数が上限を超えたデータを色で見つける方法を確認していきます。

対象となるB2からB100などの範囲を選択し、ホームタブの条件付き書式から新しいルールを選択します。

数式を使用して、書式設定するセルを決定を選び、=LENB(B2)>20と入力します。

条件付き書式の数式

=LENB(B2)>20

書式ボタンで薄い赤の塗りつぶしや赤い文字を選ぶと、21バイト以上のセルが目立つ表示になります。

判定列を作らずに、元データそのものを視覚的に確認できる点が条件付き書式の利点です。

【操作のポイント】上限値を変更する可能性がある場合は、20を固定で書かず、別セルに設定した上限値を参照すると管理しやすくなります。

 

バイト数を集計するSUMB関数と代替方法

続いては、複数セルのバイト数を合計したい場合の考え方を確認していきます。

A列 B列 C列
項目 入力内容 バイト数
氏名 山田太郎 8
部署 営業部 6

 

SUMB関数が使えない理由

それではまず、バイト数を合計する際に混同しやすい関数名について解説していきます。

ExcelにはSUM関数がありますが、SUMBという標準関数はありません。

複数のセルにある文字列のバイト数を合計したいときは、まず各セルでLENB関数を計算し、その結果をSUM関数で加算します。

数式

=SUM(C2:C10)

C列にLENB関数の結果を表示しておけば、集計行で通常のSUM関数を使用できます。

作業列を使う方法は、計算内容を確認しやすく、後から修正する場合にもわかりやすい構成です。

 

配列計算で合計する方法

続いては、バイト数の計算列を作らずに合計する方法を確認していきます。

Microsoft 365や新しいExcelでは、SUMPRODUCT関数を用いて複数セルのLENB結果を合計できます。

数式

=SUMPRODUCT(LENB(B2:B10))

この式はB2からB10に入力された各文字列のバイト数を求め、その合計を返します。

ただし、Excelのバージョンや配列数式の対応状況によって動作が異なることがあるため、共有ファイルでは事前確認が必要です。

業務用の台帳では、各行のバイト数を見える形で残す方法のほうが確認しやすいでしょう。

 

連結後の文字列を確認する方法

続いては、複数セルを結合した後の文字列について確認していきます。

氏名と部署を連結して外部システムへ渡す場合は、連結後の文字列全体をLENB関数で数える必要があります。

数式

=LENB(B2&” “&C2)

この例ではB2とC2の間へ半角スペースを挿入してから、完成した文字列のバイト数を求めます。

区切り文字のスペース、ハイフン、スラッシュも容量に含まれるため、連結前の個別の値だけでは正確に判断できません。

【操作のポイント】外部出力用の文字列は、連結が完了したセルにLENB関数を設定して最終的なバイト数を確認します。

 

LENB関数でバイト数が合わない原因

続いては、LENB関数の結果が予想と異なるときの確認ポイントを解説していきます。

確認項目 起こりやすい状態
余分なスペース 見えない空白もカウントされる
全角記号 半角記号よりバイト数が増える
文字コード 登録先の仕様と差が出る

 

前後にある不要な空白

それではまず、前後に混入した空白文字を確認していきます。

データをコピーして貼り付けた場合、文字列の先頭や末尾に半角スペースが入ることがあります。

空白は画面上で目立ちにくい一方、LENB関数では確実にバイト数へ加算されます。

数式

=LENB(TRIM(B2))

TRIM関数を組み合わせると、連続した半角スペースや文字列の前後にある半角スペースを整理した状態で数えられます。

全角スペースはTRIM関数だけでは取り除けない場合があるため、置換機能も併用しましょう。

 

全角と半角が混ざった記号

続いては、記号の種類による違いを確認していきます。

ハイフンには半角ハイフン、全角ハイフン、長音符など複数の似た文字があります。

電話番号、商品コード、メールアドレスのような文字列では、全角と半角が混在すると入力エラーの原因になりがちです。

検索と置換を使い、全角記号を半角記号へ統一すると、データ品質とバイト数の両方を整えられます。

表示が似ている文字ほど、数式の結果で確認することが重要です。

 

外部システムとの文字コード差

続いては、Excelと外部システムでの文字コード差を確認していきます。

ExcelのLENB関数は、Excel内部の文字列処理に基づくバイト数を返します。

CSVをUTF-8で保存する場合や、Webフォーム、データベース、基幹システムへ連携する場合には、保存先の文字コードで必要なバイト数が変わる可能性があります。

日本語をUTF-8で扱う環境では、漢字やひらがなが3バイトとなることもあります。

そのため、システム側が何バイト制限なのか、どの文字コードで保存するのかを仕様書で確認することが大切です。

【操作のポイント】LENB関数の結果と外部システムの制限値が一致しない場合は、文字コードの仕様を最優先で確認します。

 

データ容量を管理する実務上の工夫

続いては、文字列のバイト数を継続的に管理する実務上の工夫を確認していきます。

項目名 上限 確認式
会社名 40バイト =LENB(B2)
商品名 60バイト =LENB(C2)

 

上限値を別セルで管理する方法

それではまず、バイト数の上限を変更しやすくする表の作り方を解説していきます。

たとえばE1セルに上限バイト数として20を入力し、判定式ではE1セルを参照します。

数式

=IF(LENB(B2)<=$E$1,”入力可”,”超過”)

$記号を付けた絶対参照にすると、数式を下へコピーしても常にE1セルの上限値を参照します。

制限値を一か所だけ変更すれば、すべての判定結果を更新できるため、運用が安定します。

 

入力規則との使い分け

続いては、入力規則とLENB関数の使い分けを確認していきます。

LENB関数による判定は、すでに入力されたデータをチェックする用途に向いています。

一方で、入力時点で不適切な文字列を止めたい場合は、データの入力規則を設定する方法があります。

入力規則のユーザー設定で=LENB(B2)<=20のような式を設定すると、上限を超える入力に警告を表示できます。

ただし貼り付け操作では入力規則を回避できるケースもあるため、判定列や条件付き書式も併せて用意すると安心です。

 

CSV出力前の最終確認

続いては、CSVやテキストファイルを出力する前の確認方法を解説していきます。

外部連携用のシートでは、バイト数、超過判定、修正後の文字列を隣接列に設けると確認しやすくなります。

フィルターで超過だけを抽出すれば、修正すべきデータをまとめて処理できます。

提出前には数式の結果だけでなく、実際にCSVへ出力して受け渡し先のテスト環境で確認できると理想的です。

【操作のポイント】データ連携では、入力時の制限、一覧での判定、出力前の確認という三段階でバイト数を管理します。

 

まとめ エクセルで文字列のデータ容量を調べる関数とバイト数カウント

Excelで文字列のバイト数を調べる基本の関数はLENB関数です。

LEN関数は文字数を返すのに対し、LENB関数は半角文字と全角文字の違いを反映したバイト数を確認できます。

半角英数字は通常1バイト、全角文字は通常2バイトという基本を理解すると、入力制限のあるデータを扱いやすくなります。

上限チェックには、=IF(LENB(B2)<=20,”入力可”,”超過”)のようにIF関数を組み合わせる方法が便利です。

さらに条件付き書式を利用すれば、超過した文字列を色で見分けられます。

ただし、UTF-8などの文字コードを採用する外部システムでは、ExcelのLENB関数と実際の保存バイト数が異なることがあります。

データ連携を行うときは、相手側の文字コード、項目ごとの上限、全角半角の利用条件まで確認して、正確なデータ管理につなげましょう。

ABOUT ME
white-circle7338
私自身が今まで経験・勉強してきた「エクセル」「ビジネス用語」「生き方」などの情報を、なるべくわかりやすく、楽しく、発信していきます。 一緒に人生を楽しんでいきましょう