首页 > 解决方案 > Excel中的连续月份计数公式

问题描述

我想从英文的特定日期开始制作连续月份列表。可以说我的日期是29.4.2019。我希望 Excel 公式从该日期开始以英文显示月份,所以我的列表看起来像(通过下拉):

May
July
August
September
October
November
December
January
February
etc...

我试过这个公式,但它在 12 月结束,我也必须+1, +2, +3手动输入:

=CHOOSE(MONTH(A1)+1;"January";"February";"March";"April";"May";"July";"August";"September";"October";"November";"December")

另外问题是我使用芬兰语 Excel,所以如果我想使用更简单的函数版本,则应该=TEXT(MONTH(A1);"kkkk")使用函数。但是,一旦在英文版 Excel 上打开 Excel,这将不起作用,因为它无法识别公式中的“kkkk”并给出错误。=TEXT(MONTH(A1);"mmmm")=TEXT

我有 VBA 可以转换为国际格式,但这似乎也不起作用(https://superuser.com/questions/730371)。

Public Function FMT$(ByVal Value, ByVal strFormat)
    FMT = VBA.Format$(Value, strFormat)
End Function

编辑:

行。那是个愚蠢的错误……我跳过了列表中的“六月”。这个功能现在似乎可以工作了:

=CHOOSE(MONTH(A1)+1;"January";"February";"March";"April";"May";"June";"July";"August";"September";"October";"November";"December")

标签: excelexcel-formula

解决方案


我想你可以尝试以下方法:

=IF(C1="";TEXT($A$1;"kkkk");TEXT(DATE(YEAR($A$1);1+MONTH("1-"&C1&"-"&YEAR($A$1));1);"kkkk"))

在此处输入图像描述

上面的公式基本上使用了两个分支IF(您可能必须根据 excel 表的布局以及您需要结果的位置来选择更合适的条件,但在不知道的情况下,这是我能提供的最好的条件)。

所以基本上如果是第一个,正上方的单元格将是空白的,所以公式将是简单的TEXT($A$1,"kkkk")。如果有一个值,那么我们需要添加一个月,并尽可能准确地做到这一点,我会使用DATE(YEAR($A$1),1+MONTH("1-"&C1&"-"&YEAR($A$1)),1),它基本上取 A1 中提供的日期的年份,上个月的下一个月,以及 1 作为日期. Excel 可以将格式理解d-mmmm-yyyy为日期,所以我正在利用它。


不使用TEXT

=CHOOSE(IF(C1="";MONTH($A$1);MOD(MONTH("1-"&C1&"-"&YEAR($A$1));12)+1);"January";"February";"March";"April";"May";"June";"July";"August";"September";"October";"November";"December")

推荐阅读