• ベストアンサー

エクセル 入力規則 数字の入力の禁止

エクセルで半角英字を6桁入力するセルに、数字の入力を禁止したいのですが、どのように関数を使えばいいのかわかりません。 数字の入力を禁止する方法を教えてほしいです。宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.4

>半角英字を6桁入力 この要件を満たすには、6文字が『ABCDEFGHIJKLEMOPQRSTUVWXYZ』(大文字なら) のみで入力されている必要があるはずです。 数字のみを除外するのではなく、『!#$%&/()[]』のような記号も入力不可にすべきでしょう。『!#$%&/()[]』を英字とみなすなら別ですが・・・ 以下、A1に入力規則を設定するとします。 データの入力規則ダイアログで数式を登録をすることもできますが、長くなるので、間接的に設定します。 仮にセルC1を判定に使います。 入力規則ダイアログで数式に 『=C1=TRUE』と入力します。 セルC1に下の式を入力します。  =IF(A1<>"",AND(LEN(A1)=6,LENB(A1)=6,  AND("A"<=MID(A1,1,1),MID(A1,1,1)<="Z"),  AND("A"<=MID(A1,2,1),MID(A1,2,1)<="Z"),  AND("A"<=MID(A1,3,1),MID(A1,3,1)<="Z"),  AND("A"<=MID(A1,4,1),MID(A1,4,1)<="Z"),  AND("A"<=MID(A1,5,1),MID(A1,5,1)<="Z"),  AND("A"<=MID(A1,6,1),MID(A1,6,1)<="Z")),"") 見やすいように複数行にして書いています。入力する時は1行にして下さい。 ※こんな式も作れます。   =AND(LEN(A1)=6,LENB(A1)=6,1<=MIN(FIND(MID(UPPER(A1),{1,2,3,4,5,6},1),"ABCDEFGHIJKLMNOPQRSTUVWXYZ")))    (これも1行ですが、回答すると変に改行されるみたいです) C1セルの式が長いと感じたら、各条件をセル単位に書けば分かりやすくなるでしょう。 入力規則ダイアログで数式に 『=SUM(C1:J1)=8』と入力します。  C1 : =(LEN(A1)=6)*1  D1 : =(LENB(A1)=6)*1  E1 : =AND("A"<=MID(A1,1,1),MID(A1,1,1)<="Z")*1  F1 : =AND("A"<=MID(A1,2,1),MID(A1,2,1)<="Z")*1  G1 : =AND("A"<=MID(A1,3,1),MID(A1,3,1)<="Z")*1  H1 : =AND("A"<=MID(A1,4,1),MID(A1,4,1)<="Z")*1  I1 : =AND("A"<=MID(A1,5,1),MID(A1,5,1)<="Z")*1  J1 : =AND("A"<=MID(A1,6,1),MID(A1,6,1)<="Z")*1 条件を分割して書くようにすれば、『I(アイ)とO(オー)は数字と間違いやすいので使用不可』などの条件も簡単に書けます。 ご参考に。

mimika-
質問者

お礼

ありがとうございます。希望の入力規則にできました。更に何パターンも教えて下さり感謝感謝です。勉強になりました。私もがんばって自分でここまでできるようになりたいものです。本当にありがとうございました。

その他の回答 (3)

回答No.3

No1です。 半角英字のみで6桁入力するんでしたね。 =AND(ISNUMBER(A1)=FALSE,LENB(A1)=6,LEN(A1)=6) とすれば半角文字で数字以外の6文字しか入力ができなくなります。 英字に限定するのであれば同じ入力規則の「日本語入力」タブをクリックし、日本語入力を「無効」に設定してください。

mimika-
質問者

補足

早速ご回答していただきありがとうございます。 6文字に限定し数字は入力できないところまではできました。 本当にありがとうございます。 希望としてなのですが、 例えば、abcc33 のように数字と英語を両方使ってもエラーになるという入力規則の記述の仕方を更に知りたいのです。 もしも方法があれば教えていただきたいのですが、、、わがまま言ってすみません。宜しくお願いします。

  • mi-si
  • ベストアンサー率35% (200/567)
回答No.2

ユーザー設定で、データ入力規則を設定する方法があります。 =AND(ISERR(FIND("0",A1)),ISERR(FIND("1",A1)),ISERR(FIND("2",A1)),ISERR(FIND("3",A1)),ISERR(FIND("4",A1)),ISERR(FIND("5",A1)),ISERR(FIND("6",A1)),ISERR(FIND("7",A1)),ISERR(FIND("8",A1)),ISERR(FIND("9",A1)),IF(LENB(A1)=6,1,0)) と言う数式を入れれば禁止できそうですが・・・。

参考URL:
http://www.atmarkit.co.jp/fwin2k/win2ktips/337inputrule/inputrule.html
mimika-
質問者

お礼

お忙しい中ご回答いただきありがとうございます。 また宜しくお願いします。

回答No.1

仮にA1セルだとして、データ-入力規則-ユーザー設定で、 =ISNUMBER(A1)=FALSE としてみてください。 数値は入力できなくなります。

関連するQ&A