エクセル(Excel)で文字数とバイト数を簡単にチェックする方法|LEN関数とLENB関数の使い方を解説

Excelでテキストデータを扱う際、文字数やバイト数の確認が必要になる場面は意外と多いものです。たとえば、CSV形式で出力するデータのバイト数を制限したり、システムに入力する文字数制限に対応する必要がある場合です。この記事では、Excelで「文字数」と「バイト数」をそれぞれ簡単に求める方法を、関数の使い方とあわせて丁寧に解説します。文字数は LEN 関数、バイト数は LENB 関数を使うのが基本です。全角・半角の違いや注意点も含め、実用的な例を交えて解説していきます。


LEN関数で文字数を求める方法

LEN 関数は、セルに入力された文字列の「文字数」をカウントするための関数です。全角文字も半角文字も、1文字としてカウントされます。

基本の構文

=LEN(セル参照)

たとえば、セル A1 に「こんにちは」と入力されている場合、

=LEN(A1)

とすれば、結果は「5」となります。これは、5文字分の日本語が入っているためです。

半角との違いも1文字と数える

セル A1 に「abc123」と入力されているときも、

=LEN(A1)

の結果は「6」になります。全角でも半角でも、1文字=1カウントです。


LENB関数でバイト数を求める方法

LENB 関数は、「バイト数」を求める関数です。これは特に、データがバイト単位で処理されるシステムにデータを渡す場合などに使われます。

基本の構文

=LENB(セル参照)

ただし注意点として、LENB 関数はExcelの設定が日本語(または中国語、韓国語)でないと正しく機能しません。

たとえば、セル A1 に「あ」と入力されている場合、

=LENB(A1)

の結果は「2」になります。これは「あ」が2バイト文字だからです。

逆に、「a」や「1」などの半角文字は1バイトです。


LENとLENBの比較:具体例で違いを理解する

以下の表で、文字列に対して LENLENB を使ったときの違いを確認してみましょう。

入力文字列LENの結果LENBの結果(日本語設定時)
あいうえお510
abcde55
あaいbう69

このように、全角文字は2バイト半角文字は1バイトとして扱われます。


応用:指定バイト数を超えた文字列を切り捨てる方法

業務で特定のバイト数以内にデータを収めたいケースでは、LEFTB 関数と組み合わせて使います。

例:10バイト以内の文字列を取得

=LEFTB(A1,10)

この式は、セル A1 の内容のうち、10バイト分までを切り出すという意味です。日本語が混じると、文字の途中で切れて文字化けすることもあるため、使い方には注意が必要です。


LEN・LENBを使った文字数チェックの実用例

1. システム入力前のチェック

入力項目に「20文字以内」の制限がある場合、次のようにして警告を表示できます。

=IF(LEN(A1)>20,"文字数オーバー","OK")

また、バイト制限がある場合は次のようになります。

=IF(LENB(A1)>40,"バイト数オーバー","OK")

2. データ整備・CSV出力時のバイトチェック

CSV形式などでバイト数制限がある場合、エクセルであらかじめチェックすることで、出力後のエラーを防げます。


LENBが正しく動作しないときの対処法

LENB は、Excelの言語設定が「日本語」になっていないと、すべての文字を1バイトとしてカウントすることがあります。

対処方法

  1. Excelのオプション画面を開く
  2. 「言語」設定を日本語に変更
  3. 再起動して再計算

この手順で日本語環境にすれば、LENB の挙動も正しくなります。


Excel 365での注意点:バイト数を明確に扱いたいならVBAも検討

Excelの関数だけでは厳密なバイト計算が難しい場合は、VBAマクロで対応する方法もあります。

例:VBAでShift-JISバイト数を取得する関数

Function ByteLength(str As String) As Long
ByteLength = LenB(StrConv(str, vbFromUnicode))
End Function

この関数を作成し、セルで次のように使えます。

=ByteLength(A1)

これで、Shift-JIS換算での正確なバイト数が取得できます。


まとめ

Excelで文字数やバイト数を確認したい場合は、LENLENB の使い分けが重要です。文字数を知りたいなら LEN、バイト数を知りたいなら LENB を使いましょう。ただし LENB の正確な挙動には言語設定の影響があるため注意が必要です。

以下のように整理しておきます:

  • 文字数の確認LEN
  • バイト数の確認LENB(日本語環境下)
  • 指定バイト数で切るLEFTB
  • 厳密なバイト数管理が必要な場合:VBAを利用

この記事を参考に、日々の業務でExcelの文字チェックをもっと効率的に行ってください。

タイトルとURLをコピーしました