【Excel】LEN, LENB関数で文字数を数えます

 Excel の LEN関数は文字列に含まれる文字数を、LENB関数は文字列のバイト数を数えます。

【Excel】LEN・LENB

 Excel の LENは文字列や数値に含まれる文字数を、全角半角に関わらず見た通りに数える関数です。たとえば

=LEN("あいうえおabcde")

と入力すると、全角「あいうえお」5文字と半角「 abcde 」5文字の合わせて「 10 」という値が返ります。

 LENB は文字列の長さをバイト数に換算して返します。
 日本語は 2 バイト、半角英数字は 1 バイトとして計算されます。

=LENB("あいうえおabcde")

と入力すると、全角「あいうえお」が 10 バイト、半角「 abcde 」が 5 バイトなので合わせて「 15 」が返ってきます。 

全角文字のカウント

 LEN関数LENB関数 を使って、全角文字と半角文字が入り混じっている文字列の中に、全角文字がいくつ含まれているかを数えてみます。先ほどの例で

=LENB("あいうえおabcde")

は全バイト数が「 15 」でしたね。これは全角文字を重複して2回ずつ数えていると考えることもできます。したがってこの式から

=LEN("あいうえおabcde")

で得られる文字数「 10 」を差し引いてしまえば、全角文字の重複分と、半角文字全てを取り去ることになるので、

=LENB("あいうえおabcde")-LEN("あいうえおabcde")

は全角文字数「 5 」となります。一般にある文字列の中に含まれる全角文字数は

=LENB("文字列")-LEN("文字列")

で計算できます。

半角文字のカウント

 今度は文字列の中に半角文字がいくつ含まれているかを計算してみます。まず

=LEN("あいうえおabcde")

を2倍します 。そこから

=LENB("あいうえおabcde")

で得られる数値を差し引いて、

=2*LEN("あいうえおabcde")-LENB("あいうえおabcde")

とすると

あいうえお × 2 + abcde × 2 - (あいうえお × 2 + abcde) = abcde

となって「 abcde 」の文字数を計算していることになります(上の例では「 5 」を返します)。一般にある文字列の中に含まれる半角文字数は

=2*LEN("文字列")-LENB("文字列")

によって計算できます。

Excel VBA
Excel VBA 表計算とプログラミング学習サイト

コメント

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