電子書籍の厳選無料作品が豊富!

おろしくお願いします。

エクセル2010で、記入漏れや数字の桁が間違っている場合に、

”記入されていません”

”数字が違います”


などのアラートを出す方法はありますか?

たとえば、社員情報を集める場合に、エクセルファイルを配布します。

生年月日のところに

昭和1985年

と入力した場合、明らかに間違いなのでアラートを出したり、

名前を書いていなかった場合、

”記入されていません”

などと未記入のところに赤く塗るなどできないでしょうか?

できれば関数式や簡単な設定で行いたいです。
プログラムは作れないのです。


アイデアをください、

A 回答 (3件)

例えばA列に社員番号、B列に氏名、C列に生年月日が入力されるとします。


初めに生年月日について誤った入力が無いようにしたいとのことですね。次のようにしてはどうでしょう。
初めにC列を選択します。
次に「データ」タブの「データの入力規則」から「データの入力規則」を選択します。
表示される「設定」タブの画面で入力値の種類の窓では「ユーザー設定」を選択します。
数式の窓には次の式を入力します。

=AND(C1>12000,C1<TODAY())

次にエラーメッセージのタブでエラーメッセージの窓に「生年月日の入力に誤りが有ります」とでも入力してOKします。
以上で終了ですが上の式でC1となっているのはC列を選択したときにはC1セルがアクティブな状態になっているからです。最初のセルの選択でC2セルから下方を選択した場合にはC2セルがアクティブなセルとなっていますので上の式ではC1をC2にして使用します。
上の式で12000以上となっていますのはパソコンでは日付は常にシリアル値として捉えられていますのでシリアル値が12000は昭和7年11月7日の相当して80歳より若い年齢の日付が入力されていること、また今日の日付よりも前の日付になっていることが条件となっています。TODAY()-365*15 のようにして15歳よりも前の日付などにしてもよいですね。

次に氏名の入力がされていない場合です。
入力がされていなければ記入されていませんなどの表示をさせるのでしたらマクロの操作が理想ですが例えば次のようにしてもよいでしょう。
ここでは社員番号(A列)や生年月日(C列)が入力されているのに氏名(B列)のデータが入力されていない場合に表示をさせるのでしたら例えば実際のデータが2行目から下方に入力されるとしてB2セルには次の式を入力して下方にドラッグコピーします。

=IF(AND(A2<>"",C2<>""),"氏名を入力してください","")

この式ではA2セルとC2セルにデータが有る場合にはB2セルに”氏名を入力してください”と表示がされることになりますが氏名が先に入力されていればB2セルに入力されている式は削除された状態ですので表示はされません。
このような式で十分と思いますが一旦氏名が入力された後にそれが削除されたままになっている場合には何の表示もありません。そのようなことを回避するためにはマクロの操作が必要となります。
マクロでなくとも氏名の入力が抜けている場合に該当のセルを赤色で塗りつぶすなどのことをすることができます。
そのためには次のようにします。
初めにB列を選択します。B1セルがアクティブ状態のセルになっています。
「ホーム」タブの「条件付き書式」から「新しいルール」を選択します。
表示の画面で「数式を使用して・・・」を選択して、数式の入力の窓には例えば次のような式を入力します。

=AND(A1<>"",B1="",C1<>"")

この式ではA列とC列にデータが入力されているのにB列が空になっている場合を示しています。
次に同じ画面の「書式」をクリックし「塗りつぶし」タブから赤色を指定してOKします。

以上述べてきましたように「データの入力規則」や「数式」、「条件付き書式」などの方法を使って対応すればよいでしょう。
    • good
    • 2
この回答へのお礼

回答ありがとうございます。
マクロでなくともできる方法は大変役に立ちました。

お礼日時:2013/02/11 00:01

>名前を書いていなかった場合、


>”記入されていません”

入力規制で出来ないこともない

例:
A1セルが氏名欄の場合
次の入力欄(例えばB1セル)に入力規制

【設定】タブ
入力値の種類:ユーザ設定
数式:=COUNTA(A1)=1

【エラーメッセージ】
スタイル:停止
タイトル:入力漏れ
コメント:氏名が入力して下さい

A1セルに入力されない限り、B1セルへの入力ができなくなります
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2013/02/11 00:02

順番が前後しますが、



> 名前を書いていなかった場合、
> 未記入のところに赤く塗るなどできないでしょうか?

まず、こちらは条件付書式で可能です。
例えばA1セルに記入して欲しいと言うことであれば、
条件付書式の条件を式にして「=A1=""」としてやり、書式に赤塗りつぶしを入れておくとOKです。

残念ながら、
> ”記入されていません”
これをやろうと思うとマクロが必要です。


> 生年月日のところに
> 昭和1985年
> と入力した場合、明らかに間違いなのでアラートを出したり、

これには、入力規則と言う機能を使うと比較的簡単です。
例えばA1セルなら、データから入力規則のダイアログを出し、
入力値の種類 を ユーザー設定 に、数式 を「=A1<=64」としてやります。
同じダイアログのエラーメッセージタブを開き、メッセージを指定してやると、
任意のメッセージを表示できますので、これを活用すると良いでしょうね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2013/02/11 00:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!