テック・ガジェット・写真とか

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

ExcelのLENB関数は、文字をバイトで数える関数で、半角の文字を数えるときに便利。

LENB関数の概要

書式

LENB(文字列)

LENB関数の解説

LENB関数は文字をバイトで数える。
文字をバイト数で数えることによって、半角や全角の文字が混ざった合計のバイト数から、全角での文字数に換算ができ、全角での文字数制限がある作業をする時に便利。

サンプル書式

A1セルサンプル書式表示結果概要
Excelの文字をバイトで数える=LENB(A1)27A1の文字をバイトで数える

半角と全角の文字列を全角文字数で数えるサンプル書式

A2セル()サンプル書式表示結果
Excelの文字をバイトで数えるLENB関数=LENB(A2)/217.5

半角と全角の文字列を全角文字数で数えるサンプル書式

LENB関数の活用で便利そうなのが、例えば、ブログなどのタイトルを考える時の文字数のカウント。

上記のように半角の英字と全角の日本語が混ざった文字列をバイト数で求めて、2で割ってやると全角での文字数に換算できる。

文字数の取り扱いで注意な1バイトや2バイトって何?

コンピューターは情報を取り扱うのに、情報量の単位として「バイト」を使用する。

半角の英数字は1バイトに相当する情報量、全角の平仮名、カタカナや漢字などの日本語は2バイトとして取り扱われている。
(英数字やスペースでも、全角で入力すると2バイトになるので気をつける必要がある)

ただし、VBAでは文字列をUnicode形式で取り扱い、半角・全角に関わらず2バイトとなる。

全角18文字しか表示できない場合でも、22文字が表示できる!?

例えばページのタイトルが全角文字で18文字までしか表示できませんと言われたとする。
そして、考えたタイトルが「Excelの文字をバイトで数えるLENB関数」という文字列があったとして、これをLEN関数を使って数えると先ほどの図のように22文字と返ってくる。

パッと見、4文字のオーバーで表示できないように見えますが、実はこれは表示することが可能。

どういうことかというと、全角の18文字はバイトで数えると36バイトになる。
そして、「Excelの文字をバイトで数えるLENB関数」は、英字を1バイト、日本語を2バイトで数えると35バイトになり、36バイトに満たないので表示することが可能ということになる。

なので、全角で文字制限がある場合には、LEN関数よりもこちらのLENB関数で文字をカウントすることをお薦めする。