Excelで「この列のデータ、何文字入っているんだろう?」と気になる場面はありませんか。入力フォームの文字数チェック、SNS投稿文の長さ確認、データベースに登録する前の桁数チェックなど、文字数を数えたいシーンは意外と多いですよね。LEN関数を使えば、セルの中の文字数を一瞬でカウントできます。この記事ではLEN関数の基本から、LENB関数との違い、SUBSTITUTE・TRIM・ASC/JIS関数と組み合わせた実務テクニックまで、まとめて解説します。
この記事は次のような人におすすめ
- セルの中身が何文字あるか手軽に調べたい
- LEN関数とLENB関数の違いがよく分からない
- 特定の文字が何回出現するかカウントしたい
- 全角・半角が混在するデータを整理したい
LEN関数とは?書き方と基本ルール
LEN関数は、テキスト文字列に含まれる文字数を返す関数です。セルに入力された文字の数をそのまま数値で教えてくれます。
たとえばセルに「Excel関数」と入っていれば、LEN関数は「7」を返します。半角でも全角でも、1文字は1文字としてカウントされるのがポイントです。
LEN関数の読み方と語源
LEN関数は「レン」と読みます。英語の「Length(レングス=長さ)」の略で、文字列の「長さ」を返す関数という意味です。すべてのExcelバージョン(Excel 2016以前、Microsoft 365含む)で同じ書き方で使えますよ。
基本構文と引数
=LEN(文字列)
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 文字列 | 必須 | 文字数を調べたいテキスト、またはセル参照 |
引数は1つだけなので、とてもシンプルです。セル参照のほか、=LEN("テスト") のように文字列を直接指定することもできますよ。
なお、引数に空のセル(空白セル)を渡すと「0」が返ります。エラーにはならないので安心してください。文字列を直接指定する場合はダブルクォーテーションで囲みます。=LEN("Excel") と書けば「5」が返りますよ。
LEN関数の基本的な使い方
セル参照で文字数を数える
セルA1に「Excel関数」と入っている場合に、文字数を数えてみます。
=LEN(A1)
結果は「7」です。半角の「Excel」が5文字、全角の「関数」が2文字で、合計7文字になります。LEN関数では半角も全角も同じ1文字としてカウントされます。
数値の桁数を数える
LEN関数は数値にも使えます。セルA1に「12345」と入っている場合、こう書きます。
=LEN(A1)
結果は「5」です。数値は文字列として扱われ、桁数がそのまま返ります。
ただし日付セルには注意が必要です。日付はExcel内部でシリアル値(例: 46102)として管理されています。そのため =LEN(A1) はシリアル値の桁数を返します。日付の文字数を数えたいときは、TEXT関数で表示形式を指定してからLENに渡してください。
=LEN(TEXT(A1,"yyyy/mm/dd"))
この数式なら「2026/04/03」の10文字が返りますよ。
スペース・改行もカウントされる
LEN関数はスペースや改行も1文字としてカウントします。
| セルの内容 | 数式 | 結果 | 説明 |
|---|---|---|---|
Excel 関数 | =LEN(A1) | 8 | 半角スペース1つを含む |
A B C | =LEN(A2) | 5 | 半角スペース2つを含む |
テスト+改行+です | =LEN(A3) | 6 | 改行(Alt+Enter)も1文字 |
「文字数が合わない」と感じたときは、スペースや改行が混入していないか確認してみてください。
LEN関数とLENB関数の違い
LEN関数とセットで覚えたいのがLENB関数です。2つの関数は文字の数え方が根本的に異なります。
| 関数 | カウント方法 | 全角1文字 | 半角1文字 |
|---|---|---|---|
| LEN | 文字数 | 1 | 1 |
| LENB | バイト数 | 2 | 1 |
LEN関数は「何文字あるか」を数えます。全角でも半角でも1文字は1文字です。一方、LENB関数は「何バイトあるか」を数えます。日本語環境では全角文字が2バイト、半角文字が1バイトとして扱われます。
具体例で比較
実際のデータでLENとLENBの結果を比べてみましょう。
| セルの内容 | LEN | LENB | 説明 |
|---|---|---|---|
ABC | 3 | 3 | 半角のみ → LENとLENBは同じ |
あいう | 3 | 6 | 全角のみ → LENBは2倍 |
ABCあいう | 6 | 9 | 混在 → 半角3バイト+全角6バイト |
Excel関数 | 7 | 9 | 半角5バイト+全角4バイト |
半角だけのデータなら結果は同じですが、全角が混ざるとLENBのほうが大きな数値になりますね。
どちらを使うべきか
通常の文字数カウントにはLEN関数で十分です。LENB関数が必要になるのは、次のような場面に限られます。
- 入力値をバイト数で管理しているシステムへのデータ登録前チェック
- 固定長ファイル(CSVやフラットファイル)のフィールド幅管理
- データベースのカラム定義がバイト数指定の場合
LENB関数の実用的な使い方として、バイト数制限のチェックがあります。たとえば「20バイト以内」という制限がある場合は次のように書けます。
=IF(LENB(A1)>20,"超過","OK")
なおMicrosoft公式ドキュメントでは、LENB関数に「非推奨」の記載があります。現在も問題なく動作しますが、新しい関数で代替できる場合はLEN関数を使うほうが安全ですよ。
LEN関数の実務活用パターン
LEN関数は単体でも便利ですが、他の文字列操作関数と組み合わせるとさらに活躍の場が広がります。実務でよく使うパターンを紹介しますね。
IF+LENで文字数制限をチェック
入力フォームやSNS投稿文の文字数上限をチェックする場面で便利です。IF関数と組み合わせて、20文字を超えたら「超過」と表示してみます。
=IF(LEN(A1)>20,"超過","OK")
A1が「商品名がここに入ります」(12文字)なら「OK」、「この商品名はとても長い名前で文字数を超過しています」(24文字)なら「超過」が返ります。商品名やタイトルの入力チェックに使えますよ。
さらに、何文字オーバーしているか表示したいときは、こう書きます。
=IF(LEN(A1)>20,LEN(A1)-20&"文字超過","OK")
SUBSTITUTE+LENで特定文字の出現回数をカウント
「この文章に読点がいくつあるか知りたい」というとき、SUBSTITUTE関数とLEN関数を組み合わせるとカウントできます。
=LEN(A1)-LEN(SUBSTITUTE(A1,"、",""))
しくみはシンプルです。元の文字数から「、」を削除した後の文字数を引くと、削除された「、」の数=出現回数が分かります。
| セルの内容 | 数式 | 結果 |
|---|---|---|
Excel、Word、PowerPoint | =LEN(A1)-LEN(SUBSTITUTE(A1,"、","")) | 2 |
りんご、みかん | =LEN(A2)-LEN(SUBSTITUTE(A2,"、","")) | 1 |
この考え方を応用すれば、カンマ・スペース・改行など任意の文字の出現回数をカウントできます。COUNTIF関数ではセル単位のカウントしかできませんが、この方法ならセル内の文字を数えられるのがポイントです。
2文字以上の文字列の出現回数を数えたい場合は、少し工夫が必要です。
=(LEN(A1)-LEN(SUBSTITUTE(A1,"Excel","")))/LEN("Excel")
SUBSTITUTE後の差分をカウント対象の文字数で割ることで、正しい出現回数が返ります。
TRIM+LENで余分なスペースを検出
データの中に余分なスペースが混ざっているかどうかを検出できます。TRIM関数で余分なスペースを除去した文字数と元の文字数を比較します。
=IF(LEN(A1)<>LEN(TRIM(A1)),"スペースあり","OK")
LEN(A1)とLEN(TRIM(A1))の結果が異なれば、前後や途中に余分なスペースが含まれている証拠です。データクレンジングの前に問題のあるセルを特定するのに役立ちますよ。
さらに、余分なスペースが何文字あるか知りたいときは次のように書きます。
=LEN(A1)-LEN(TRIM(A1))
この結果が0より大きければクレンジング対象です。大量のデータを扱う前に、この数式でフィルターをかけて問題行を洗い出すと効率的です。
ASC/JIS+LENで全角・半角の統一チェック
データ入力のばらつきを検出するとき、ASC関数やJIS関数とLEN・LENBの組み合わせが役立ちます。
全角文字が含まれているかどうかの判定は、LENとLENBの差分で分かります。
=IF(LEN(A1)=LENB(A1),"半角のみ","全角あり")
LEN関数では全角も半角も1文字ですが、LENB関数では全角は2バイトになります。両者が等しければ半角文字しか含まれていない、ということですね。
さらに全角文字の数を数えたい場合はこう書きます。
=LENB(A1)-LEN(A1)
たとえば「ABCあいう」なら、LENB=9、LEN=6で、差分の3が全角文字の数です。
実務では「英数字は半角に統一したい」というケースがよくあります。ASC関数で半角に変換する前に、変換が必要なセルだけを特定しましょう。
=IF(LEN(A1)<>LEN(ASC(A1)),"半角変換が必要","OK")
ASC関数は全角英数字を半角に変換します。変換前後でLENの結果は変わりませんが、LENB関数で比較すると差分が出ます。ただしLEN関数だけで判定したい場合は、上記のLEN=LENBの方法を使ってください。
逆に「カタカナは全角に統一したい」場合は、JIS関数と同様の考え方で判定できます。
=IF(LENB(A1)<>LENB(JIS(A1)),"全角変換が必要","OK")
JIS関数は半角カタカナを全角に変換するので、変換前後のバイト数が変われば半角カタカナが含まれている証拠です。
SUMPRODUCT+LENで複数セルの合計文字数を取得
複数セルの文字数を一度に合計したいとき、SUMPRODUCT関数とLEN関数を組み合わせると便利です。
=SUMPRODUCT(LEN(A1:A10))
A1からA10の各セルの文字数をすべて合算した結果が返ります。配列数式(Ctrl+Shift+Enter)は不要で、普通に入力するだけで動きます。アンケートの自由記述欄や、レポートの総文字数を集計するときに使えます。
CLEAN+TRIM+LENでデータクレンジング判定
外部システムから取り込んだデータには、目に見えない制御文字が紛れ込んでいることがあります。CLEAN関数とTRIM関数を組み合わせて、クレンジングが必要なセルを一括で判定できます。
=IF(LEN(A1)<>LEN(CLEAN(TRIM(A1))),"要クレンジング","OK")
TRIM関数で余分なスペースを除去し、CLEAN関数で印刷できない制御文字を除去します。それでもLENの結果が元と変わるなら、不要な文字が混入していたということです。
よくあるエラーと似た関数の使い分け
LEN関数はシンプルな関数なので、エラーになるケースは限られます。よくある落とし穴と、混同しやすい関数をまとめて整理しますね。
よくあるエラーと対処法
| 状況 | 結果 | 対処法 |
|---|---|---|
| 引数を省略した | #VALUE!エラー | セル参照または文字列を指定する |
| エラー値のセルを参照した | エラーがそのまま伝播 | IFERROR関数で囲む |
| 日付セルを参照した | シリアル値の桁数が返る | TEXT関数で表示形式を指定してから渡す |
| 文字数が想定より多い | スペースや改行を含んでいる | TRIM関数やCLEAN関数で前処理する |
「文字数が合わない」という問題は、目に見えないスペースや改行が混入していることがほとんどです。TRIM関数で余分なスペースを除去し、CLEAN関数で制御文字を除去してからLEN関数に渡してみてください。
似た関数との違い・使い分け
| 関数 | 機能 | 使いどころ |
|---|---|---|
| LEN | 文字数を返す | 文字数カウント全般 |
| LENB | バイト数を返す | 全角半角の区別が必要なとき |
| MID関数 | 文字列の一部を抽出 | LENと組み合わせて末尾N文字を取得 |
| SUBSTITUTE関数 | 文字列を置換 | LENと組み合わせて特定文字の出現回数を数える |
| TRIM関数 | 余分なスペースを除去 | LENと組み合わせて不要スペースの検出 |
| ASC関数 | 全角→半角に変換 | LENBと組み合わせて半角統一チェック |
| JIS関数 | 半角→全角に変換 | LENBと組み合わせて全角統一チェック |
| COUNTIF関数 | 条件に一致するセルを数える | セル単位のカウント(セル内の文字カウントはLEN) |
特にSUBSTITUTE関数との出現回数カウント、TRIM関数とのスペース検出は実務で頻出なので、セットで覚えておくと便利ですよ。
まとめ
LEN関数は、セルの文字数を数えるシンプルな関数です。引数は文字列1つだけなので、Excel初心者でもすぐに使いこなせます。
- 基本:
=LEN(A1)でセルの文字数を取得 - LENBとの違い: LENは文字数、LENBはバイト数。通常はLENで十分
- 文字数チェック: IF関数と組み合わせて入力制限を判定
- 特定文字カウント: SUBSTITUTE関数と組み合わせて出現回数を取得
- 全角半角判定: LENBとの差分、ASC/JIS関数との組み合わせで統一チェック
- データクレンジング: TRIM・CLEAN関数と組み合わせて問題セルを検出
まずは =LEN(A1) から試して、慣れてきたら実務パターンも活用してみてください。
