如何获取给定日期的一个月中每个星期一的日期

How to get the day of every Monday in a month for a given date

让我从下面的例子开始:

A1 =DATE(2015, 6, 1)
A2 =A1 + 7

结果

6/8/2015 
6/15/2015
6/22/2015
6/29/2015
7/6/2015
7/13/2015
7/20/2015

结果不错,但我想获得更多格式化序列,例如:

A1 =TEXT(DAY(DATE(2015, 6, 1)), "dd")
A2 =TEXT(DAY(A1 + 7), "dd")

预期:

01 08 15 22 29 06 13 20

结果:

31 05 10 15 20 25 30 04

为什么以及如何解决?

PS:我正在使用 Google 样式表

您犯了一个常见错误。您当前的 A1 公式获取日期为 2015 年 6 月 1 日。现在这是一个整数,而不是日期;具体来说 1。它不应该使用 dd 格式掩码。放弃 DAY 函数或使用 00 作为格式掩码。

=TEXT(DAY(DATE(2015, 6, 1)), "00")
=TEXT(DATE(2015, 6, 1), "dd")

您的 =TEXT(DAY(A1 + 7), "dd") 同样混淆了日期和代表月份日期的整数。虽然这将在一个月内有效(纯属巧合,因为与 1900 年 1 月的月份相似),但下个月会出现问题;例如Jun-2015 有 30 天,Jan-1900 有 31 天。

最好在 A1 中开始一个日期,然后根据您填写的行数扩展该日期。

=TEXT(DATE(2015, 6, 1+(ROW(1:1)-1)*7), "dd")

顺便说一句,Excel 认为 01-Jun-201542,156,而不是 1.