【Excel活用術】全角・半角の文字数を簡単に調べる方法|LEN関数・ASC関数を徹底解説!

Excelを使ってデータ管理や文字数チェックを行う中で、「全角と半角の文字数を分けてカウントしたい」と思ったことはありませんか?特に、帳票作成やCSV出力などで文字数制限がある場合、日本語(全角)と英数字(半角)を正確に区別することが重要です。この記事では、Excelの標準関数を使って、全角・半角の文字数を簡単に調べる方法をわかりやすく解説します。初心者の方でもすぐに使える実用的なテクニックを紹介しますので、ぜひ最後までご覧ください。


全角・半角の違いと文字数の数え方の基本

Excelでは、文字列の長さを調べるのにLEN関数を使いますが、この関数は**1文字を「1カウント」**として処理します。つまり、全角でも半角でも「1文字」として認識されます。
しかし、実際のデータ処理では「バイト数」や「画面上の表示幅」に影響を及ぼすため、半角1文字=1バイト、全角1文字=2バイトと考えることが多いです。

例:

文字列LENの結果実際のバイト数
A11
12
12

このように、見た目が似ていても、文字コードの違いによりバイト数に差があります。


半角と全角の文字数を調べる考え方

全角と半角を見た目で区別するのは簡単でも、Excelでは手動で分類するのは現実的ではありません。そこで役に立つのが、LEN関数とLENB関数を組み合わせて使う方法です。

  • LEN(文字列):文字数(全角・半角ともに1文字と数える)
  • LENB(文字列):バイト数(半角=1バイト、全角=2バイト)

この2つを比較することで、全角と半角の割合が推測できます。


半角文字数を数える関数の作り方

全角文字は2バイト、半角文字は1バイトなので、以下のようにして半角文字数を求めることができます。

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

この式の意味は以下の通りです:

  • LENB(A1):バイト数(全角2バイト・半角1バイト)
  • LEN(A1):文字数(全角・半角ともに1)

よって、LENB - LENで「全角文字の数」が得られます。そこから逆算すれば半角文字数が算出できます。

半角文字数を求める式:

=LEN(A1) - ((LENB(A1) - LEN(A1))/1)

※ExcelのバージョンによってLENBが使えない場合もありますので、注意してください(Office365では使用可能)。


全角文字数を数えるカスタム関数(VBA活用)

より正確に「全角だけをカウントしたい」ときは、VBA(マクロ)を使って関数を自作する方法もあります。以下に全角文字数を数える関数を紹介します。

全角文字数をカウントするVBA関数

Function CountZenkaku(str As String) As Integer
Dim i As Integer
Dim count As Integer
count = 0
For i = 1 To Len(str)
If AscW(Mid(str, i, 1)) > 255 Then
count = count + 1
End If
Next i
CountZenkaku = count
End Function

この関数を使えば、次のようにセルに書くだけで全角文字数を取得できます。

=CountZenkaku(A1)

実際の活用例(入力制限や帳票出力時)

Excelで全角・半角の文字数を判別したい場面として、以下のようなケースがあります:

  • 顧客名や住所欄に「20バイト以内」という制限がある
  • フォームの文字数チェックでエラーを出したい
  • システムにデータをCSVで渡す際に文字数制限がある

こうした場合、全角・半角を考慮しないと、実際の出力時に「文字数オーバー」となり、トラブルの原因になります。


全角・半角の混在をチェックして整える方法

セル内に全角と半角が混ざっていると、文字数制限だけでなく見た目も不揃いになります。以下の関数を使って整えることも可能です。

半角へ変換:ASC

=ASC(A1)

全角へ変換:JIS

=JIS(A1)

この2つの関数を使うことで、見た目を統一したり、文字数の再調整がしやすくなります。


まとめ:文字数の管理は精度が命

Excelで文字数をチェックする場合、単にLEN関数を使うだけでは不十分です。全角と半角を意識したカウントをしなければ、帳票出力やデータ送信でエラーを招く恐れがあります。今回紹介した以下の方法をうまく活用すれば、より精度の高いデータ管理が可能になります。

  • LENLENBの併用で全角・半角の違いを把握
  • VBAでオリジナル関数を作成し、より厳密なチェックを実現
  • ASCJISで文字種を統一

普段の業務でも、ちょっとした工夫でトラブルを未然に防ぐことができます。ぜひ、今日から活用してみてください!

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