我有一个电子表格,其中有三列:“日期”、“货币”和“金额”。
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)