excel - 生成开始日期、结束日期和周数属于给定的开始和结束日期
问题描述
我想通过给出一些日期范围来生成特定周的无列表和开始日期和结束日期,我使用下面的公式做了。但我想将属于第 52 周之后的所有日期视为第 1 周。如果开始和结束日期属于同一年。但是如果我选择 12 月 26 日之后的开始日期,就像我的公式不起作用。请帮忙。我考虑周一到周日。如果我选择 dec29,它显示不正确的数据(红色突出显示)A1-开始日期(这是由日历选择器提供)B1-结束日期((这是由日历选择器提供)
A3 =IF(A1="","",YEAR(A1))
B3 =IF($A$1-WEEKDAY($A$1,3) +((ROW()-3)*7) <= $B$1-WEEKDAY($B$1,3), ISOWEEKNUM($A$1-WEEKDAY($A$1,3)+((ROW()-3)*7)), "")
C3 =IF(DATE(YEAR(B1),MONTH(B1),DAY(B1))>=DATE(YEAR(A1),MONTH(A1),DAY(A1)),IF(A1<>"",A1,""),"CHECK DATE RANGE")
D3=IF(DATE(YEAR(B1),MONTH(B1),DAY(B1))>=DATE(YEAR(A1),MONTH(A1),DAY(A1)),IF(B1<>"",MIN(DATE(A3+1,1,2),(DATE(A3,1,1)-WEEKDAY(DATE(A3,1,1),2)+B3*7)),""),"CHECK DATE RANGE")
我想要结果如下
解决方案
这些公式适用于第 3 行:
A3 =IF(ISNUMBER($A$1),YEAR(A1),"")
B3 =IF(ISNUMBER($A$1),WEEKNUM($A$1,2),"")
C3 =IF(ISNUMBER($A$1),$A$1-WEEKDAY($A$1,2)+1,"")
D3 =IF(ISNUMBER($A$1),$A$1+6-WEEKDAY($A$1,2)+1,"")
从第 4 行开始,输入这些公式,然后使用自动填充光标(选择单元格 A4:D4,然后单击并按住选择框的右下角图标)根据需要复制填充尽可能多的行.
A4 =IF(ISNUMBER($D3),IF(($D3+1)<$B$1,YEAR($D3),""),"")
B4 =IF(ISNUMBER($D3),IF(($D3+1)<$B$1,WEEKNUM($D3,2),""),"")
C4 =IF(ISNUMBER($D3), IF( ($D3+1)<$B$1, $D3+1,""),"")
D4 =IF(ISNUMBER($C4),$C4+6,"")
顺便说一句,您在帖子中提到您希望星期一作为一周的开始。所以我在和2
中都使用了值。如果需要,对其他日期使用不同的值。WEEKNUM
WEEKDAY
推荐阅读
- amazon-web-services - 如何将域名添加到我的 terraform 配置中
- php - PHP在txt文件中搜索一个单词并回显整行
- react-native - React Native - Stack navigation.navigate() 不刷新屏幕 - 需要建议
- pandas - 如何将一个日期时间索引的值与一系列其他日期时间索引的值进行比较?
- java - 从另一个应用程序(文件资源管理器/下载)启动我的应用程序的活动
- python-3.x - 在循环中使用 math.factorial 写入 sum
- c# - 如何在 ASP.NET Core 控制器中返回自定义 HTTP 响应?
- sql - 条件属性的日期范围
- python - 在 Python 中使用 OpenCV2 去除接缝后如何判断图像的大小?
- sql - 大查询 - 加入两个表