Excel関数 逆引き集 | 文字数を調べる → LEN

Excel
スポンサーリンク

概要

LENは「文字列の文字数」を返す関数です。半角・全角の違いに関係なく、1文字を1として数えます(空白や記号も文字数に含まれます)。データ検証、固定長フォーマットのチェック、前後の切り出し(LEFT/RIGHT/MID)の準備、可変長の区切り処理などに便利です。数値や日付に直接使うと“見た目”ではなく内部表現の長さになるため、必要に応じてTEXTで文字列化してから使います。


基本の使い方

書式

=LEN(文字列)

与えた文字列の文字数(空白・記号含む)を返します。

=LEN("東京都江東区")   // 6
=LEN("AB-12345")      // 8
=LEN("山田 太郎")       // 5(半角スペースも1文字)
=LEN("")              // 0(空文字)
=LEN(12345)           // 5(数値は文字数として桁数)

日本語と特殊文字の扱い

  • 全角も半角も「1文字=1カウント」です。
  • 絵文字や一部の特殊文字は環境によって2文字として数えられることがあります(サロゲートペア)。厳密な文字幅が重要なら実データで確認してください。

具体例

固定長コードのチェック(桁数検証)

=IF(LEN(A2)=8, "OK", "桁数エラー")

品番やIDの長さが規定どおりかを簡単に判定できます。

郵便番号や電話番号の長さチェック(ハイフン有無に対応)

ハイフンを除いて桁数を見る例:

=IF(LEN(SUBSTITUTE(A2, "-", ""))=7, "OK", "桁数不足")

先頭・末尾の切り出しに備えて長さを使う

末尾n文字を取りたいときの文字数計算に利用:

=RIGHT(A2, MIN(3, LEN(A2)))

3文字未満でも安全に末尾を取得できます。

数値・日付を文字化してから長さを数える

=LEN(TEXT(B2, "yyyy/mm/dd"))   // 日付の“表示文字数”
=LEN(TEXT(C2, "000000"))       // ゼロ埋め後の桁数

応用テンプレート

余分な空白を除いて文字数を数える(TRIM+SUBSTITUTE)

連続空白や先頭末尾の空白を無視したい場合:

=LEN(TRIM(SUBSTITUTE(A2, " ", " ")))

全角スペースを半角に統一し、TRIMで整えた長さを取得します。

区切り文字の“右側の長さ”を元にMIDを組む

最後の「-」以降の文字数:

=LEN(A2) - FIND("@", SUBSTITUTE(A2, "-", "@", LEN(A2)-LEN(SUBSTITUTE(A2, "-", ""))))

この結果をMIDの文字数にそのまま渡せます。

可変長の「左n」や「右n」を安全に(0未満防止)

開始位置や文字数が計算で0未満になるのを防ぐ:

=LEFT(A2, MAX(0, n))
=RIGHT(A2, MAX(0, LEN(A2)-m))

不可視文字を除去してから文字数(CLEAN)

改行や制御文字が混じるデータのクレンジング:

=LEN(TRIM(CLEAN(A2)))

バイト数ベースが必要なとき(旧来のDBCS設定のみ)

一部環境では LENB が「バイト数」を返します(現在は非推奨)。

=LENB(A2)

通常はLENで文字ベース設計をおすすめします。


よくあるつまずきと対策

数値や日付をそのままLENすると“内部値の桁数”になる

見た目どおりの長さを測りたいならTEXTで文字化してからLENを使います。

=LEN(TEXT(A2, "0.00"))

全角・半角の混在で長さが意図と合わない

空白や記号の全角・半角をSUBSTITUTEで統一してからLENを使うと安定します。

=LEN(SUBSTITUTE(A2, " ", " "))

不可視文字でカウントが増える

コピー元によっては制御文字が混入します。CLEANやTRIMで正規化してからLEN。

=LEN(TRIM(CLEAN(A2)))

絵文字が2文字として数えられる場合がある

環境差でカウントに揺れが出ることがあります。絵文字を扱う仕様では事前合意したルール(置換・除外)を設けましょう。


例題

問題1: A2の文字数をB2に表示してください。

解答例:

=LEN(A2)

問題2: 郵便番号A2のハイフンを除いた文字数をC2に表示してください。

解答例:

=LEN(SUBSTITUTE(A2, "-", ""))

問題3: D2の日付を「yyyy/mm/dd」で文字化し、その文字数をE2に表示してください。

解答例:

=LEN(TEXT(D2, "yyyy/mm/dd"))

問題4: 全角スペースを半角に統一し、先頭末尾の空白を除いたF2の文字数をG2に表示してください。

解答例:

=LEN(TRIM(SUBSTITUTE(F2, " ", " ")))

問題5: H2の最後の「-」以降の文字数をI2に表示してください。

解答例:

=LEN(H2) - FIND("@", SUBSTITUTE(H2, "-", "@", LEN(H2)-LEN(SUBSTITUTE(H2, "-", ""))))

まとめ

LENは「文字数」を測る基本関数で、桁数検証、区切り処理、切り出しの補助に欠かせません。数値・日付はTEXTで文字化、全角・半角や不可視文字はSUBSTITUTE/TRIM/CLEANで正規化してから使うと実務で安定します。必要に応じてLENの結果をLEFT/RIGHT/MIDの文字数計算に渡せば、可変長にも破綻しない抽出テンプレートが作れます。用途や入力特性に合わせて“何を文字数として数えるか”のルールを先に決めると、後悔しない設計になります。

タイトルとURLをコピーしました