🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Excel の LEN 関数 — 文字数を数え、見えないゴミをあぶり出す

|

Excel の LEN 関数 — 文字数を数え、見えないゴミをあぶり出す

要点LEN(文字列) は値に含まれる文字数を返します。文字・数字・記号、 そしてすべてのスペースと不可視文字まで含めてです。この「すべての文字」という ところが肝心で、LEN はテキストのデバッガーです。"Apple""Apple" に一致 しないとき、=LEN(A2) が 5 ではなく 6 を返せば、目に見えない末尾のスペースが あることを教えてくれます。数えるだけでなく、検証や、有名な出現回数カウント術、 長さに基づく抽出も駆動します。

=LEN("Apple")        ' -> 5
=LEN("Apple ")       ' -> 6   (末尾のスペースは本物 — これで見えるようになった)
=LEN(A2)<>9          ' 9 文字でない口座番号を TRUE でフラグする
=LEN(A2)-LEN(SUBSTITUTE(A2,",",""))   ' A2 にカンマがいくつあるか

LEN は Excel で最も地味な関数の 1 つでありながら、最も役立つ関数の 1 つです。 目に見えない問題を目に見えるようにする唯一の関数だからです。「この 2 つのセルは 同じに見えるのに一致しない」という謎はすべて、LEN が予想より 1 大きい値を返すこと で決着します。

この記事で学べること

  • LENすべてを数える理由 — それがなぜ診断ツールになるのか
  • LEN で固定長の ID・コード・口座番号を検証する
  • 文字の出現回数を数える LEN 引く LEN の技
  • LEN が計算した長さで LEFTRIGHTMID を駆動する
  • LEN が数値の表示形式を無視する理由 — そして LENB が必要なとき

考え方: LEN は読み手ではなく、ものさし

LEN はテキストを理解しません。ただ測るだけです。文字列に沿ってものさしを当て、 そこに何文字あるかを報告し、目に見える文字と目に見えない末尾のスペースをまったく 区別しません。その無頓着さこそが、LEN を価値あるものにしています。あなたの目は 空白を読み飛ばしますが、LEN は飛ばしません。

なので LEN の主な用途は「この単語は何文字か」ではありません。**「このセルは自分が 思っているとおりのものか」**です。下流で何かがおかしくなったとき(照合が空振りし、 比較が失敗し、正しそうな ID が拒否される)、LEN が最初の探りになります。

=LEN(A2)      ' 5 のはずが 6 になった? -> 隠れた文字がある。さあ探しに行こう。

診断を裏づけるには TRIM と組み合わせます。 =LEN(A2) が 6 で =LEN(TRIM(A2)) が 5 なら、余分な 1 文字は通常のスペースでした。 TRIM で減らせないなら、CHAR(160) か制御文字です。=CODE(...) で確認しに行き ましょう。

検証: 長さで不正なデータを捕まえる

現実のデータの実に多くは、既知の長さを持っています。9 桁の口座番号、3 文字の通貨 コード、13 文字の請求書 ID、16 桁のカード番号。LEN はその想定をフィルターに変えます。

=LEN(A2)<>9                    ' 長さが違う口座番号をフラグする
=IF(LEN(A2)=3, "ok", "check")  ' 通貨コードはちょうど 3 文字でなければならない
=SUMPRODUCT(--(LEN(A2:A100)<>13))   ' 不正な形式の請求書 ID はいくつあるか?

これは、目視ではまず確実に見つけられないタイプの取り込みエラー(桁の欠落、コードの 切り詰め、余計な文字の付加)を丸ごと捕まえます。長さは安上がりで強力な整合性チェック であり、LEN はそれを列全体に一度で適用する手段です。条件付き書式で包めば、不正な 行を光らせられます。

定番の技: LEN で出現回数を数える

最もよく再利用される LEN の慣用句は、長さそのものとは無関係です。ある文字が セルの中に何回現れるかを数えるには、SUBSTITUTE でそれを取り除き、文字列がどれだけ短くなったかを測ります。

' A2 にカンマはいくつ?
=LEN(A2) - LEN(SUBSTITUTE(A2, ",", ""))

' 単語はいくつ? (スペース 1 個区切りのテキスト: スペース数 + 1)
=LEN(TRIM(A2)) - LEN(SUBSTITUTE(TRIM(A2), " ", "")) + 1

削除したカンマ 1 個につき文字列は 1 だけ短くなるので、その差がまさに出現回数です。 一度腑に落ちると何度も手を伸ばしたくなる、横道からの発想です。分割前の区切り文字を 数える、単語を数える、CSV フィールドを検算する、といった場面に使えます。

抽出を駆動する: LEN が「どれだけ」を計算する

LEN は、動的な LEFTRIGHTMID 抽出の裏に ある算術です。取り出す量が固定ではなく、文字列に応じて決まる場面で使います。

' 末尾 4 文字を除いたすべて
=LEFT(A2, LEN(A2) - 4)

