概要
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の文字数計算に渡せば、可変長にも破綻しない抽出テンプレートが作れます。用途や入力特性に合わせて“何を文字数として数えるか”のルールを先に決めると、後悔しない設計になります。
