Excel formula 获得月的最后一天-休息几天

Excel formula 获得月的最后一天-休息几天,excel-formula,Excel Formula,我有一个单元格(W3),单元格中有二月。我想用公式找出二月的最后一天 我尝试过这个公式:=日期(2016年,月(1&W$3),月(月(1&W$3),0)) 但是,它返回的是2016年2月3日而不是2016年2月29日,这是怎么回事?如果我将December作为文本,它将正确返回12/31/2016。11月也会出现同样的错误,如果我有11月,那么它将返回12/1/2016 我想这与我如何使用Month()?但我不知道它为什么表现得很奇怪。谢谢你的提示 这应该有效:=EOMONTH(DATEVALU

我有一个单元格(
W3
),单元格中有
二月
。我想用公式找出二月的最后一天

我尝试过这个公式:
=日期(2016年,月(1&W$3),月(月(1&W$3),0))

但是,它返回的是2016年2月3日<代码>而不是2016年2月29日<代码>,这是怎么回事?如果我将
December
作为文本,它将正确返回
12/31/2016
。11月也会出现同样的错误,如果我有
11月
,那么它将返回
12/1/2016


我想这与我如何使用
Month()
?但我不知道它为什么表现得很奇怪。谢谢你的提示

这应该有效:
=EOMONTH(DATEVALUE(“1”)和W3),0)

这就给出了月末值——不知道为什么你的公式没有给出。
=月份(1&W$3)
正确返回2..
实际上,这将把你的EOMONTH公式转换成
=EOMONTH(2,0)
,如果2月有29天,它将返回31天,即3月2日


2应该是日期而不是数字-因此日期转换为1900年1月2日。

这应该有效:
=EOMONTH(DATEVALUE(“1”)和W3),0)

这就给出了月末值——不知道为什么你的公式没有给出。
=月份(1&W$3)
正确返回2..
实际上,这将把你的EOMONTH公式转换成
=EOMONTH(2,0)
,如果2月有29天,它将返回31天,即3月2日


2应该是日期而不是数字-因此日期被转换为1900年1月2日。

将1作为文本添加到月份的前面对我来说似乎很奇怪。不是说它错了,只是有点奇怪……但是它的工作原理是:
=EOMONTH(日期(2016年,月(W3),日(W3)),0)
或者
=EOMONTH(日期(2016年,月(“1”)和W3),1),0)
@BruceWayne所以根据Darren的回答,你的公式在所有月份都能正常工作,有31天!8) @ScottCraner-啊,谢谢!(第二个)效果很好。从技术上讲,我会用这个作为我的“答案”,因为我需要改变年份。干杯在你的月底加1作为一个文本对我来说似乎很奇怪。不是说它错了,只是有点奇怪……但是它的工作原理是:
=EOMONTH(日期(2016年,月(W3),日(W3)),0)
或者
=EOMONTH(日期(2016年,月(“1”)和W3),1),0)
@BruceWayne所以根据Darren的回答,你的公式在所有月份都能正常工作,有31天!8) @ScottCraner-啊,谢谢!(第二个)效果很好。从技术上讲,我会用这个作为我的“答案”,因为我需要改变年份。干杯该死的,我重新加载了你的编辑,而你却抢先告诉我我要说的内容。这将永远使用今年。如果这就是我们想要的,那么这就是最好的方法++谢谢你的解释!因为我需要年份可以更改(对不起,我的OP中没有注明),所以我会将此用于当前年份。标记为答案,因为您的解释解释了它并且它是有效的:D抱歉,解释有点仓促-是周五晚上5:30,一开始没有看到原因。该死,我重新加载了你的编辑,你只是抢先告诉我我要说的内容。这将始终使用当前年份。如果这就是我们想要的,那么这就是最好的方法++谢谢你的解释!因为我需要年份可以更改(对不起,我的OP中没有注明),所以我会将此用于当前年份。标记为答案,因为您的解释解释了它并且它是有效的:德索里:解释有点仓促——是周五晚上5:30,一开始没有发现原因。