IF関数とLEN関数を組み合わせて指定の文字数の範囲外の場合にエラーメッセージを表示させる方法

IF関数とLEN関数を組み合わせて指定の文字数の範囲外の場合にエラーメッセージを表示させる方法

前回LEN関数で指定したセルの文字数をカウントする方法について解説しました。

LEN関数で指定したセルの文字数をカウントする方法 | Excelを制する者は人生を制す ~No Excel No Life~

このLEN関数を応用すると、文字数に制約のあるパスワードや各種コード類の入力時の桁の過不足を防止することも可能です。

今回はIF関数とLEN関数を組み合わせて指定の文字数の範囲外の場合にエラーメッセージを表示させる方法について解説していきます。

IF関数とLEN関数を組み合わせる方法

今回はオーソドックスな2ケースをご紹介します。

指定の文字数とイコール以外をエラーとする場合

まずは、文字数の完全一致を前提とするケースです。

今回のサンプルでは口座番号として7桁の入力をC3セルに入力することが指定してされているとします。

IF関数とLEN関数の組み合わせ①

この場合、上図のようにIF関数の条件式として「LEN(c3)=7」のように該当の入力セルの文字数が指定した文字数(今回のサンプルでは7)になっているかどうか、を設定します。

そして、[真の場合]は指定した文字数と完全一致なので特に問題ないためブランク("")を指定します。

指定した文字数と相違のある[偽の場合]として任意のエラーメッセージを指定します。(今回のサンプルでは"口座番号の桁数が7桁ではありません。")

まとめると、下記の数式となります。

「=IF(LEN(C3)=7,"","口座番号の桁数が7桁ではありません。")」

IF関数とLEN関数の組み合わせ②

これでC3セルの入力された文字数が7桁以外の場合はエラーメッセージが表示されるようになりました。

指定の文字数の範囲外をエラーとする場合

次のケースは指定の文字数に幅がある場合です。(○~○桁ならOKなど)

今回のサンプルでは6~8桁のパスワードをC6セルに入力することが指定されているとします。

IF関数とLEN関数の組み合わせ③

この場合、上図のようにIF関数の条件式としてAND関数で6桁以上と8桁以内をそれぞれ設定します。

具体的には「AND(LEN(C6)>=6,LEN(C6)<=8)」のように2つのLEN関数をAND関数内に組み込むことで○以上○未満を表現します。 そして、[真の場合]は指定した文字数と完全一致なので特に問題ないためブランク(”")を指定します。 指定した文字数と相違のある[偽の場合]として任意のエラーメッセージを指定します。(今回のサンプルでは”PWは6~8文字で設定してください。”) まとめると、下記の数式となります。 「=IF(AND(LEN(C6)>=6,LEN(C6)<=8),"","PWは6~8文字で設定してください。")」

IF関数とLEN関数の組み合わせ④

これでC6セルの入力された文字数が5桁以下、あるいは9桁以上の場合はエラーメッセージが表示されるようになりました。

まとめ

今回ご紹介した方法なら各種表やフォームの作成者の意図を入力者に伝えることが容易になります。

特にパスワードや各種コードは桁数が不揃いだと、その後の集計や加工の手間がかかるため、入力時に制限をかけておくと余計な手間が激減するのでおすすめです。

次回以降、他の文字列操作関数とLEN関数を組み合わせて可変性を持たせる方法についてご紹介していきます。