概要
「このセルには最大 10 文字までしか入力させたくない」
「商品コードは必ず 6 文字ちょうどにしたい」
「備考欄は 200 文字以内に収めてほしい」
こういう「入力文字数を制限したい」場面で土台になるのが LEN 関数(文字数カウント) です。
さらに、データの入力規則(データの入力制限)+ LEN を組み合わせることで、「一定の文字数を超えた入力をそもそもできなくする」ことができます。
ここでは、
LEN で「文字数をチェックする考え方」
+「データの入力規則と組み合わせた実務的なテンプレート」
を、初心者向けにかみ砕いて解説します。
LEN の基本(入力された文字数を数える)
LEN の役割はとてもシンプルです。
「このセルには何文字入っているか?」を数えます。
基本形は次の通りです。
=LEN(A2)
A2 に「ABC」が入っているとき、
LEN(A2) の結果は 3 になります。
郵便番号の桁数チェック、パスワードの長さチェック、ID の文字数確認など、「文字数がルール通りか?」を見るときのベースになる関数です。
「入力文字数を制限する」という発想も、
裏側では必ず「LEN で文字数を測る」ことから始まります。
最大文字数制限(〇文字以内)の考え方
「10 文字以内」「200 文字以内」といった制限は、
数式の世界では次のように表現できます。
「A2 の文字数が 10 以下」 = LEN(A2)<=10
例えば、
A2 が 10 文字以下なら OK、超えたら NG と表示したいときは次のように書きます。
=IF(LEN(A2)<=10,"OK","文字数オーバーです")
この考え方を、そのまま「入力規則」に持ち込むと、入力時に制限をかけられるようになります。
データの入力規則+LEN で「入力文字数を制限」する
実際の入力制限は、「数式を書く」というより
「入力規則(データの入力規則)」の設定で行います。
ここでは、A2:A100 に「最大 10 文字まで」を許可する例をイメージしながら説明します。
手順のイメージ(頭の中で整理する用)
- 対象セル(例:A2:A100)を選択する
- データタブ → データの入力規則
- 設定タブで「入力値の種類」を「ユーザー設定」にする
- 数式欄に「=LEN(A2)<=10」と入力
- エラーメッセージタブで、メッセージ内容を設定
ここで実質的な肝になるのが「数式欄」の内容です。
=LEN(A2)<=10
という式が TRUE のときだけ入力を許可し、
FALSE ならエラーを出す、という動きになります。
この「ユーザー設定+LEN」で、「入力文字数制限」を実現できます。
ちょうど〇文字だけ許可するパターン
ID やコードなどで
「6 文字ちょうどじゃないとダメ」
というケースもよくあります。
その場合の条件は、次のように表現できます。
=LEN(A2)=6
この式を「データの入力規則」の「ユーザー設定」の数式に指定すれば、
6 文字以外はエラーになり、入力そのものが拒否されます。
「ちょうど n 文字」を許可したいときは、
LEN(A2)=n
と覚えておけば大丈夫です。
文字数の下限と上限を両方決めるパターン
例えば、パスワード欄などで
「8 文字以上 20 文字以下にしたい」
というような場合は、
LEN の結果を AND でつなぎます。
考え方はこうです。
「A2 の文字数が 8 以上」 = LEN(A2)>=8
「A2 の文字数が 20 以下」 = LEN(A2)<=20
この2つを同時に満たしてほしいので、AND でつなぎます。
=AND(LEN(A2)>=8, LEN(A2)<=20)
この式を入力規則の「ユーザー設定」に指定すれば、
8 文字未満や 21 文字以上の入力はエラーになります。
「空白だけ」の入力をNGにしたいときの工夫
たとえば、名前やタイトルの欄で
「何も入っていない(完全な空白)」も
「スペースだけ入っている」のも NG にしたい
ということがあります。
この場合は、TRIM と LEN を組み合わせます。
TRIM は、
前後のスペース削除+連続スペースを 1 個に整える関数です。
「TRIM(A2) の結果が空文字かどうか」で
実質的に「何か意味のある文字が入っているか」を判定できます。
入力必須かつ「実質 1 文字以上」を強制したい場合は、
次のような式を入力規則に使います。
=LEN(TRIM(A2))>=1
これに加えて、文字数上限を付けたい場合は AND でつなぎます。
例:1〜20 文字の範囲で必須入力にしたい
=AND(LEN(TRIM(A2))>=1, LEN(TRIM(A2))<=20)
コード例テンプレート集
ここまでの話を、「入力規則でそのまま使える形」にまとめておきます。
最大 10 文字まで許可(0〜10文字)
=LEN(A2)<=10
ちょうど 6 文字だけ許可
=LEN(A2)=6
8〜20 文字の範囲だけ許可
=AND(LEN(A2)>=8, LEN(A2)<=20)
空白やスペースだけを禁止し、かつ 20 文字まで
=AND(LEN(TRIM(A2))>=1, LEN(TRIM(A2))<=20)
郵便番号を 7 文字ぴったりに制限(前後スペース無視)
=LEN(TRIM(A2))=7
これらを「データの入力規則 → ユーザー設定」の数式に入れれば、
その条件を満たさない文字数の入力は そもそもできない(エラーになる) という状態にできます。
例題
問題1
A2 に「最大 10 文字まで」入力させたいです。
A2 の文字数が 10 文字以内のときだけ TRUE になる式を、LEN を使って書いてください。
(この式を「データの入力規則 → ユーザー設定」に使う前提です)
=LEN(A2)<=10
問題2
A2 には「6 文字ちょうどの社員ID」だけを許可したいです。
6 文字ぴったりのとき TRUE、それ以外は FALSE となる式を LEN で書いてください。
=LEN(A2)=6
問題3
A2 にパスワードを入力します。
「8 文字以上 20 文字以下」のときだけ TRUE になる式を、LEN と AND で書いてください。
=AND(LEN(A2)>=8, LEN(A2)<=20)
問題4
A2 に名前を入力します。
「前後のスペースは無視して、実質 1 文字以上 20 文字以下」のときだけ TRUE にしたいです。
TRIM と LEN、AND を使った式を書いてください。
=AND(LEN(TRIM(A2))>=1, LEN(TRIM(A2))<=20)
問題5
A2 に郵便番号を入力します。
前後スペースを無視して「7 文字ちょうど」のときだけ TRUE にしたいです。
TRIM と LEN を使った式を書いてください。
=LEN(TRIM(A2))=7
LEN は「入力文字数制限」をかけるときの“心臓部”です。
数式としてはとても単純ですが、
入力規則と組み合わせることで「間違った桁数の入力をそもそも受け付けない」設計ができるようになります。
まずは「LEN で文字数を数える」→「比較演算子で条件をつける」→「入力規則に埋め込む」という流れを、1つ自分のパターンとして持っておくと、実務でかなり強くなります。
