Excel 入力規則の複数指定について
1つのセルに対し、複数の入力規則は出来ないのでしょうか?
例えば、Excelシートで
A1に学校名を入力
B1に入学する年(西暦)
C1に入学する月
を入力させたいのですが、
A1に学校名が入力されてなかった場合、
B1とC1は入力規則でエラーメッセージを出して入力不可にしたいのです。
逆に、A1に学校名が入力された場合、
B1には、入力規則で適切な西暦だけを入力可能にしたいのです。
C1には、入力規則で適切な月だけを入力可能にしたいのです。
適切な西暦や月が入力されなかった場合は、
入力規則でエラーメッセージを出して入力不可にしたいのです。
ちなみに現在使用している仕様は「WinXP、Excel2003」です。
Excel初心者なので、VBAは分かりません・・・。
関数は、少々分かりますので、入力規則以外でこの様な
複数指定の方法が出来るのでしたら、教えていただけないでしょうか?
なにとぞ、ご教授のほど宜しくお願い致します。
投稿日時 - 2011-03-17 17:03:26
例えば次のようにします。
シート2のA列には学校名が入力されているとします。
その後、シート1のA1セルを選択したのちに「データの入力規則」の「ユーザー設定」で数式の窓には
=COUNTIF(Sheet2!A:A,A1)>0
B1セルを選択して同様にデータの入力規則のユーザー設定の数式の窓には
西暦2010から2020を入力できるようにする場合には
=AND(A1<>"",B1>=2010,B1<=2020)
C1セルを選択して
=AND(A1<>"",B1<>"",C1>=1,C1<=12)
投稿日時 - 2011-03-17 17:50:27
返答が遅れてしまい、申し訳ありません・・・。
素早い回答をありがとうございます。
今回、学校名や西暦や月などは、直接入力をしていたので、
COUNTIF関数は使用しませんでした。
申し訳ありません・・・;
AND関数のほうを使用してみて、ちゃんと出来ました!
助かりました!
親身なって回答してくださり、ありがとうございました。
投稿日時 - 2011-03-18 10:44:26
このQ&Aは役に立ちましたか?
0人が「このQ&Aが役に立った」と投票しています
回答(3)
>B1には、入力規則で適切な西暦だけを入力可能にしたいのです。
>C1には、入力規則で適切な月だけを入力可能にしたいのです。
実際に設定できる値があるなら出してください。
下記は西暦1925年(昭和元年)から今年まで、1月から12月
(転校の場合月がいつになるかわからないので...)で設定してます。
■入力規則でなら
B1の入力規則の設定タブで
入力値の種類[ユーザー設定]
数式[=AND($A1<>"",B1>=1925,B1<=YEAR(TODAY()),MOD(B1,1)=0]
C1の入力規則の設定タブで
入力値の種類[ユーザー設定]
数式[=AND($A1<>"",B1>=1,B1<=12,MOD(B1,1)=0]
■条件付き書式でなら
B1の条件付き書式で
条件1「数式が」「AND($A1<>"",NOT(ISNUMBER(B1))」書式のパターンでピンク
条件2「数式が」「AND($A1<>"",MOD(B1,1)<>0)」書式のパターンで黄色
条件3「数式が」「AND($A1<>"",OR(B1<1925,B1>YEAR(TODAY()))」書式のパターンで水色
※ピンクなら未入力、黄色なら小数点あり、水色なら西暦範囲外
C1の条件付き書式で
条件1「数式が」「AND($A1<>"",NOT(ISNUMBER(B1))」書式のパターンでピンク
条件2「数式が」「AND($A1<>"",MOD(B1,1)<>0)」書式のパターンで黄色
条件3「数式が」「AND($A1<>"",OR(B1<=0,B1>12)」書式のパターンで水色
※ピンクなら未入力、黄色なら小数点あり、水色なら月範囲外
投稿日時 - 2011-03-17 17:36:41
返答が遅れてしまい、申し訳ありません・・・。
素早い回答をありがとうございます。
今回、入力規則での数式でMOD関数を削除したら、ちゃんと動きました。
条件付き書式のほうは、なぜか色がつきませんでした;
私の入力の仕方がいけなかったのか・・・;
動かないと思って、いろいろいじったのがいけなかったのかもしれません;
親身なって回答してくださり、ありがとうございました。
投稿日時 - 2011-03-18 10:40:14
>B1には、入力規則で適切な西暦だけを入力可能にしたいのです。
>C1には、入力規則で適切な月だけを入力可能にしたいのです。
適切な西暦や月の条件はなんでしょう?
西暦リスト範囲を選択して
[Ctr]+[Shift]+[F3]名前の作成先 [レ]上端行
(名前:西暦、参照範囲=Sheet1!$E$2:$E$4)
月リスト範囲を選択して
[Ctr]+[Shift]+[F3]名前の作成先 [レ]上端行
A2セルに何かを入力して
B2セルに 入力規則のリスト
=IF($A2<>"",西暦)
[ ]空白セルを無視する のチェックを外す
B2セルを右へコピーして
入力規則のリスト
=IF(B2<>"",月)
に変更する
投稿日時 - 2011-03-17 17:31:24
返答が遅れてしまい、申し訳ありません・・・。
素早い回答をありがとうございます。
今回、少々説明不足で申し訳ありません;
直接入力をするやり方をとっていたので、リスト化は出来なかったのです;
でも、リストを使用したら、この様なやり方もあるのだと凄く参考になりました。
親身なって回答してくださり、ありがとうございました。
投稿日時 - 2011-03-18 10:29:08