所以我在星期天晚上为一个小组做了一个旋转,我想我会乱一点,看看能不能自动列出日期。我最终制作或找到了几乎所有东西的解决方案。我现在唯一的问题是我需要两个单元格来显示星期日的日期而不是一个。
该表目前看起来像这样
我希望它看起来像这样
我有一个在线Microsoft Office Excel Book here(可编辑的)
的链接目前我正在使用
这样的公式=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
我很感激为实现这一目标提供帮助。
答案 0 :(得分:2)
对于公式解决方案,您可以执行以下操作。
A1: The first date in any month (e.g. 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)
部分用于在随后的星期日将日期增加7。
用于确定是否空白第5行的月中的星期日数量由以下公式计算:
=SUM(INT((EOMONTH($A$1,0)-1)/7)-INT(($A$1-2)/7))
公式的其余部分是计算日期的正确后缀。