LibreOffice Calc/Writer:如何获取每月特定工作日的日期?

LibreOffice Calc/Writer:如何获取每月特定工作日的日期?

我在 LibreOffice Calc 或 Writer 中遇到了一个问题:

我尝试获取每月每周一、周三和周五的日期表,这样我可以在每个月加载它并自动设置日期,这样我只需要将页面打印在纸上即可。:)

在 Writer 中,日期字段命令显然无法完成这项工作(据我所知,它只能设置为固定日期、今天的日期或 +offset)。

在 Calc 中,我尝试使用自动填充功能,但显然它只在前 3 天有效。

我还要补充一点,我对 Excel/Calc 公式很困惑......

有什么帮助吗?

答案1

如果单元格C1包含日期,则此公式将给出该月第一个星期一的日期:

=MOD(DAY(C1)-WEEKDAY(C1,2)+1,7)

例如,如果 中的日期C119th December 2012,那么公式将生成3,因为 3 号是 2012 年 12 月的第一个星期一。

要创建第一个星期一的完整日期,您可以使用:

=DATE(YEAR(C1),MONTH(C1),MOD(DAY(C1)-WEEKDAY(C1,2)+1,7))

这将导致05/12/2012(取决于您的日期格式) - 第一个星期一

假设这是在单元格中A4。要填充其余日期,您需要为星期三添加 +2,为星期五添加 +2,为下星期一添加 +3。手动执行此操作最简单:

A5将会=A4+2 A6将会=A5+2 A7将会=A6+3

然后,您可以在电子表格中重复此操作以完成本月的剩余时间。

答案2

保罗的上述回答让我很接近,但是当星期一是上个月的最后一天时失败(MOD 返回 0)。

例如 2015 年 9 月;他的公式返回 0,这意味着 2015 年 8 月 31 日为该月第一个星期一。

我使用 1 作为星期几的参数,然后加 1,它会返回 2015 年所有月份的正确日期(所有可能的月末组合)。

=MOD(DAY(C1)-WEEKDAY(C1,1)+1,7)+1

相关内容