如何用Excel函数判断行内是否存在本周交付日期?
检索行内是否存在本周交付日期的Excel函数方案
方案一:基于周数+年份判断(适配全版本Excel)
使用数组函数判断指定行内(如D5:U5)是否有日期属于当前周:
=IF(SUM(IF((WEEKNUM(D5:U5)=WEEKNUM(TODAY()))*(YEAR(D5:U5)=YEAR(TODAY())),1,0))>0,"存在本周交付日期","无本周交付日期")
- 逻辑说明:
WEEKNUM(D5:U5)=WEEKNUM(TODAY()):判断单元格日期的周数与当前周一致YEAR(D5:U5)=YEAR(TODAY()):避免跨年时周数重复(如年底最后一周与年初第一周周数冲突)- 两个条件用
*实现AND逻辑,符合条件的单元格返回1,否则0;SUM求和后大于0则说明存在本周日期
- 注意:旧版Excel需按
Ctrl+Shift+Enter数组输入,Excel 365/2021及以上版本直接回车即可
方案二:基于本周起止日期判断(更直观)
先明确本周的起止范围(以周一为周起始为例),再统计范围内的日期数量:
=IF(COUNTIFS(D5:U5,">="&(TODAY()-WEEKDAY(TODAY(),2)+1),D5:U5,"<="&(TODAY()-WEEKDAY(TODAY(),2)+7))>0,"存在本周交付日期","无本周交付日期")
- 逻辑说明:
TODAY()-WEEKDAY(TODAY(),2)+1:计算本周一的日期(WEEKDAY参数2代表周一为一周第一天,若需周日起始改为1)TODAY()-WEEKDAY(TODAY(),2)+7:计算本周日的日期COUNTIFS统计指定行内落在该区间的日期数量,大于0则说明存在本周交付日期
内容的提问来源于stack exchange,提问作者Water
相关产品推荐
相关产品推荐

