Excel関数で文字数をカウントする方法をお探しですね。

広告

Excelで文字数・バイト数をチェック!LEN関数とLENB関数の使い方

Excelで名簿や商品リスト、アンケートの回答なんかを整理していると、「これって何文字入ってるんだろう?」「全角と半角が混ざってないかな?」って気になること、ありますよね。

目で数えるのは大変だし、間違えやすいです。

特にシステムに登録するデータの場合、文字数は大丈夫そうでも、バイト数の制限に引っかかって登録できない…なんてこともあります。

この記事では、ExcelのLEN関数とLENB関数を使って、文字数やバイト数を簡単にカウントする方法を紹介します。

全角半角の見分け方や、実際の仕事で使える便利な技も一緒に解説していきますね。

LEN関数って何?文字数を数える基本の関数

LEN関数は、文字列が「何文字あるか」を数えてくれる関数です。

全角でも半角でも、1文字は1文字として数えます。

例えば「Excel」なら5文字、「エクセル」なら4文字、「ABC」も3文字です。

文字の種類や見た目に関係なく、入力されている文字の数そのものを知りたいときに使います。

使い方はとってもシンプル。

`=LEN(文字列)` と入力するだけです。

例えば、セルA2に入っている文字数を調べたいときは、結果を表示したいセルに `=LEN(A2)` と入力します。

A2に「東京都」と入っていれば答えは3、「Tokyo」なら答えは5です。

セルを指定するだけでなく、`=LEN(“Excel”)` みたいに直接文字を入れて調べることもできますよ。

LEN関数は、文章の長さを確認したいときや、入力欄の文字数制限をチェックしたいときにとても便利です。

例えば「備考欄は50文字以内」「商品名は30文字以内」みたいなルールがあるとき、別の列にLEN関数を入れておけば、各セルの文字数がすぐ分かります。

さらにIF関数と組み合わせれば、文字数オーバーしてるかどうかを自動でチェックできます。

例: `=IF(LEN(A2)<=30,"OK","文字数オーバー")` こうすると、A2の内容が30文字以内ならOK、超えていたら警告が出るようになります。 ただし、LEN関数はスペースや改行も文字として数える点に注意してください。 半角スペース、全角スペース、セル内の改行も全部カウント対象です。 だから、見た目は短い文字列でも、余計なスペースが入っていると予想より大きな数字になることがあります。 入力データをチェックするときは、文字数を見るだけじゃなくて、不要な空白が紛れ込んでないかも一緒に確認すると安心です。

LENB関数って何?バイト数で全角・半角を区別する

LENB関数は、文字列の「バイト数」を数える関数です。

日本語のExcelでは、半角英数字や半角カナは1バイト、ひらがな・カタカナ・漢字・全角英数字・全角記号は2バイトとして数えます。

つまり、LEN関数が「文字の個数」を見るのに対して、LENB関数は「データとしての長さ」を見る関数なんです。

全角と半角を区別したいときに、LENB関数が活躍します。

LENB関数の使い方も、LEN関数と同じで `=LENB(文字列)` です。

セルA2のバイト数を知りたいときは、`=LENB(A2)` と入力します。

例えばA2に半角の「ABC」が入っていれば答えは3、全角の「ABC」なら答えは6です。

同じ3文字でも、半角なら3バイト、全角なら6バイトになるので、文字数だけでは分からない違いが見えてきます。

LENB関数が特に大事になるのは、外部システムにデータを取り込む前のチェックです。

業務システムや古いデータベース、固定長ファイルでは、「氏名は20バイト以内」「商品コードは半角10バイト」みたいに、文字数じゃなくてバイト数で制限されていることがよくあります。

この場合、LEN関数だけで確認していると、全角文字が入ったときに制限オーバーしてしまう可能性があります。

LENB関数で事前にバイト数をチェックしておけば、登録エラーやデータの切り捨てを防げます。

また、LENB関数は見た目で分かりにくい全角スペースと半角スペースの見分けにも使えます。

半角スペースは1バイト、全角スペースは2バイトなので、文字列の中に余計な全角スペースが混ざってないかを調べる手がかりになります。

住所や氏名のデータでは、スペースの種類がバラバラだと検索や照合でうまくいかないことがあるんです。

LENB関数を使えば、見た目では分かりにくい文字の種類の違いを、数字ではっきり確認できます。

LEN関数とLENB関数の違いと全角半角の見分け方

LEN関数とLENB関数の一番大きな違いは、全角文字をどう扱うかです。

LEN関数では、全角の「あ」も半角の「A」も、どちらも1文字として数えます。

