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」です。数値は文字列として扱われ、桁数がそのまま返ります。
なお、マイナス記号や小数点も1文字としてカウントされます。「-12.5」なら、記号を含めて5文字です。数値の見た目どおりに数えられると覚えておきましょう。
ただし日付セルには注意が必要です。日付はExcel内部でシリアル値(例: 46102)として管理されています。そのため =LEN(A1) はシリアル値の桁数を返します。日付の文字数を数えたいときは、TEXT関数で表示形式を指定してからLENに渡してください。
=LEN(TEXT(A1,"yyyy/mm/dd"))
この数式なら「2026/05/27」の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バイトとして扱われます。
LENB関数のより詳しい使い方やバイト数管理の実例は、LENB関数の使い方の記事で解説しています。
具体例で比較
実際のデータでLENとLENBの結果を比べてみましょう。
| セルの内容 | LEN | LENB | 説明 |
|---|---|---|---|
ABC | 3 | 3 | 半角のみ → LENとLENBは同じ |
あいう | 3 | 6 | 全角のみ → LENBは2倍 |
ABCあいう | 6 | 9 | 混在 → 半角3バイト+全角6バイト |
Excel関数 | 7 | 9 | 半角5バイト+全角4バイト |
ハンカクカナ | 6 | 6 | 半角カタカナは1バイト扱い |
全角 スペース | 7 | 13 | 全角スペースも全角扱い(2バイト) |
半角だけのデータなら結果は同じですが、全角が混ざるとLENBのほうが大きな数値になりますね。
どちらを使うべきか
通常の文字数カウントにはLEN関数で十分です。LENB関数が必要になるのは、次のような場面に限られます。
- 入力値をバイト数で管理しているシステムへのデータ登録前チェック
- 固定長ファイル(CSVやフラットファイル)のフィールド幅管理
- データベースのカラム定義がバイト数指定の場合
LENB関数の実用的な使い方として、バイト数制限のチェックがあります。たとえば「20バイト以内」という制限がある場合は次のように書けます。
=IF(LENB(A1)>20,"超過","OK")
なお、LENB関数はDBCS(日本語・中国語・韓国語など)環境でのみ全角を2バイトとして数えます。英語環境などのシングルバイト環境では、LENとLENBの結果は同じになります。海外拠点とファイルを共有する場合は、この点に注意してください。
LEN関数の実務活用パターン
LEN関数は単体でも便利ですが、他の文字列操作関数と組み合わせるとさらに活躍の場が広がります。実務でよく使うパターンを紹介しますね。
IF+LENで文字数制限をチェック
入力フォームやSNS投稿文の文字数上限をチェックする場面で便利です。IF関数と組み合わせて、20文字を超えたら「超過」と表示してみます。
=IF(LEN(A1)>20,"超過","OK")
A1が「商品名がここに入ります」(12文字)なら「OK」と返ります。「この商品名はとても長い名前で文字数を超過しています」(24文字)なら「超過」が返ります。商品名やタイトルの入力チェックに使えますよ。
さらに、何文字オーバーしているか表示したいときは、こう書きます。
=IF(LEN(A1)>20,LEN(A1)-20&"文字超過","OK")
LEN=指定桁で固定桁数のバリデーション
郵便番号や社員番号のように「必ずこの桁数」と決まっているデータでは、桁数チェックが役立ちます。郵便番号(ハイフンなし7桁)なら、こう書きます。
=IF(LEN(A1)=7,"OK","桁数エラー")
A1が「1000001」(7桁)なら「OK」と返ります。6桁や8桁のデータには「桁数エラー」が表示されます。入力ミスや全角混入による桁数のズレを一目で発見できますよ。
電話番号や口座番号など、桁数が固定のデータすべてに応用できます。複数の桁数を許容したい場合は、OR関数と組み合わせると便利です。
=IF(OR(LEN(A1)=10,LEN(A1)=11),"OK","桁数エラー")
この数式なら、固定電話(10桁)と携帯電話(11桁)の両方を「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(LENB(A1)<>LENB(ASC(A1)),"半角変換が必要","OK")
ASC関数は全角英数字・カタカナを半角に変換します。変換前後でLENBの結果が変われば、全角文字が含まれている証拠です。
逆に「カタカナは全角に統一したい」場合は、JIS関数と同様の考え方で判定できます。
=IF(LENB(A1)<>LENB(JIS(A1)),"全角変換が必要","OK")
JIS関数は半角カタカナを全角に変換します。変換前後のバイト数が変われば、半角カタカナが含まれている証拠です。
TEXT+LENでゼロ埋めの桁数をチェック
商品コードや伝票番号は、先頭をゼロで埋めて桁を揃えることがよくあります。たとえば「5桁のコードに揃える」とき、桁が足りているかをLEN関数でチェックできます。
=IF(LEN(A1)<5,"桁不足","OK")
桁が足りないセルだけを洗い出せるので、ゼロ埋め前の確認に便利です。実際にゼロ埋めをするときは、TEXT関数を使います。
=TEXT(A1,"00000")
この数式なら「42」が「00042」になります。LEN関数で桁不足を検出し、TEXT関数で桁を揃えるという流れが、コード整形の定番パターンです。
なお、数値の前方をゼロで埋めて表示だけ整えたい場合は、セルの表示形式を「00000」に設定する方法もあります。文字列として保存したいか、数値のまま表示だけ揃えたいかで使い分けてください。
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活用
LEN関数は「文字数を数える」だけでなく、文字列の一部を取り出す関数と組み合わせると真価を発揮します。文字列の長さが一定でない場合の抽出に欠かせません。
RIGHT+LENで末尾から可変長を取り出す
RIGHT関数は末尾から指定文字数を取り出します。先頭の固定文字を除いた残り全部を取り出したいとき、LEN関数が活躍します。
=RIGHT(A1,LEN(A1)-3)
これはA1の先頭3文字を除いた残りを取り出す数式です。文字列の長さが行ごとに違っても、先頭3文字だけを確実に取り除けます。部署コードの接頭辞を外すときなどに便利ですよ。
MID+LENで途中から末尾まで取り出す
特定の位置から末尾までを取り出すときは、MID関数とLEN関数を組み合わせます。
=MID(A1,4,LEN(A1))
MID関数の第3引数(取り出す文字数)に、元の文字数より大きい値を指定するとどうなるでしょう。末尾まで取り出されます。LEN(A1)を指定しておけば、末尾の位置を気にせず安全に取り出せますよ。
FIND+LENで区切り文字より後ろを取り出す
「@より後ろ」のように区切り文字を基準に取り出すこともできます。メールアドレスのドメイン部分の抽出が代表例です。このときはFIND関数とLEN関数を組み合わせます。
=RIGHT(A1,LEN(A1)-FIND("@",A1))
FIND関数で「@」の位置を求め、全体の文字数からその位置を引きます。これで「@」より後ろの文字数が分かり、RIGHT関数で取り出せます。大文字小文字を区別せずに探したいときは、SEARCH関数に置き換えてください。
LEN関数のよくある質問(FAQ)
LEN関数を使うとき、つまずきやすいポイントをQ&A形式でまとめました。
Q. LEN関数で改行は数えられますか?
A. はい、数えられます。セル内改行(Alt+Enter)は1文字としてカウントされます。改行の数を数えたいときは、SUBSTITUTE関数とCHAR(10)を組み合わせます。
=LEN(A1)-LEN(SUBSTITUTE(A1,CHAR(10),""))
CHAR(10)はセル内改行を表します。これで1セル内の改行数(=行数-1)が分かりますよ。
Q. 全角と半角を別々に数えられますか?
A. はい、LENとLENBの組み合わせで計算できます。全角文字数は =LENB(A1)-LEN(A1)、半角文字数は =LEN(A1)*2-LENB(A1) で求められます。混在データの集計に便利です。
Q. スペースを除いた文字数を数えるには?
A. SUBSTITUTE関数でスペースを削除してから数えます。半角スペースを除く場合はこう書きます。
=LEN(SUBSTITUTE(A1," ",""))
全角スペースも除きたい場合は、SUBSTITUTEを入れ子にして全角スペースも置換してください。
Q. LENとLENBはどちらを使えばいいですか?
A. 通常の文字数カウントはLEN関数で問題ありません。LENB関数は、バイト数で文字数を管理するシステムへのデータ登録前チェックなど、特定の場面でのみ使います。迷ったらLEN関数を選びましょう。
Q. Googleスプレッドシートでも同じように使えますか?
A. はい、GoogleスプレッドシートにもLEN関数があり、文字数のカウント方法は同じです。ただしLENB関数の挙動など細かな違いがあります。詳しくはスプレッドシートのLEN関数の使い方を参照してください。
よくあるエラーと似た関数の使い分け
LEN関数はシンプルな関数なので、エラーになるケースは限られます。よくある落とし穴と、混同しやすい関数をまとめて整理しますね。
よくあるエラーと対処法
| 状況 | 結果 | 対処法 |
|---|---|---|
| 引数を省略した | #VALUE!エラー | セル参照または文字列を指定する |
| エラー値のセルを参照した | エラーがそのまま伝播 | IFERROR関数で囲む |
| 日付セルを参照した | シリアル値の桁数が返る | TEXT関数で表示形式を指定してから渡す |
| 文字数が想定より多い | スペースや改行を含んでいる | TRIM関数やCLEAN関数で前処理する |
| 数値が桁区切り表示 | 区切りカンマは数えない | LENは実体(数値)を数えるため見た目と異なる |
「文字数が合わない」という問題は、目に見えないスペースや改行が混入していることがほとんどです。TRIM関数で余分なスペースを除去し、CLEAN関数で制御文字を除去してからLEN関数に渡してみてください。
似た関数との違い・使い分け
| 関数 | 機能 | 使いどころ |
|---|---|---|
| LEN | 文字数を返す | 文字数カウント全般 |
| LENB関数 | バイト数を返す | 全角半角の区別が必要なとき |
| MID関数 | 文字列の一部を抽出 | LENと組み合わせて末尾N文字を取得 |
| RIGHT関数 | 末尾から抽出 | LENと組み合わせて可変長を取得 |
| FIND関数 | 文字の位置を返す | LENと組み合わせて区切り後を取得 |
| SUBSTITUTE関数 | 文字列を置換 | LENと組み合わせて出現回数を数える |
| TRIM関数 | 余分なスペースを除去 | LENと組み合わせて不要スペースの検出 |
| ASC関数 | 全角→半角に変換 | LENBと組み合わせて半角統一チェック |
| JIS関数 | 半角→全角に変換 | LENBと組み合わせて全角統一チェック |
| REPT関数 | 文字を繰り返す | LENと組み合わせて桁揃え・簡易バーグラフ |
| COUNTIF関数 | 条件に一致するセルを数える | セル単位のカウント(セル内の文字カウントはLEN) |
特にSUBSTITUTE関数との出現回数カウント、TRIM関数とのスペース検出は実務で頻出です。セットで覚えておくと便利ですよ。
まとめ
LEN関数は、セルの文字数を数えるシンプルな関数です。引数は文字列1つだけなので、Excel初心者でもすぐに使いこなせます。
- 基本:
=LEN(A1)でセルの文字数を取得 - LENBとの違い: LENは文字数、LENBはバイト数。通常はLENで十分
- 文字数チェック: IF関数と組み合わせて入力制限を判定
- 固定桁数チェック:
=IF(LEN(A1)=7,…)で郵便番号などをバリデーション - 特定文字カウント: SUBSTITUTE関数と組み合わせて出現回数を取得
- 可変長の抽出: RIGHT・MID・FIND関数と組み合わせて柔軟に取り出す
- 全角半角判定: LENBとの差分、ASC/JIS関数との組み合わせで統一チェック
- データクレンジング: TRIM・CLEAN関数と組み合わせて問題セルを検出
まずは =LEN(A1) から試して、慣れてきたら実務パターンも活用してみてください。