[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『日付をIF関数の論理式にしたい』(キク)
校内全文検索を眺めたのですが、見つからなかったので、初めて質問させていただきます。初心者なので、よろしくお願いします。
A列に日付があり、B列に、A列の日付が当月末日だったら2ヵ月後の年月を、そうでない場合は1ヵ月後の年月を表示させたいのですが、うまくいきません。どなたか教えてください。
B列は表示形式を「2015/07」のように設定しました。
B1セルの数式は、下の通りです。
=IF(A1=EOMONTH(A1,0),DATE(YEAR(A1),MONTH(A1)+2,DAY(A1)),DATE(YEAR(A1),MONTH(A1)+1,DAY(A1)))
これだと、A列の日付が、7/31,12/31,1/30のみ正しい値が求められず困っています。
よろしくお願いいたします。
A列 B列
1 2015/10/30 2015/11
2 2015/10/31 2015/12
3 2015/07/31 2015/10 ← 2015/09が正しい
4 2016/01/30 2016/03 ← 2016/02が正しい
5 2015/12/31 2016/03 ← 2016/02が正しい
< 使用 Excel:Excel2013、使用 OS:Windows7 >
(マナ) 2015/07/18(土) 18:40
6/30 の2か月後は 8/30 ですか? 8/31 ですか? (つまり、月末日は結果も月末日?)
それとも、表示が yyyy/mm なので、どちらでもよい?
では、12/31 の2か月後はどうなりますか?
(β) 2015/07/18(土) 18:54
すでに適切な回答がありますが、念のため。
=IF(A1=EOMONTH(A1,0), DATE(YEAR(A1),MONTH(A1)+2,DAY(A1)), DATE(YEAR(A1),MONTH(A1)+1,DAY(A1))) を2015/7/31にすると、なぜ所望する結果が出ないのか、 検討していますか?
A1=EOMONTH(A1,0)はTrueになるので、 DATE(YEAR(A1),MONTH(A1)+2,DAY(A1)) を返します。
それは、 DATE(2015,9,31) となりますね。 9/31はなく、それは10月を意味するので、 10月が返るわけですね。
年月だけが知りたいのであれば、 DATE(YEAR(A1),MONTH(A1)+2, 1) と 1日 と決め打ちしてしまってはどうですか? もうひとつの(FALSEのほう)も同様にします。
(γ) 2015/07/18(土) 19:18
理由も教えていただいたので、よくわかりました。
本当にありがとうございます。
キク 2015/7/18 19:26
>=EDATE(A1+1,1) >(マナ) 2015/07/18(土) 18:40
たったこれだけで済むのに、なんで採用されないんですかね?
(半平太) 2015/07/18(土) 19:36
すみません。超初心者なので、EDATEの意味さえままならず、この式をどこに入れてよいのかもわからず、今やっと、関数の項目から意味を探し当てて、わかりました!!
こんなに短い式で済んだのですね。
本当にありがとうございました。
(キク) 2015/7/18(土) 20:21
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.