excel - Excel中的连续月份计数公式

标签 excel excel-formula

我想从英文的特定日期开始制作连续月份列表。假设我的日期是 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")而不是 =TEXT(MONTH(A1);"mmmm")如果我想使用更简单的版本 =TEXT功能。但是,一旦在英文版 Excel 上打开 Excel,这将不起作用,因为它无法识别公式中的“kkkk”并给出错误。

我有 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")

最佳答案

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

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

enter image description here

上面的公式基本上使用了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")

关于excel - Excel中的连续月份计数公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55897899/

相关文章:

Excel - 匹配值并获取其他列的值

excel - 多个条件的 SUM(if) 函数 + 动态的日期/时间

excel - 在 Excel 中使用嵌套 IF 语句

arrays - 加速数组公式

vba - 如何删除多个列表框项目并在行源中更新?

excel - 如果语句给出太多参数错误

vba - 确定VBE是否打开

java - 单元格中的日期格式为日期未识别为日期

java - Apache POI 为什么只支持散点图和折线图?

java - 如何在Java中将Excel行转换为字符串值?