LEN関数は文字列に含まれる文字数を、LENB関数は文字列のバイト数を数えます。
LEN関数
LEN関数は文字列や数値に含まれる文字数を、全角半角に関わらず見た通りに数えます。たとえば
と入力すると、全角「あいうえお」5文字と半角「 abcde 」5文字の合わせて「 10 」という値が返ります。
LENB関数
LENB関数は文字列の長さをバイト数に換算して返します。
日本語は 2 バイト、半角英数字は 1 バイトとして計算されます。
と入力すると、全角「あいうえお」が 10 バイト、半角「 abcde 」が 5 バイトなので合わせて「 15 」が返ってきます。
全角文字を数えます
LEN関数 とLENB関数 を使って、全角文字と半角文字が入り混じっている文字列の中に、全角文字がいくつ含まれているかを数えてみます。先ほどの例で
は全バイト数が「 15 」でしたね。これは全角文字を重複して2回ずつ数えていると考えることもできます。したがってこの式から
で得られる文字数「 10 」を差し引いてしまえば、全角文字の重複分と、半角文字全てを取り去ることになるので、
は全角文字数「 5 」となります。一般にある文字列の中に含まれる全角文字数は
で計算できます。
半角文字を数えます
今度は文字列の中に半角文字がいくつ含まれているかを計算してみます。まず
を2倍します 。そこから
で得られる数値を差し引いて、
とすると
となって「 abcde 」の文字数を計算していることになります(上の例では「 5 」を返します)。一般にある文字列の中に含まれる半角文字数は
によって計算できます。 ⇒ エクセル関数辞典トップページ