Excel関数 逆引き集 | 半角文字数を取得 → LENB

Excel
スポンサーリンク

概要

「この文字列の“半角文字”はいくつ?」
「全角と半角が混ざっているけど、半角だけ数えたい」
「ID やコードが“半角のみ”で入力されているかチェックしたい」

こうした場面で使うのが LENB(レンビー)関数です。

LENB は バイト数 を返す関数で、

  • 半角文字 → 1 バイト
  • 全角文字 → 2 バイト

というルールでカウントします。

この性質を利用すると、
半角文字数を正確に取り出すことができます。


LEN と LENB の違い

LEN(文字数)

=LEN(A1)
  • 全角も半角も「1文字」として数える
  • 例:「abcエク」→ LEN = 5

LENB(バイト数)

=LENB(A1)
  • 半角=1バイト
  • 全角=2バイト
  • 例:「abcエク」→ 半角3+全角2×2=7バイト → LENB = 7

半角文字数を求める基本式

半角文字数は次の式で求められます。

半角文字数 = LENB − 全角文字数×1

全角文字数は
LENB − LEN
で求められるので、

半角文字数は次のように書けます。

半角文字数のテンプレート

=LEN(A1) - (LENB(A1) - LEN(A1))

仕組み:

  • LEN(A1) → 全角+半角の総文字数
  • LENB(A1)−LEN(A1) → 全角文字数
  • 総文字数 − 全角文字数 → 半角文字数

パターン1:セル内の半角文字数を取得する

最も基本的な半角文字数取得式

=LEN(A1) - (LENB(A1) - LEN(A1))

例:A1 = 「abcエク123」

  • LEN = 8
  • LENB = 10
  • 全角数 = 10−8 = 2
  • 半角数 = 8−2 = 6

パターン2:半角文字が含まれているか判定する

半角が1文字でもあれば「半角あり」

=IF(LEN(A1)-(LENB(A1)-LEN(A1))>0,"半角あり","半角なし")

パターン3:半角のみで構成されているかチェック

全角が1文字もなければ「半角のみ」

=IF(LENB(A1)=LEN(A1),"半角のみ","全角混在")

理由:
全角があると LENB が LEN より大きくなるため。


パターン4:半角文字数が上限以内かどうか判定

半角文字数が 10 以下なら OK

=IF(LEN(A1)-(LENB(A1)-LEN(A1))<=10,"OK","NG")

パターン5:半角・全角の両方を表示する

半角数と全角数を同時に出す

半角数:

=LEN(A1)-(LENB(A1)-LEN(A1))

全角数:

=LENB(A1)-LEN(A1)

これを並べれば、
「半角:◯文字/全角:◯文字」
というチェック表が作れます。


注意点

絵文字・特殊記号は例外になることがある

LENB は「全角=2バイト」という前提で動きますが、
絵文字など一部の Unicode 文字は 2 バイトではないため、
正確にカウントできない場合があります。

一般的な日本語+英数字の範囲では問題ありません。


例題

問題1

A1 の文字列に含まれる 半角文字数 を求める式を書いてください。

=LEN(A1)-(LENB(A1)-LEN(A1))

問題2

A1 に半角文字が 1 文字でも含まれていれば「半角あり」、
含まれていなければ「半角なし」と表示する式を書いてください。

=IF(LEN(A1)-(LENB(A1)-LEN(A1))>0,"半角あり","半角なし")

問題3

A1 が「半角のみ」で構成されている場合は「OK」、
全角が混ざっている場合は「NG」と表示する式を書いてください。

=IF(LENB(A1)=LEN(A1),"OK","NG")

問題4

A1 の半角文字数が 10 以下なら「OK」、
11 以上なら「NG」と表示する式を書いてください。

=IF(LEN(A1)-(LENB(A1)-LEN(A1))<=10,"OK","NG")

問題5

A1 の文字列について、
半角文字数と全角文字数をそれぞれ B1 と C1 に表示したいです。
B1 と C1 に入れる式を書いてください。

B1(半角文字数):

=LEN(A1)-(LENB(A1)-LEN(A1))

C1(全角文字数):

=LENB(A1)-LEN(A1)

まとめ

半角文字数を取得するには、
LEN と LENB の差を利用するのが最も確実です。

基本形はこれだけ。

=LEN(A1)-(LENB(A1)-LEN(A1))

この考え方を覚えておけば、
半角チェック・全角チェック・桁数制限など、
文字列検証の幅が一気に広がります。

Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました