在excel上返回上个月的第30天

时间:2013-06-03 15:57:37

标签: excel

我想在excel中返回上个月每天的第30天。我用过:

EOMONTH(A1,-1)

但是这将永远回到prevois月的最后一天。你怎么能这样做,例如6月30日将返回5月30日,而不是'EOMONTH'函数返回的5月31日。

由于

3 个答案:

答案 0 :(得分:4)

你也许可以使用IF()TEXT()来做到这一点。

=IF(TEXT(EOMONTH(A1,-1),"dd")="31",EOMONTH(A1,-1)-1,EOMONTH(A41,-1))

如果EOMONTH(A1,-1)的日期为31,则请减少一天,否则,请自行查看该日期。

答案 1 :(得分:3)

这是另一个也将处理2月的解决方案:

=MIN(DATE(YEAR(A1),MONTH(A1)-1,30),EOMONTH(A1,-1))

换句话说,取上个月的第30天,或前一个月的最后一天,以较早者为准。请注意,DATE()会正确处理1月份的日期。根据帮助,在这种情况下DATE()“...从指定年份的第一个月中减去该月数加上1的幅度。例如,DATE(2008,-3,2)返回代表2007年9月2日的序列号。“

答案 2 :(得分:3)

与Brian的解决方案类似,但缩短了......

=MIN(EOMONTH(A1,{-2,-1})+{30,0})