顧客コードや社員番号、郵便番号のように「桁数が決まっているデータ」を扱う場面は経理・総務・営業事務のどこでも登場します。手入力のExcel表では、桁数が1つ多い・少ないといったミスが混入しやすく、あとからシステムに取り込む段階で初めてエラーに気づく、ということも珍しくありません。LEN関数はセルの文字数を数えるだけのシンプルな関数ですが、入力規則や条件付き書式、SUBSTITUTE関数と組み合わせることで、入力段階でのミスを未然に防ぐ強力なチェック機能に育てられます。
LEN関数の基本構文
LEN関数は、指定したセルの文字数(または数値の桁数)を数値として返します。引数は対象セル1つだけで、非常にシンプルです。
例:A1に「東京都渋谷区」と入力されている場合
=LEN(A1) → 7(全角・半角を区別せず1文字を1として数える)
例:A2に数値の1000が入力されている場合
=LEN(A2) → 4(表示形式で「1,000」と見えていても、実際の値の桁数を数える)
入力規則と組み合わせて文字数制限をかける
「名前欄は全角20文字以内」「備考欄は100文字まで」のようなルールを、入力した後に気づかせるのではなく、入力した瞬間に弾く仕組みにしたい場合は、データの入力規則にLEN関数を組み込みます。
- 制限をかけたいセル範囲(例:B2:B100)を選択する
- 「データ」タブ→「データの入力規則」を開く
- 「設定」タブで入力値の種類を「ユーザー設定」にする
- 数式欄に =LEN(B2)<=20 と入力する
- 「エラーメッセージ」タブで、桁数オーバー時に表示する注意文を設定して「OK」
B2に21文字以上を入力しようとすると、設定したエラーメッセージが表示されて入力が確定できなくなります。範囲の先頭セル(この例ではB2)を基準に数式を作る点は条件付き書式と同じ考え方です。
SUBSTITUTE関数と組み合わせて特定の文字の出現回数を数える
LEN関数は「特定の文字が何回出てくるか」を数える用途でも使われます。対象の文字を空文字に置き換えたときの文字数の減り具合から、出現回数を逆算する考え方です。
A1の文字列からカンマを取り除いた文字列とのLENの差が、そのままカンマの出現回数になります。CSV形式で受け取ったデータの区切り文字の数を検証したいときや、氏名欄に複数人の名前が「、」区切りで入っていないかをチェックしたいときに使えます。
実務でのよくある使用シーン
総務担当者であれば、社員番号や部署コードの桁数が統一されているかをLEN関数付きの監視列でチェックし、桁数違反の行だけを条件付き書式で赤く表示することで、新入社員の名簿登録時のミスを早期に発見できます。経理担当者であれば、振込先の口座番号や取引先コードの桁数チェックに使い、システムへの一括取込前にLENで桁数不一致の行を洗い出す運用ができます。営業事務担当者であれば、備考欄や住所欄に文字数制限のあるシステムへ登録する前段階で、Excel上でLEN関数によるチェック列を用意し、超過している行だけを事前に修正してから登録する、という使い方が定着しています。
LEN関数でよくあるエラー・トラブルと対処法
TRIM関数は既定では半角スペースしか取り除けません。氏名欄などに全角スペース(「山田 太郎」の間の空白)が混入していると、TRIMしても文字数が減らず、想定より1文字多い状態のままLENの結果を得てしまいます。
TRIM単体で対処しようとして「全角スペースが消えない」と悩むケースが非常に多いため、全角・半角それぞれの空白を意識して処理を分けることが重要です。
1つのセル内でAlt+Enterによる改行を使って複数行にわたる文章を入力している場合、その改行そのものも1文字としてLENにカウントされます。目視では気づきにくいため、「見た目の文字数と合わない」という問い合わせの原因になりがちです。
備考欄など長文を入力する欄で文字数制限をかける場合は、改行を許可するのかどうかを事前に決め、許可しないのであれば入力規則側でも改行を含む入力を弾く設計にしておくと混乱が減ります。
セルの表示形式(桁区切り、円マーク、日付表示など)は見た目を変えるだけで、セルが保持する実際の値には影響しません。「1,000」と表示されているセルでも、LENが数えるのは実際の値である1000の4文字であり、カンマは含まれません。
桁区切りやハイフンを含めた「見た目通りの桁数」をチェックしたい場合は、あらかじめ文字列としてハイフンなどを含めて入力しておくか、TEXT関数で表示形式を反映した文字列に変換してからLENで数える必要があります。
初心者がつまずきやすいポイントとコツ
- LEN関数は全角・半角を区別せず「1文字=1」で数える。バイト数(半角1・全角2として数える)を数えたい場合はLENB関数という別の関数を使う必要があり、混同すると桁数チェックの基準がずれます。
- 見えない文字(スペース・改行)の存在を疑う癖をつける。目視の文字数とLENの結果が合わないときは、まず全角スペースや改行が紛れていないかを確認すると原因が見つかりやすくなります。
- 入力規則は「入力時」のチェック、LEN列は「事後」のチェックと役割を分ける。貼り付け操作では入力規則が効かないことがあるため、両方を併用しておくと安心です。
- 数値と文字列を混同しない。数値として入力されたコードは、表示形式ではなく実際の値の桁数が数えられることを前提に設計しましょう。
まとめ
LEN関数は文字数を数えるだけのシンプルな関数ですが、入力規則と組み合わせれば文字数超過そのものを防ぐ仕組みになり、SUBSTITUTE関数と組み合わせれば特定の文字の出現回数を数えることもできます。実務でつまずきやすいのは、全角スペース・改行といった「見えない文字」の存在と、セルの表示形式と実際の値の違いです。この2点さえ意識しておけば、LEN関数を使った文字数チェックは安定して運用できます。
よくある質問
関連記事
- TRIM・SUBSTITUTE関数で全角スペースが消えない原因と対処法
- LEFT・RIGHT・MID関数で文字列を切り出す方法|#VALUE!エラーと桁数ズレの対処法
- CONCAT・TEXTJOIN関数で文字列を結合する方法|区切り文字が連続する原因と対処法