でもLENB関数では、日本語環境の場合、全角の「あ」は2バイト、半角の「A」は1バイトとして数えます。

だから、両方の結果を比べると、文字列の中に全角文字が入っているかどうかが分かるんです。

基本的な考え方は、LENBの結果がLENと同じなら半角だけ、LENBの結果がLENより大きければ全角文字が入っている、というものです。

例えばA2に「ABC」と入っている場合、`LEN(A2)` は3、`LENB(A2)` も3なので半角だけと判断できます。

A2に「ABC」と入っている場合、`LEN(A2)` は3ですが、`LENB(A2)` は6になるので、全角文字が入っていると分かります。

「ABC東京」みたいに混ざっている文字列では、LENとLENBの差が全角文字の分だけ大きくなります。

判定式として使うなら、こんな数式が便利です。

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

この式は、A2の文字数とバイト数が一致するかどうかをチェックしています。

半角英数字だけなら、1文字あたり1バイトなのでLENとLENBは同じ値になります。

全角文字が1つでも入っていれば、LENBのほうが大きくなるので、「全角を含む」と表示されます。

商品コード、メールアドレス、ID、管理番号など、半角で統一したい項目のチェックに使えますよ。

逆に、全部全角かどうかを確認したい場合は、こんな風に判定できます。

`=IF(LENB(A2)=LEN(A2)*2,”全角のみ”,”半角を含む”)`

ただし、空白セルでも条件に一致しちゃう場合があるので、実際に使うときは未入力チェックも入れておくと安心です。

`=IF(A2=””,”未入力”,IF(LENB(A2)=LEN(A2)*2,”全角のみ”,”半角を含む”))`

あと、記号やスペースも全角・半角の違いがあるので、英数字だけじゃなくて括弧、ハイフン、空白の種類にも注意が必要です。

見た目が似ている文字ほど、LENB関数で数字にして確認する価値があります。

実際の仕事で使える便利な技と注意点

LEN関数とLENB関数は、単体で使うだけじゃなくて、IF関数やSUBSTITUTE関数と組み合わせると、もっと便利に使えます。

例えば、文字数制限を超えてないかチェックしたいときは、こんな風に入力します。

`=IF(LEN(A2)<=50,"OK","50文字を超えています")` バイト数制限を確認したいときは、こうです。 `=IF(LENB(A2)<=20,"OK","20バイトを超えています")` これをシステム登録前のチェック表として使えば、何行もあるデータを一気に確認できて効率的です。 特定の文字を除いて数えたいときは、SUBSTITUTE関数を組み合わせます。 SUBSTITUTE関数は、指定した文字を別の文字に置き換える関数です。 例えばA2の文字列から半角スペースを除いて文字数を数えるなら、こう入力します。 `=LEN(SUBSTITUTE(A2," ",""))` 全角スペースも除きたい場合は、こんな風に半角と全角を順番に空文字に置き換えてから数えます。 `=LEN(SUBSTITUTE(SUBSTITUTE(A2," ","")," ",""))` 特定の文字が何回出てくるかを数えることもできます。 例えばA2に含まれる半角ハイフン「-」の数を調べたいときは、こうします。 `=LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))` 元の文字数から、ハイフンを取り除いた後の文字数を引くことで、取り除かれた文字数、つまりハイフンの個数が分かります。 電話番号、郵便番号、コード体系など、決まった記号を含むデータの確認に便利ですよ。 注意点として、Excelのワークシート関数であるLENB関数と、VBAで使うLenB関数は動きが違う場合があります。 ワークシート上のLENB関数は、日本語環境では全角2バイト・半角1バイトのチェックに使われますが、VBAのLenB関数は内部的な文字列の扱いに基づいてバイト数を返します。 だから、マクロで同じ結果を期待していると、ワークシート関数のLENBとは数え方が違って見えることがあるんです。 VBAで同じ判定をしたいときは、処理方法を分けて考える必要があります。 実際の仕事では、まずLEN関数で「見た目の文字数」を確認して、必要に応じてLENB関数で「バイト数」や「全角半角の混在」をチェックする流れがおすすめです。 単純な文章量のチェックならLEN関数で十分ですが、システム連携、CSV作成、固定長データ、コードやIDの検品ではLENB関数が欠かせません。 さらにIF関数で判定結果を表示して、SUBSTITUTE関数で不要な空白や記号を除けば、入力ミスを見つけやすいチェック表が作れます。 LEN関数とLENB関数を使い分けることで、Excelでのデータ整理がもっと正確で効率的になりますよ。

広告