求可返回指定日期(当日/仅周一)否则为空的Excel公式
解决Excel条件返回日期的公式问题
一、基础需求:仅在目标日期当天返回该日期,否则空白
如果需要单元格仅在系统日期等于指定目标日期时显示该日期,否则留空,直接用IF结合TODAY()判断即可:
示例1(A1仅在15/01/2024当天显示该日期):
=IF(TODAY()=DATE(2024,1,15), DATE(2024,1,15), "")更简洁的写法(避免重复输入日期):
=IF(TODAY()=--"15/01/2024", "15/01/2024", "")注:
--用于将文本格式日期转换为日期序列号,确保和TODAY()的格式匹配。示例2(A2仅在16/01/2024当天显示该日期):
=IF(TODAY()=DATE(2024,1,16), DATE(2024,1,16), "")
如果要让目标日期自动关联前一个单元格(比如A2是A1日期+1),可以写成:
=IF(TODAY()=A1+1, A1+1, "")
二、进阶需求:仅在指定周一当天返回对应日期,否则空白
针对「仅在周一返回对应日期,比如A1在15/01/2024(周一)显示,A2需等到22/01/2024(下周一)才显示」的需求,结合WEEKDAY函数实现(WEEKDAY第二参数设为2时,周一为1,周日为7,更符合日常认知):
方式1:指定具体周一日期判断
双重验证确保当天是目标周一:
- A1公式(对应15/01/2024):
=IF(AND(TODAY()=DATE(2024,1,15), WEEKDAY(TODAY(),2)=1), DATE(2024,1,15), "") - A2公式(对应22/01/2024):
=IF(AND(TODAY()=DATE(2024,1,22), WEEKDAY(TODAY(),2)=1), DATE(2024,1,22), "")
方式2:自动生成后续周一并判断
如果希望单元格自动计算下一个周一(无需手动输入日期),以A2基于A1的周一日期为例:
=IF(AND(TODAY()=A1+7, WEEKDAY(TODAY(),2)=1), A1+7, "")
只要A1是周一日期,A2会自动指向隔一周的周一,且仅在当天显示。
补充:当天是周一则返回今日日期
如果需求是「只要当天是周一就显示今日日期,否则空白」,公式更简单:
=IF(WEEKDAY(TODAY(),2)=1, TODAY(), "")
内容的提问来源于stack exchange,提问作者Luis Santos
相关产品推荐
相关产品推荐

