エクセル関数辞典 エクセル関数辞典

LEN・LENB関数の使い方|文字数・バイト数をカウント

LEN LENB 文字数カウント バイト数 Excel関数
広告スペース (article-top)

LEN関数は文字列の文字数を、LENB関数はバイト数を返す関数です。入力データの文字数制限チェック、空白セルの判定、全角・半角の混在確認など、データ管理の場面で幅広く活躍します。この記事では、2つの関数の違いと実務での具体的な活用方法を解説します。

LEN関数・LENB関数の基本構文

LEN関数

=LEN(文字列)

文字列に含まれる文字数を返します。全角・半角を問わず、1文字を1としてカウントします。

LENB関数

=LENB(文字列)

文字列のバイト数を返します。半角文字は1バイト、全角文字は2バイトとしてカウントします。

引数の説明

引数説明必須/任意
文字列文字数またはバイト数を調べる対象の文字列やセル参照必須

LEN関数とLENB関数の違い

2つの関数は全角文字と半角文字の扱いが異なります。以下の表で確認します。

文字列LEN関数の結果LENB関数の結果
Excel55
エクセル48
ABC12366
東京都渋谷区612
テスト33
テスト36

LEN関数は全角・半角に関係なく文字数を返しますが、LENB関数は全角文字を2バイト、半角文字を1バイトとしてカウントします。この違いを利用して、文字列に全角文字が含まれているかどうかを判定できます。

全角文字の有無を判定する方法

LEN関数とLENB関数の結果が一致すれば、その文字列はすべて半角文字で構成されています。

=IF(LEN(A2)=LENB(A2), "半角のみ", "全角を含む")

全角文字数だけを数える方法

LENB関数の結果からLEN関数の結果を引くと、全角文字の数がわかります。

=LENB(A2)-LEN(A2)

この式の結果は全角文字1文字につき1が加算されます。たとえば「ABC東京」の場合、LENB関数は7、LEN関数は5なので、差は2です。全角文字(東、京)が2文字であることと一致します。

実践例1:入力文字数の制限チェック

顧客備考欄の文字数管理

顧客管理シートで、備考欄の入力文字数が上限を超えていないかチェックします。

A列(顧客名)B列(備考)C列(文字数)D列(判定)
2田中商事月末締め翌月払い8OK
3鈴木工業納品は第2倉庫へ。担当の山田宛に事前連絡必須。午前中指定。27NG
4佐藤物産請求書は本社宛7OK

C列に文字数を表示する数式です。

=LEN(B2)

D列で20文字以内かを判定します。

=IF(LEN(B2)<=20, "OK", "NG")

商品コードの桁数チェック

商品コードが所定の桁数(8桁)であるかを検証します。

=IF(LEN(A2)=8, "正常", "桁数エラー")

桁数が足りない場合や超過している場合にエラーとして検出できます。データのインポート前に一括チェックする際に便利です。

実践例2:電話番号・郵便番号の形式検証

電話番号のハイフンを除いた桁数チェック

電話番号のハイフンを除いた数字の桁数を確認して、正しい形式かを検証します。SUBSTITUTE関数と組み合わせます。

=LEN(SUBSTITUTE(A2, "-", ""))
A列(電話番号)数式の結果
203-1234-567810
3090-1234-567811
40120-123-45610

判定まで行う場合は次のようにします。

=IF(OR(LEN(SUBSTITUTE(A2,"-",""))=10, LEN(SUBSTITUTE(A2,"-",""))=11), "正常", "要確認")

郵便番号の形式チェック

郵便番号が「3桁-4桁」の正しい形式かを確認します。

=IF(AND(LEN(A2)=8, MID(A2,4,1)="-"), "正常", "形式エラー")

全体が8文字(数字3桁+ハイフン+数字4桁)で、4文字目がハイフンであるかを同時にチェックしています。

実践例3:LENB関数で全角半角の混在を検出

顧客データの半角カナチェック

顧客名簿で、カナ氏名が全角カタカナで統一されているかをチェックします。

A列(カナ氏名)B列(判定)
2タナカタロウ全角のみ
3タナカタロウ半角のみ
4タナカタロウ混在

B列の数式です。

=IF(LEN(A2)*2=LENB(A2), "全角のみ", IF(LEN(A2)=LENB(A2), "半角のみ", "混在"))

すべて全角であれば、LENB関数の結果はLEN関数の結果の2倍になります。すべて半角であれば、両者は一致します。どちらにも該当しない場合は全角と半角が混在しています。

住所データの全角数字チェック

住所に含まれる数字が全角か半角かを確認し、データの統一に役立てます。

=IF(LENB(A2)>LEN(A2), "全角文字を含む", "半角のみ")

空白や不要な文字の検出

見えないスペースの検出

データの前後や途中に不要なスペースが含まれていないかをチェックします。TRIM関数と組み合わせて使います。

=IF(LEN(A2)=LEN(TRIM(A2)), "問題なし", "不要なスペースあり")

TRIM関数は前後のスペースと連続するスペースを除去します。TRIM関数を適用した後の文字数が元と異なれば、不要なスペースが含まれていることがわかります。

空白セルと空文字列の判定

空白に見えるセルが本当に空なのか、スペースが入力されているのかを判別します。

=IF(LEN(A2)=0, "空セル", LEN(A2) & "文字")

空白に見えてもスペースが入力されているセルは、LEN関数が0以外の値を返します。

他の関数との組み合わせ

RIGHT関数との組み合わせ

末尾の数文字を可変長で抽出する場合に、LEN関数を使います。

=RIGHT(A2, LEN(A2)-FIND("@", A2))

この数式はメールアドレスから@マーク以降のドメイン部分を抽出します。

IF関数・条件付き書式との組み合わせ

LEN関数の結果を条件付き書式に利用すれば、文字数が上限を超えたセルを自動的に色付けできます。条件付き書式のルールに以下の数式を設定します。

=LEN(A2)>20

この条件をTRUEに設定し、背景色を赤にすれば、20文字を超えるセルが視覚的に目立ちます。

SUMPRODUCT関数との組み合わせ

範囲内の文字数を合計する場合はSUMPRODUCT関数を使います。

=SUMPRODUCT(LEN(A2:A100))

特定の文字の出現回数を数えることもできます。以下はA2:A100の範囲で「東京」という文字列が何回出現するかを数える数式です。

=SUMPRODUCT((LEN(A2:A100)-LEN(SUBSTITUTE(A2:A100,"東京","")))/2)

Google スプレッドシートでの互換性

LEN関数はGoogle スプレッドシートでも同じ構文で使用できます。ただし、LENB関数はGoogle スプレッドシートではサポートされていません。Google スプレッドシートでバイト数を計算する場合は、別の方法(Google Apps Scriptなど)を検討する必要があります。

まとめ

LEN関数とLENB関数は、文字列の長さを調べるシンプルな関数ですが、活用範囲は広いです。

  • LEN関数は文字数、LENB関数はバイト数を返す
  • 2つの関数の差を利用して全角・半角の混在を検出できる
  • 入力文字数の制限チェックや桁数検証に有効
  • SUBSTITUTE関数やTRIM関数と組み合わせることでデータクレンジングに活用できる
  • 空白セルの判定や不要スペースの検出にも使える

データの品質管理やフォーマットの統一に欠かせない関数です。他の文字列関数と組み合わせて活用してください。

広告スペース (article-bottom)

あわせて読みたい