Excelで文字数を数えるには「LEN関数」を使用します。
この記事では、1つのセルの文字数や各セルの文字数をまとめて表示する方法、セル範囲の合計文字数を求める方法を解説します。
また、特定の文字や改行を除いて数える方法や、文字列の長さをバイト数で数えるLENB関数との違いも紹介します。
LEN関数:文字数を数える関数
LEN関数とは
LEN関数は、引数の文字数を数える関数です。
名前の由来は、Length(長さ)です。
文字数を数えるとき、半角文字・全角文字を区別せず1文字となります。
また、改行やタブ記号などの特殊記号も1文字として数えます。
構文
=LEN(文字数を数えたい文字列)
※ 引数にセルを指定すると、そのセルの文字数を返す
単一のセルや文字列の文字数を数える方法
LEN関数に、単一のセルや文字列を指定すると、その文字数を返します。
例えば、セルに「=LEN("ABC")」と入力すると、"ABC"は3文字なので『3』と表示されます。
サンプル
下の数式は、"楽しいExcel"が8文字なので、「8」が返ります。
=LEN("楽しいExcel")
セルA1には「吾輩は猫である」と入力されているとします。
=LEN(A1)
"吾輩は猫である"は7文字なので、「7」が返ります。
各セルの文字数をまとめて表示する方法
Excel 2021以降やMicrosoft 365など、スピル機能に対応したExcelでは、LEN関数の引数にセル範囲を指定できます。セル範囲を指定すると、各セルの文字数が計算され、複数のセルにスピルして表示されます。
なお、範囲内の文字数を合計した結果が返るわけではありません。
サンプル(B3からB8のセルの文字数をそれぞれ返す)
下の画像の場合、セルC3に「=LEN(B3:B8)」と入力すると、セルC3にB3の文字数が表示され、セルC4~C8にもB4~B8の文字数が自動で表示されます。

※ 画像をクリックすると拡大できます。
セル範囲の合計文字数を数える方法
セル範囲の合計文字数を数える場合は、SUM関数とLEN関数を使用します。
「=SUM(LEN(調べたい範囲))」と指定すると、その範囲の文字数の合計を調べられます。
なお、スピル機能に対応していないExcelでは「=SUMPRODUCT(LEN(調べたい範囲))」としてください。
サンプル(セルB3からB8のセルの文字数の合計を返す)
下の画像の場合、セルD3に「=SUM(LEN(B3:B8))」と入力すると、セルB3~B8の合計文字数である「137」が返ります。

※ 画像をクリックすると拡大できます。
特定の文字を除いた文字数を数える方法
特定の文字を除いた文字数を数える場合、SUBSTITUTE関数とLEN関数を使用します。
SUBSTITUTE関数は指定した文字(文字列)を別の文字に置換する関数です。
構文
=SUBSTITUTE(対象の文字列, 置換する文字, 置換後の文字, [オプション])
例えば、「=SUBSTITUTE("ABC","A","a")」なら「aBC」が返ります。
SUBSTITUTE関数の置換後の文字を空文字("")にすると、特定の文字を削除できます。
サンプル
特定の文字を削除した後の文字数を数えます。
下の数式は、"ABC"から"A"を削除した"BC"は2文字なので、「2」が返ります。
=LEN(SUBSTITUTE("ABC","A",""))
改行を削除して、文字数を数える
改行を削除したい場合は、SUBSTITUTE関数とCHAR関数を使用します。
構文
=CHAR(数値)
※ 数値は1~255。Excel for the Web では、CHAR(9)、CHAR(10)、CHAR(13)、CHAR(32) 以上のみがサポートされています。
セル内の改行は「CHAR(10)」で表せます。
SUBSTITUTE関数で、置換する文字に「CHAR(10)」、置換後の文字に空文字("")を指定すると、改行を削除できます。
例えば、「=LEN(SUBSTITUTE(B3,CHAR(10),""))」とすると、セルB3の改行を削除した後の文字数を返します。
サンプル(改行を削除した後の文字数を数える)

LENB関数:バイト数で文字の長さを数える
LENB関数とは
LENB関数は全角文字を「2」、半角文字を「1」として文字列の長さを数える関数です(日本語環境のExcelの場合)。
全角文字だけで構成された文字列では、LEN関数の結果の2倍になります。
※ Microsoftのサポート情報では、LENB関数は非推奨とされています。
構文
=LENB(バイト数を数えたい文字列)
※ 引数にセルを指定すると、そのセルのバイト数を返す
表にまとめると以下のようになります。
| 関数名 | 基準 | 全角文字 | 半角文字 |
|---|---|---|---|
| LEN関数 | 文字数 | 1 | 1 |
| LENB関数 | バイト数 | 2 | 1 |
具体的には文字は次のようになります。
| 文字 | LEN関数 | LENB関数 |
|---|---|---|
| A | 1 | 1 |
| ABC | 3 | 3 |
| Excel | 5 | 5 |
| あ | 1 | 2 |
| あいう | 3 | 6 |
| Excel | 5 | 10 |
単一のセルや文字列をバイト数で数える方法
LENB関数の引数に文字列やセルを指定します。
引数の文字列やセルのデータをバイト数で返します。
サンプル
下の数式では、平仮名は全角(2バイト)なので、「6」が返ります。
=LENB("あいう")
半角アルファベットは、1バイトなので、「3」が返ります。
=LENB("ABC")
コラム:Microsoftの「非推奨」とは?
今回紹介した「LENB関数」は非推奨の関数です。
Microsoftの「非推奨」とは、主に次のような状態を指します。
- 今後は積極的な開発・改善が行われない可能性がある
- 将来のバージョンで削除される可能性がある
LENB関数は現在も使用できますが、今後の互換性を考えると、必要な場合に限って使用するとよいでしょう。
まとめ
Excelで文字数を数える場合は、LEN関数を使用します。LEN関数では、半角・全角を区別せず、改行なども1文字として数えられます。
スピル機能に対応したExcelでは、=LEN(B3:B8)のようにセル範囲を指定すると、各セルの文字数をまとめて表示できます。ただし、範囲内の合計文字数が表示されるわけではありません。
セル範囲の合計文字数を求める場合は、SUM関数とLEN関数を組み合わせます。スピル機能に対応していないExcelでは、SUMPRODUCT関数とLEN関数を使用します。
また、特定の文字や改行を除く場合はSUBSTITUTE関数、文字列の長さをバイト数で数える場合はLENB関数を使用します。ただし、LENB関数はMicrosoftでは非推奨とされています。
