在Excel中增加月份并转换为文本

在Excel中增加月份并转换为文本,excel,text,increment,Excel,Text,Increment,我正在尝试从日期开始计算会计月数,并将其转换为Excel 2010中的文本,并将该公式用作SharePoint 2010中的站点列 我们的财政月从一个月的第19个月到下个月的第18个月 因此,例如,如果日期为2012年12月19日,则会计月份为1月 我使用了下面的公式,但我得到的结果是1月 =IF(DAY(A2)>=19,TEXT(MONTH(A2)+1,"mmm"),TEXT(MONTH(A2),"mmm")) 感谢您的帮助 谢谢。您需要使用mmmm作为全名。您不应该使用MONTH函数

我正在尝试从日期开始计算会计月数,并将其转换为Excel 2010中的文本,并将该公式用作SharePoint 2010中的站点列

我们的财政月从一个月的第19个月到下个月的第18个月

因此,例如,如果日期为2012年12月19日,则会计月份为1月

我使用了下面的公式,但我得到的结果是1月

=IF(DAY(A2)>=19,TEXT(MONTH(A2)+1,"mmm"),TEXT(MONTH(A2),"mmm"))
感谢您的帮助


谢谢。

您需要使用
mmmm
作为全名。

您不应该使用
MONTH
函数,因为您的公式返回一个数字1到12,该数字被认为是1900年1月的日期,因此您总是得到
Jan
,使用
EDATE
以如下方式递增月份:

=IF(DAY(A2)>=19,TEXT(EDATE(A2,1),“mmmm”),TEXT(A2,“mmmm”)

..或者您可以使用此较短版本获得相同的结果

=文本(EDATE(A2-18,1),“mmmm”)


这将为12月18日提供12月,但为19日提供1月——显然,如果您只想使用月份的简短形式,您可以使用“mmm”

有没有一种方法可以在不使用EDATE的情况下达到同样的效果?我之所以问这个问题,是因为我想在SharePoint 2010中使用它。好吧,在第一个版本中,你真的不需要EDATE,你知道如果第(A2)天>=19,那么加上13肯定会给你下个月的日期(不管是哪一天),所以这个版本也可以工作:
=if(DAY(A2)>=19,TEXT(A2+13,“mmmm”),TEXT(A2,“mmmm”)
,或者使用此版本再次缩短:
=TEXT(A2+IF(DAY(A2)>18,13,0),“mmmm”)