我想在excel中返回上个月的每天30号。我使用:
EOMONTH(A1,-1)但这将总是返回普雷沃斯月份的最后一天。你怎么能这样做呢?例如,6月30日将返回30月30日,而不是'EOMONTH‘函数返回的5月31日。
谢谢
发布于 2013-06-04 00:03:38
您也许可以结合使用IF()和TEXT()来实现这一点。
=IF(TEXT(EOMONTH(A1,-1),"dd")="31",EOMONTH(A1,-1)-1,EOMONTH(A41,-1))如果EOMONTH(A1,-1)的日期是31,则少取一天,否则,取该日期本身。
发布于 2013-06-04 00:30:15
这里有另一个也将处理二月的解决方案:
=MIN(DATE(YEAR(A1),MONTH(A1)-1,30),EOMONTH(A1,-1))换句话说,取上个月的30日,或上个月的最后一天,以较早的为准。请注意,DATE()将正确处理一月份的日期。根据帮助,DATE()在本例中为"...subtracts指定年份中第一个月的月数加1。例如,DATE(2008,-3, 2 )返回表示2007年9月2日的序列号。“
发布于 2013-06-04 01:28:03
与Brian的解决方案类似,但缩短了...
=MIN(EOMONTH(A1,{-2,-1})+{30,0})
https://stackoverflow.com/questions/16900924
复制相似问题