首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以excel格式退还上月30日

以excel格式退还上月30日
EN

Stack Overflow用户
提问于 2013-06-03 23:57:37
回答 3查看 871关注 0票数 1

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

代码语言:javascript
复制
EOMONTH(A1,-1)

但这将总是返回普雷沃斯月份的最后一天。你怎么能这样做呢?例如,6月30日将返回30月30日,而不是'EOMONTH‘函数返回的5月31日。

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-04 00:03:38

您也许可以结合使用IF()TEXT()来实现这一点。

代码语言:javascript
复制
=IF(TEXT(EOMONTH(A1,-1),"dd")="31",EOMONTH(A1,-1)-1,EOMONTH(A41,-1))

如果EOMONTH(A1,-1)的日期是31,则少取一天,否则,取该日期本身。

票数 4
EN

Stack Overflow用户

发布于 2013-06-04 00:30:15

这里有另一个也将处理二月的解决方案:

代码语言:javascript
复制
=MIN(DATE(YEAR(A1),MONTH(A1)-1,30),EOMONTH(A1,-1))

换句话说,取上个月的30日,或上个月的最后一天,以较早的为准。请注意,DATE()将正确处理一月份的日期。根据帮助,DATE()在本例中为"...subtracts指定年份中第一个月的月数加1。例如,DATE(2008,-3, 2 )返回表示2007年9月2日的序列号。“

票数 3
EN

Stack Overflow用户

发布于 2013-06-04 01:28:03

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

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16900924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档