- 締切済み
Excelである日付を設定してTODAY関数で出した今日の日付がある日
Excelである日付を設定してTODAY関数で出した今日の日付がある日付の一ヶ月前になると『一ヶ月前です』と表示にするにはどうすればいいでしょうか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- ziziwa1130
- ベストアンサー率21% (329/1546)
No.1です。 AND関数 AND(条件1,条件2,・・・) 引数内の全ての条件式が成立している場合のみTRUE値、条件式が1つでも不成立の場合にはFALSEを返す関数です。 YEAR関数 YEAR(日付シリアル値) 引数の日付の西暦年を返す関数です。 MONTH関数 MONTH(日付シリアル値) 引数の日付の月を返す関数です。 DAY関数 DAY(日付シリアル値) 引数の日付の日を返す関数です。 DATE関数 DATE(西暦年,月,日) 西暦年と月日のデータを日付シリアル値に変換する関数です。 TODAY関数 TODAY() 引数不要、本日の日付シリアル値を返す関数です。 使用例 (1)A1に西暦年、B1に月、C1に日が入っている場合、"=DATE(A1,B1,C1)"で日付シリアル値に変換できます。 (2)本日(2010年7月24日)の場合、"=YEAR(TODAY())"で2010、"=MONTH(TODAY())"で7、"=DAY(TODAY())"で24が返されます。 (3)A1にある日付シリアル値が入っている場合、"=IF(AND(A1>DATE(1926,12,24),A1<DATE(1989,1,8)),"昭和です","昭和ではありません")で、A1の日付が昭和時代なら「昭和です」、そうでなかったら「昭和ではありません」と表示されます。 10日前の場合には、A1にそのある日が入っているとして、"=IF(A1=TODAY()+10,"10日前です","")"とすれば良いですよ。1ヶ月前の場合には30日前か31日前か、あるいは28日前か29日前かが分からないから、日付シリアル値を西暦年、月、日に分解して計算し、DATE関数で戻す必要があるから式が複雑になりますが。
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 一か月前は月の大小を考慮する事を前提としています。 =IF(EDATE(日付セル,-1)<=TODAY(),"一か月前","") 但し、EDATE関数は、ツール→アドイン→アドイン一覧にある「分析ツール」を選択して下さい。
- kmetu
- ベストアンサー率41% (562/1346)
A1がある日付 B1がTODAY() だとしたら =IF(AND(DAY(A1)=DAY(B1),DATEDIF(A1,B1,"m")=1),"一ヶ月前です","") です。 一ヶ月前を過ぎると表示し続ける場合には =IF(AND(DAY(A1)>=DAY(B1),DATEDIF(A1,B1,"m")<=1),"一ヶ月前です","") にしてください
- ziziwa1130
- ベストアンサー率21% (329/1546)
そのある日付の入っているセルをA1とすれば、表示させるセルに =IF(MONTH(A1)=1,IF(AND(YEAR(A1)=YEAR(TODAY())+1,MONTH(TODAY())=12,DAY(A1)=DAY(TODAY())),"一ヶ月前です",""),IF(AND(YEAR(A1)=YEAR(TODAY()),MONTH(A1)=MONTH(TODAY())+1,DAY(A1)=DAY(TODAY())),"一ヶ月前です","")) と入力すれば良いですよ。
お礼
回答ありがとうございます。 申し訳ありません。 Excel初心者なので理解できませんでした。 if関数の使い方は分かりまりますが他の関数をどのように使っているか教えていただけないでしょうか。 また、例えば一ヶ月前ではなく10日前にするときはどこを変えればいいでしょうか?