如何在Google表格中自动创建月历。月份的第一天从(名称)天的列开始

时间:2018-08-01 11:17:21

标签: google-sheets

我想像第二张图片一样创建一个日历。但是我不知道如何开始第一列是星期一。因此,我像第一张图片一样通过“手”将其填充。

我试图自动创建它。从该月的第一天开始,然后像第二张图片一样在下一列中添加一天:

我希望它看起来如何:

Picture1, how I want it

目前的样子:

Picture2, how I get it

Google sheets example

1 个答案:

答案 0 :(得分:0)

我正为商务而解决相同的问题,我想我得到了答案。

您的首要任务是确定每月的第一个“日历星期一”。

首先,构建相应月份的第一天:

[B2] =DATE(YEAR(A1); MONTH(A1); 1)

然后,获取相应的第一天的WEEKDAY。第二个参数表示一周中的哪一天开始:

  • 如果类型为1,则从周日开始算天,周日的值为1,因此周六的值为7。

  • 如果类型为2,则从星期一开始算天,星期一的值为1,因此星期日的值为7。

  • 如果类型为3,则从星期一开始算天,星期一的值为0,因此星期日的值为6。

就我而言,我们计算从星期一开始的一周。这意味着当一个月的第一天到达星期一时,返回值为0。

[C2] =WEEKDAY(B2; 3)

您获得的数字表示从初始日期开始减去需要多少天才能获得该月的第一个“日历星期一”:

[D2] =B2 - C2

这是您要寻找的日期。最终公式:

[A3] =DATE(YEAR(A1); MONTH(A1); 1) - WEEKDAY(DATE(YEAR(A1); MONTH(A1); 1); 3)

剩下的日子,只需在每个先前的日期前加1。

[A4] =A3 + 1
[A5] =A4 + 1

以此类推。

其次,在日历单元格上将数字格式设置为仅显示日期。 格式->数字->更多格式->更多日期和时间格式。 从下拉列表中仅选择一天。

最后,使用条件格式来“隐藏”与初始日期不匹配的值

使用自定义公式进行格式设置,如下所示:

=MONTH(A3) <> MONTH(A1)

应用于日历范围。这将格式化属于当前日期的日期,因此请确保将其涂成白色。

就是这样。祝你好运!