LibreCalc 日期函数返回错误的月份

LibreCalc 日期函数返回错误的月份

我有一个电子表格,其中有三列:“日期”、“货币”和“金额”。

Date        Currency    Amount  Month
06.02.2015  EUR         188     March
30.01.2015  EUR         285     January

我使用以下公式从日期列创建“月份”列,然后将“月份”列格式化为 MMMM:

=DATE(YEAR(A2);MONTH(A2);DAY("0"))

(我这样做是因为我需要按月对数据透视表中的数据进行分组。)

问题:从摘录中可以看出,返回的第一个月份值不正确。它显示“三月”,但实际上是“二月”。我这里做错了什么?

对于电子表格中的第一个月份值(或多个值,取决于第一个列出的月份有多少条目),libreCalc 似乎总是提前一个月计算。从下个月开始的其余值始终正确且工作正常。无论月份是按 1 月到 12 月列出还是按相反顺序列出(如我的示例所示),都没有区别。

谢谢你的帮助!

答案1

我认为问题在于函数 DAY("0") 返回答案 30。由于二月少于 30 天,这导致二月的日期出现问题。

如果在 DATE 函数的第三个参数中只输入 0,则会导致它返回上个月的最后一天,这似乎也不是您想要的。我建议在 DATE 函数的第三个参数中使用 1:

=DATE(YEAR(A2);MONTH(A2);1)

相关内容