こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel 入力規則の複数指定について

1つのセルに対し、複数の入力規則は出来ないのでしょうか?

例えば、Excelシートで

A1に学校名を入力
B1に入学する年(西暦)
C1に入学する月

を入力させたいのですが、

A1に学校名が入力されてなかった場合、
B1とC1は入力規則でエラーメッセージを出して入力不可にしたいのです。

逆に、A1に学校名が入力された場合、
B1には、入力規則で適切な西暦だけを入力可能にしたいのです。
C1には、入力規則で適切な月だけを入力可能にしたいのです。

適切な西暦や月が入力されなかった場合は、
入力規則でエラーメッセージを出して入力不可にしたいのです。

ちなみに現在使用している仕様は「WinXP、Excel2003」です。

Excel初心者なので、VBAは分かりません・・・。
関数は、少々分かりますので、入力規則以外でこの様な
複数指定の方法が出来るのでしたら、教えていただけないでしょうか?
なにとぞ、ご教授のほど宜しくお願い致します。

投稿日時 - 2011-03-17 17:03:26

QNo.6599659

困ってます

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

例えば次のようにします。
シート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)

ANo.2

>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

ANo.1

>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