Excelで文字数をカウントする方法|LEN関数でセル・範囲・スペース抜きまで
公開
ExcelにはWordのような「文字カウント」ボタンがありません。そのため、レポートや応募フォームの「2,000字以内」を確認したいときは、関数を使って自分で数えることになります。
この記事では、1つのセルの文字数から、複数セルをまとめた合計、スペースを除いた文字数、特定の文字だけを数える方法まで、目的別にまとめます。
結論:やりたいことで式を使い分ける
| やりたいこと | 入力する式 |
|---|---|
| 1つのセルの文字数(スペース込み) | =LEN(A1) |
| 1つのセルの文字数(スペース抜き) | =LEN(SUBSTITUTE(A1," ","")) |
| 複数セルの合計 | =SUMPRODUCT(LEN(A1:A10)) |
| 複数セルの合計(スペース抜き) | =SUMPRODUCT(LEN(SUBSTITUTE(A1:A10," ",""))) |
| 特定の文字の数だけ数える | =LEN(A1)-LEN(SUBSTITUTE(A1,"、","")) |
数える対象が1つのセルなのか、複数セルなのかで使う式が変わります。順番に見ていきます。
LEN関数でセル1つの文字数を数える
LEN関数の基本
セルA1の文字数を数えるときは、空いているセルに次の式を入れます。
=LEN(A1)
LEN関数は半角・全角・漢字・記号のすべてを1文字として数えます。スペースも1文字に含まれます。
セルを選んだだけでは文字数は出ない
Wordではステータスバーに文字数が常に表示されますが、Excelのステータスバーには文字数の項目がありません。セルをクリックしても文字数は表示されないため、別のセルに =LEN(A1) を書いて確認するのが基本のやり方です。
数値や日付を数えるときの注意
=LEN(1234) は「1234」として数えるため 4 を返します。数値も文字として数えられます。
ただし日付は内部でシリアル値として扱われているため、セルに「2026/09/30」と表示されていても、LEN関数では別の数値が返ります。日付の入ったセルの文字数を数えたいときは、一度 TEXT 関数で文字列に変換してください。
=LEN(TEXT(A1,"yyyy/mm/dd"))
スペースを含めずに文字数を数える
「スペースを含まない文字数」で指定されている場合は、SUBSTITUTE 関数でスペースを削除してから数えます。
半角スペースを除く
=LEN(SUBSTITUTE(A1," ",""))
SUBSTITUTE(A1," ","") は、A1の中の半角スペースをすべて空文字に置き換えた文字列を返します。その結果にLEN関数をかけると、スペース抜きの文字数になります。
全角スペースも除く
全角スペースも除きたいときは、置き換えを2回行います。2つ目の " " は全角スペースです(コピーするときは見た目では区別しにくいので注意してください)。
=LEN(SUBSTITUTE(SUBSTITUTE(A1," ","")," ",""))
日本語の文章では、行頭の字下げや単語の区切りで全角スペースが使われていることがあります。提出先が「スペースを含まない」と指定している場合は、半角と全角の両方を除いた数を確認しておくのが安全です。
セル内の改行を除く
セル内で Alt + Enter を使って改行している場合、改行は CHAR(10) という1文字として数えられます。改行を除きたいときは次の式です。
=LEN(SUBSTITUTE(A1,CHAR(10),""))
バイト数をカウントする(LENB関数)
「全角は2バイト、半角は1バイト」という数え方で確認したいときは、LENB 関数を使います。文字数ではなくバイト数を数える関数です。
| 数えたいもの | 使う関数 | 「あいうえお」の結果 | 「abcde」の結果 |
|---|---|---|---|
| 文字数 | LEN | 5 | 5 |
| バイト数 | LENB | 10 | 5 |
LENB関数の基本
=LENB(A1)
日本語版のExcelでは、全角文字(漢字・ひらがな・カタカナ・全角記号)は2バイト、半角文字(英数字・半角記号)は1バイトとして数えられます。同じ「あいうえお」でも、LEN関数は5、LENB関数は10を返します。
2バイト文字だけを数えるには
「全角文字が何文字あるか」を知りたいときは、文字数から半角文字の数を引いて求めた数が全角文字の数になります。ただし、LENB と LEN の差を使うほうが簡単です。
=LENB(A1)-LEN(A1)
全角文字は半角文字より1バイト多いため、LENB と LEN の差がそのまま全角文字の数になります。逆に半角文字の数を知りたいときは次の式です。
=LEN(A1)*2-LENB(A1)
半角カタカナも1バイトとして数えられます。全角と半角が混ざった文章では、どちらの数で確認するかを先に決めておくと、数え直す手間が減ります。
バイト数が指定される場面
学校の課題やレポートで「文字数」と指定されるときは、通常はLEN関数のほうを使います。バイト数が指定されるのは、データベースの項目の長さ、CSVの取り込み制限、システムへの登録上限など、機械側の条件として示される場面が多くなっています。迷ったときは、指定の言葉が「文字数」か「バイト数」かを確認してください。
複数セル・範囲全体の文字数を数える
行ごとに書いた文章を合計したいときは、SUMPRODUCT と LEN を組み合わせます。
=SUMPRODUCT(LEN(A1:A10))
SUMPRODUCT は範囲をまとめて計算してくれるため、配列の確定(Ctrl + Shift + Enter)が不要です。A1からA10までに入っている文字数の合計が1つのセルに出ます。
スペースを除いた合計を出したいときは、次のように組み合わせます。
=SUMPRODUCT(LEN(SUBSTITUTE(A1:A10," ","")))
空のセルは0として計算されるので、途中に空白行があっても合計は変わりません。ただし、範囲の中にエラー値(#VALUE! など)があると合計もエラーになります。エラーが出たら、範囲の中に数式の結果がエラーになっているセルがないか確認してください。
文字が入っているセルを数える(COUNT関数・COUNTA関数)
LEN関数が数えるのは「1つのセルの中の文字数」です。一方で、「何個のセルに入力があるか」を数えたいときはCOUNT関数とCOUNTA関数を使います。文字数のカウントと混同されやすいところなので、ここで違いを整理しておきます。
| 関数 | 数えるもの | 文字のセル | 数値のセル | 空白セル |
|---|---|---|---|---|
COUNT | 数値のセルの個数 | 数えない | 数える | 数えない |
COUNTA | 空白以外のセルの個数 | 数える | 数える | 数えない |
COUNTBLANK | 空白セルの個数 | 数えない | 数えない | 数える |
COUNT関数とCOUNTA関数の違い
COUNT関数は数値が入っているセルだけを数えます。文字が入ったセルは数えません。COUNTA関数は空白でなければ何でも数えるため、文字・数値・記号のどれが入っていても1個として数えます。
「文字が入っているセルが何個あるか」を知りたいときは、COUNTA関数を使ってください。
文字が入っているセルを数える
=COUNTA(A1:A10)
たとえばアンケートの回答が何件集まったかを確認したいとき、氏名が入力された行が何行あるかを数えたいときは、この式で求められます。COUNTAが返すのは「セルの個数」で、セルの中の文字数ではありません。文字数の合計を知りたいときは、別途LEN関数の合計を使います。
特定の文字を含むセルを数える(COUNTIF)
「○○という文字が入ったセルが何個あるか」を数えるときはCOUNTIF関数です。
=COUNTIF(A1:A10,"*東京*")
条件にワイルドカード * を使うと、その文字を含むセルを数えられます。「東京」で始まるセルを数えたいときは "東京*"、完全一致で数えたいときは * を付けずに "東京" と書きます。
条件を2つ以上組み合わせたいときはCOUNTIFS関数を使い、範囲と条件の組を追加していきます。
特定の文字が全部で何回出てくるかを数える
セルの個数ではなく出現回数を数えたいときは、置き換える前後の文字数を比べます。1つのセルならLEN関数との組み合わせで求められますが、複数セルをまとめて数えるときはSUMPRODUCT関数を使います。
=SUMPRODUCT(LEN(A1:A10))-SUMPRODUCT(LEN(SUBSTITUTE(A1:A10,"、","")))
範囲全体の文字数から、「、」を削除したあとの文字数を引くと、「、」が全部で何個あるかが求まります。句読点の数や、特定の語を何回使ったかを確認したいときに使えます。
特定の文字だけを数える
「、」や「。」の数、あるいは特定の語が何回出てくるかを数えたいときは、置き換える前と後を比べることで求められます。
=LEN(A1)-LEN(SUBSTITUTE(A1,"、",""))
元の文字数から、その文字をすべて削除した文字数を引くと、削除された文字の数=その文字が出てきた回数になります。句読点の数を確認したいときや、原稿の分量を調整したいときに使えます。
文字数でチェックする(指定字数を超えたら色を変える)
「200字以内」の条件を満たしているか確認したいときは、隣のセルに判定を出すのが分かりやすい方法です。
=IF(LEN(A1)>200,"超過","OK")
入力しながら色で気づきたい場合は、条件付き書式を使います。
- 判定したい範囲(例:A1:A10)を選択する
- 「ホーム」タブ →「条件付き書式」→「新しいルール」を選ぶ
- 「数式を使用して、書式設定するセルを決定する」を選ぶ
- 数式に
=LEN($A1)>200と入力し、書式で赤い文字などを設定する
これで、指定字数を超えたセルだけが自動で目立つようになります。
Excelの文字数に関する制限
Excelには入力できる文字数の上限があります。
- 1つのセルに入力できるのは32,767文字まで
- セルに表示されるのは1,024文字まで(入力自体はされています。数式バーでは全体を確認できます)
長い文章をそのままセルに入れると、画面では途中までしか見えません。「入力したはずの文章が消えた」と思ったときは、数式バーを確認してください。
また、結合したセルはLEN関数の対象にできません。結合セルを使っている表では、文字数の計算用に別のセルへ文章を入れて数える必要があります。
Wordで数えた数とExcelのLENが合わないとき
同じ文章でも、数えるツールによって結果が1〜2字ずれることがあります。主な原因は改行の扱いです。
- ExcelのLEN関数は、セル内の改行も1文字として数えます
- Wordの「文字数(スペースを含まない)」は、段落記号を文字数に含めません
そのため、改行の多い文章では数がずれます。学校の課題や応募で文字数を申告するときは、指定されたツール(Wordで確認するよう指示されているならWord)で数えた数を提出してください。Word側の手順はWordで文字数をカウントする方法でまとめています。
Excelで書いた文章を提出する場合は、一度Wordや字数カウンター・単語数カウントに貼り付けて確認すると確実です。
よくある質問
- Excelに文字数を数えるボタンはありますか?
- ありません。Excelのステータスバーにも文字数の項目がないため、LEN関数を使って計算します。1つのセルなら
=LEN(A1)、複数セルの合計なら=SUMPRODUCT(LEN(A1:A10))です。 - スペースを含むか含まないか、どちらで数えればいいですか?
- 課題や応募要項の指定に従ってください。「2,000字以内」とだけ書かれている場合は、スペースを含まない数で確認されることが多くなっています。判断できないときは、両方の数を確認しておくと安心です。
- LEN関数とLENB関数は何が違いますか?
- LEN関数は文字数、LENB関数はバイト数を数えます。日本語版のExcelでは、全角文字は2バイト、半角文字は1バイトとして数えられるため、同じ「あいうえお」でもLENは5、LENBは10を返します。指定が「文字数」ならLEN関数を使ってください。
- 数式で数えた文字数と、他のツールで数えた数が合いません
- 改行やスペースの扱いがツールごとに違うためです。特に改行は、数えるかどうかがツールによって分かれます。提出先の指定があればその方法で、なければ複数のツールで確認して差が出ないかを見ておくと安心です。
- Googleスプレッドシートでも同じ式が使えますか?
- 使えます。LEN関数・SUBSTITUTE関数・SUMPRODUCT関数はどちらにも用意されています。式をそのままコピーして動作します。
- エクセルで1文字は何バイトですか?
- 日本語版のExcelでは、全角文字は2バイト、半角文字は1バイトとして数えられます。同じ1文字でも全角と半角でバイト数が違うため、バイト数で指定されているときは
=LENB(A1)で確認してください。全角文字が何文字あるかを知りたいときは=LENB(A1)-LEN(A1)です。 - COUNT関数とCOUNTA関数は何が違いますか?
- COUNT関数は数値のセルだけを数え、COUNTA関数は空白以外のセルすべてを数えます。文字が入っているセルの個数を数えたいときはCOUNTA関数を使ってください。どちらも「セルの個数」を数える関数で、セルの中の文字数を数えるLEN関数とは別物です。