如何在 LibreOffice calc 中添加月份

如何在 LibreOffice calc 中添加月份

这似乎是一个显而易见的问题。

我有一个日期列,我想创建一个公式,使每个列增加一个月。

10/2013, 11/2013, 12/2013, 1/2014, 2/2014, ...

如何在日期上添加一个月?

答案1

目前最受青睐的答案是跳过长月之后的短月

设置 A1=2014-01-31,则使用 =DATE(YEAR(A1), MONTH(A1)+1, DAY(A1)) 的结果将是 2014-03-03,从而跳过二月。

上面建议的 EDATE 方法会浪费几天时间

月份太短会导致 EDATE 删除连续月份的天数。例如 =EDATE(DATE(2014,1,31),1) 确实会生成 2014-02-28,但再次应用它会生成 2014-03-28,而这并不是三月的最后一天。

一个可行的解决方案:增加月份,并将日期设置为零

将日期设置为零,并增加月份,同时提前一个月。例如,要从一月开始,请使用 DATE(2014,2,0) => 2014-01-31,然后使用 DATE(2014,3,0) => 2014-02-28,然后使用 DATE(2014,4,0) -> 2014-03-31,正如人们所期望的那样,逻辑上遵循每个月的最后一天。

其他方法

如果您想要该月的最后一个工作日,或者以 30 天为增量但不跳过月份等,则可以进行调整。取决于目标。

答案2

=edate(a1;1)
  • edate返回指定日期之后或之前指定月份数的日期。
  • edate 的第一个参数:开始日期。
  • edate 的第二个参数:月份数。如果为负数,edate 将计算之前的日期。

答案3

如参考文献所述:日期运算,这会将月份加一:

=DATE(YEAR(A1), MONTH(A1)+1, DAY(A1))

答案4

我认为您可能需要使用标签,因为日期只是以数字形式存储,然后以您选择的格式显示。要添加一个月,您需要进行复杂的计算来确定需要多少天才能到达下个月。希望我错了,有人能回答我的问题。

相关内容