如何获得给定日期的每个星期一的一天

时间:2015-05-31 02:48:37

标签: excel google-sheets excel-formula google-docs

让我先从以下例子开始:

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样式表

1 个答案:

答案 0 :(得分:2)

你偶然发现了一个常见的错误。您当前的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月的月份的相似性,纯粹巧合),但它将在下个月引起问题;例如2015年6月有30天,1900年1月有31天。

最好在A1中开始日期,并根据您填充的行数扩展该日期。

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

BTW,Excel认为 01-Jun-2015 42,156 ,而不是 1