Excel関数 逆引き集 | 入力文字数制限 → LEN

Excel
スポンサーリンク

概要

「このセルには最大 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 文字まで」を許可する例をイメージしながら説明します。

手順のイメージ(頭の中で整理する用)

  1. 対象セル(例:A2:A100)を選択する
  2. データタブ → データの入力規則
  3. 設定タブで「入力値の種類」を「ユーザー設定」にする
  4. 数式欄に「=LEN(A2)<=10」と入力
  5. エラーメッセージタブで、メッセージ内容を設定

ここで実質的な肝になるのが「数式欄」の内容です。

=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つ自分のパターンとして持っておくと、実務でかなり強くなります。

Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました