Excel中仅比较日期的日和月(忽略年份)的实现方法求助
解决方案:忽略年份对比日期的日和月
核心思路
提取目标日期的月份和日期,与当前日期(TODAY())的月份和日期单独对比,避开年份的干扰。
1. 精准判断日月完全匹配
如果要检查单元格A1的日期与今天的日、月完全一致,使用以下公式:
=AND(MONTH(A1)=MONTH(TODAY()), DAY(A1)=DAY(TODAY()))
- 返回
TRUE表示日月完全匹配,FALSE则不匹配。 - 排查AND函数失效的可能:确保
A1是标准日期格式(而非文本),若为文本需先转换,公式调整为:=AND(MONTH(DATEVALUE(A1))=MONTH(TODAY()), DAY(DATEVALUE(A1))=DAY(TODAY()))
2. 判断日月是否在指定区间内(如前后N天)
如果要检查A1的日期(仅看日月)是否在今天的前后7天范围内,可将目标日期的日月映射到当前年份,再计算天数差:
=ABS(DATE(YEAR(TODAY()), MONTH(A1), DAY(A1)) - TODAY()) <= 7
- 原理:
DATE(YEAR(TODAY()), MONTH(A1), DAY(A1))把A1的日、月放到今年生成新日期,再和今天计算绝对值差,判断是否符合区间要求。
3. 处理闰年2月29日的特殊情况
如果目标日期包含2月29日,非闰年时DATE函数会自动转为3月1日,若需要特殊匹配逻辑:
=IF(AND(MONTH(A1)=2, DAY(A1)=29), OR(AND(MONTH(TODAY())=2, DAY(TODAY())=29), AND(MONTH(TODAY())=3, DAY(TODAY())=1)), AND(MONTH(A1)=MONTH(TODAY()), DAY(A1)=DAY(TODAY())) )
- 该公式将非闰年的3月1日视为与2月29日匹配,可根据实际需求调整逻辑。
内容的提问来源于stack exchange,提问作者2023 Act BEJARANO ORTEGA FERNA
相关产品推荐
相关产品推荐

