質問: 日付を含む関数について。 エクセル2003での質問です。 ある列のセル(a1とします)のセルに日付が書き込まれた時だけ、対応する列のセル(b1とします)に決まった文字(ここでは"済")が入るようにしたいと思いif関数を使って組み立てたのですが、日付の入れ方が解らず上手く行きません。 =if(a1="日付","済","") ←b1に書き込んでます。 と式を立てていますが、この・日付・の部分の入れ方を教えて頂けないでしょうか? また、勉強の為他の考え方も有ればお教え下さい。 宜しく御願いします。
回答: excelにとっての日付は、1900/1/1を「1」として、2004/1/10を「37996」とする数値データにすぎません。それを書式設定で日付っぽくあらわしているだけなんです。 ですので、if関数に入力された数値が日付データであると認識させることは無理かと思われます。 代替案 ・a1になにかが入力されたときに表示を変える。 =if(a1<>0,"済","") ・a1に1900/1/1から今日までの日付が入力されたときに表示を変える(ただし、数値データならなんでも反応しちゃいます) =if(and(a1<37996,a1>0),"済","") うーん、誤動作を避けるためにもa1には「データ」→ 「入力規則」などで日付データ以外は入力できないようにする必要もありそうです。