' "ID-" のような既知の 3 文字の接頭辞を取り除く
=RIGHT(A2, LEN(A2) - 3)

' 最後のドット以降のファイル拡張子(FIND/SUBSTITUTE と組み合わせる)
=RIGHT(A2, LEN(A2) - FIND("~", SUBSTITUTE(A2, ".", "~", LEN(A2)-LEN(SUBSTITUTE(A2,".","")))))

LEFTRIGHT に文字数をベタ書きしている自分に気づいたら、LEN(A2) - 何か で より堅牢に表現できないかを問いましょう。長さの違う行にも耐えます。ベタ書きの数字は そこで静かに切り詰めてしまいます。

つまずきポイント: LEN は表示形式ではなく値を見る

よくある驚きがこれです。LEN は、セルが表示するものではなく、背後の値を 測ります。数値の表示形式(通貨記号・桁区切り・小数点以下の桁数・文字列として 表示された日付)は表示レイヤーであり、LEN はそれを無視します。

=LEN(1000)        ' -> 4, セルが "$1,000.00" と表示していても
=LEN(0.5)         ' -> 3  ("0.5"), "50%" と表示されていても
=LEN(TODAY())     ' -> 5  (シリアル値、例: "46204"), "2026-07-06" ではない

表示された文字列の長さが必要なら、まず TEXT で テキストに変換します。=LEN(TEXT(A2, "$#,##0.00"))。そして 2 バイト文字(日本語・ 中国語・韓国語)については、LEN は各文字を 1 として数え、LENB はバイト数 (CJK 文字は多くの場合 1 文字あたり 2)を数えることを知っておきましょう。下流の システムがバイト単位で測る場合は LENB を使います。

判断のポイント

LEN は 2 通りの働きでその地位を得ています。診断としては、テキストが「正しく 見えるのに正しく動かない」ときに真っ先に手を伸ばすものです。予想外のカウントは隠れた 文字の証拠であり、TRIMCLEAN を指し示してくれます。部品としては、検証 (LEN(A2)<>n)・カウント(LEN 引く LEN)・動的な抽出(LEN(A2)-k)を支えます。 LENではないのは、表示された見た目を測る手段です。それには先にテキストへ変換 します。この 2 つの役割を混同しなければ、LEN は 1 日に 10 回使う小さな道具になります。

ExcelMaster の活用

同じに見える値で照合が失敗するとき、その修正はほとんどの人が飛ばす診断から始まり ます。長さは本来あるべき値になっているか、です。ExcelMaster はそのチェックを 代わりに実行します。LENLEN(TRIM(...)) を比較し、隠れた文字をそのコードで 特定し、照合が通るようにするクリーニングを書き上げます。列全体にわたる長さ主導の抽出や 検証が必要なときも、文字を手作業で数えさせるのではなく、LEN に基づく数式を組み立て ます。症状を伝えれば、測り、診断し、修正します。

よくある質問

Excel の LEN 関数は何をしますか?

LEN(文字列) は値に含まれる文字数を返します。文字・数字・記号・スペース、さらには 不可視文字まで数えます。=LEN("Apple") は 5 を返します。最も価値ある用途は診断です。 予想外のカウントは、隠れた末尾のスペースや印刷されない文字を明らかにします。

LEN はスペースを数えますか?

はい。LEN はすべての文字を数えます。先頭・末尾・内側のスペースに加え、CHAR(160) のような印刷されない文字も含みます。だからこそ =LEN("Apple ") は 5 ではなく 6 を 返し、LEN が目に見えない空白を検出するための道具になるのです。

ある文字がセルに何回現れるかを数えるには?

取り除いたあとの長さを引きます。=LEN(A2)-LEN(SUBSTITUTE(A2,",",""))A2 の カンマを数えます。すべての出現を取り除くと、文字列はその出現回数だけ短くなるので、 その差が出現回数になります。

書式設定された数値で LEN が間違った長さを返すのはなぜ?

LEN は表示された形式ではなく、背後の値を測ります。=LEN(1000) は、セルが $1,000.00 と表示していても 4 です。通貨記号や桁区切りは書式であってデータでは ないからです。表示された文字を数えるには、先に TEXT で変換します。 =LEN(TEXT(A2,"$#,##0.00"))

LEN と LENB の違いは何ですか?

LEN は文字数を数えます(各文字が 1)。LENBバイト数を数え、2 バイト文字 (日本語・中国語・韓国語)は 2 として数えます。LENB を使うのは、下流のシステムが 文字列の長さをバイト単位で測るときだけにしましょう。通常の文字数には LEN を使います。

Tested in

検証環境: Excel 365 (Windows 11) — 最終確認 2026-07-06。

関連ガイド: Excel TRIM と CLEAN · Excel SUBSTITUTE と REPLACE · Excel LEFT・RIGHT・MID · Excel UPPER・LOWER・PROPER