在excel中返回上个月的第30天
我想用excel返回上个月每天的30号。我用过:在excel中返回上个月的第30天,excel,Excel,我想用excel返回上个月每天的30号。我用过: EOMONTH(A1,-1) 但这将永远回到上个月的最后一天。您如何做到这一点?例如,6月30日将返回5月30日,而不是5月31日,这是通过“EOMONTH”函数返回的 谢谢您也许可以使用IF和文本来实现这一点 =IF(TEXT(EOMONTH(A1,-1),"dd")="31",EOMONTH(A1,-1)-1,EOMONTH(A41,-1)) 如果EOMONTHA1,-1的日期是31,那么就少花一天时间,否则,就用这个日期本身。你也许可以
EOMONTH(A1,-1)
但这将永远回到上个月的最后一天。您如何做到这一点?例如,6月30日将返回5月30日,而不是5月31日,这是通过“EOMONTH”函数返回的
谢谢您也许可以使用IF和文本来实现这一点
=IF(TEXT(EOMONTH(A1,-1),"dd")="31",EOMONTH(A1,-1)-1,EOMONTH(A41,-1))
如果EOMONTHA1,-1的日期是31,那么就少花一天时间,否则,就用这个日期本身。你也许可以使用If和文本来完成
=IF(TEXT(EOMONTH(A1,-1),"dd")="31",EOMONTH(A1,-1)-1,EOMONTH(A41,-1))
如果EOMONTHA1,-1的日期是31,那么就少花一天,否则,就用这个日期本身。这里还有另一个同样适用于2月份的解决方案:
=MIN(DATE(YEAR(A1),MONTH(A1)-1,30),EOMONTH(A1,-1))
换句话说,取上个月的第30天,或上个月的最后一天,以较早者为准。请注意,DATE将正确处理一月日期。根据帮助,本例中的日期…从指定年份的第一个月减去该月数的大小,再加上1。例如,DATE2008,-3,2返回表示2007年9月2日的序列号。下面是另一个也将处理2月的解决方案:
=MIN(DATE(YEAR(A1),MONTH(A1)-1,30),EOMONTH(A1,-1))
换句话说,取上个月的第30天,或上个月的最后一天,以较早者为准。请注意,DATE将正确处理一月日期。根据帮助,本例中的日期…从指定年份的第一个月减去该月数的大小,再加上1。例如,DATE2008,-3,2返回表示2007年9月2日的序列号。类似于Brian的解决方案,但缩短了
=MINEOMONTHA1,{-2,-1}+{30,0}类似于Brian的解决方案,但缩短了
=我的月1日,{-2,-1}+{30,0}你想为3月做什么->返回2月28日/29日,取决于闰年状态,或者…?你想为3月做什么->返回2月28日/29日,取决于闰年状态,或者…?@考试主管没有提及任何事情,所以我猜那里没有问题。@Coatering OP的负责人没有提到任何事情,所以我猜那里没有问题。+1 Brian…..但是你的括号放错了地方,应该是MONTHA1-1,我think@barryhoudini,谢谢你注意到了。我已经更正了我的答案。+1布莱恩……但是你的括号放错地方了,应该是MONTHA1-1,我think@barryhoudini,谢谢你注意到了。我已经更正了我的答案。