使用前缀在一个月内自动列出星期日

所以我在星期天晚上为一个小组做了一个rota,我想我会稍微弄一下,看看是否可以实现date列表的自动化。 我最终要么为几乎所有事情find了解决办法。 我现在唯一的问题是我需要两个单元格来显示星期天的date,而不是一个前缀。

该表目前看起来像这样

两列

而我希望看起来像这样

单列

我有一个在线Microsoft Office Excel书的链接(可编辑)

目前我正在使用的公式如

=DATE(YEAR($B$3), MONTH($B$3), MOD(7-DATE(YEAR($B$3), MONTH($B$3), 1)+ 1,7)+1) //For the first Sunday of the month =DAY(DATE(YEAR($B$3), MONTH($B$3), MOD(7-DATE(YEAR($B$3), MONTH($B$3), 1)+ 1,7)+1))&VLOOKUP(DAY(DATE(YEAR($B$3), MONTH($B$3), MOD(7-DATE(YEAR($B$3), MONTH($B$3), 1)+ 1,7)+1)),$E$4:$F$12,2,TRUE) //For the first Sunday of the month with a prefix =IF(YEAR(B4+7)>$B$3,"",B4+7) //Subsequent Sundays =DAY(IF(YEAR(B4+7)>$B$3,"",B4+7))&VLOOKUP(DAY(IF(YEAR(B4+7)>$B$3,"",B4+7)),$E$4:$F$12,2,TRUE) //Subsequent Sundays with Prefix 

我将不胜感激任何帮助。

对于公式解决scheme,您可以执行以下操作。

 A1: The first date in any month (eg 1-Jun-2016) A2: = IF(SUM(INT((EOMONTH($A$1,0)-1)/7)-INT(($A$1-2)/7))>=ROWS($1:1), TEXT($A$1-DAY($A$1)+1+7*ROWS($1:1)-WEEKDAY($A$1-DAY($A$1)),"d")&MID("thstndrdthththththth",1+2*(MOD(TEXT($A$1-DAY($A$1)+1+7*ROWS($1:1)-WEEKDAY($A$1-DAY($A$1)),"d"),10)*(ABS(MOD(TEXT($A$1-DAY($A$1)+1+7*ROWS($1:1)-WEEKDAY($A$1-DAY($A$1)),"d"),100)-12)>1)),2),"") 

并填写到A6。 它会自动调整四个月和五个星期日。

本月的第一个星期天计算如下:

 =A1-DAY(A1)+1+7*ROWS($1:1)-WEEKDAY(A1-DAY(A1)) 

ROWS($1:1)部分用于在随后的星期日将date递增7。

用于确定是否将第五行空白的月份中的星期几数量通过以下来计算:

 =SUM(INT((EOMONTH($A$1,0)-1)/7)-INT(($A$1-2)/7)) 

公式的其余部分是为date计算正确的后缀。

在这里输入图像说明