You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整Excel公式,排除晚于Event B的事件以判断A与B是否紧邻

解决Excel时间差比较问题:忽略晚于Event B的事件

需求回顾

你需要实现:当Event A(对应P列)与Event B(对应AX列)的时间差绝对值,小于Event B与所有日期不晚于它的其他事件(H到CH列)的时间差绝对值时,返回"Yes",否则返回"No"。

方案1:修改原有冗长公式(兼容所有Excel版本)

对原有公式的每个比较条件添加判断:如果对应事件的日期晚于AX列,则该条件自动成立(不参与比较)。单个条件的修改规则是:
将原条件ABS(AX14273-P14273)<ABS(AX14273-XX14273)替换为OR(XX14273>AX14273, ABS(AX14273-P14273)<ABS(AX14273-XX14273))(XX代表H、I、J等列)。

修改后的完整公式示例(仅展示前3个条件,其余按规则替换即可):

=IF(AND(
OR(H14273>AX14273, ABS(AX14273-P14273)<ABS(AX14273-H14273)),
OR(I14273>AX14273, ABS(AX14273-P14273)<ABS(AX14273-I14273)),
OR(J14273>AX14273, ABS(AX14273-P14273)<ABS(AX14273-J14273)),
...
OR(CH14273>AX14273, ABS(AX14273-P14273)<ABS(AX14273-CH14273))
),"Yes","No")

方案2:简化函数公式(适合Excel 2019及以上/365)

利用MINIFS函数直接筛选出符合条件的事件并计算最小时间差,大幅缩短公式:

排除Event A自身参与比较的版本

=IF(ABS(AX14273-P14273)<MINIFS(ABS(AX14273-H14273:CH14273), H14273:CH14273, "<="&AX14273, H14273:CH14273, "<>"&P14273),"Yes","No")

允许Event A自身参与比较的版本(若Event A可能早于Event B)

=IF(ABS(AX14273-P14273)<MINIFS(ABS(AX14273-H14273:CH14273), H14273:CH14273, "<="&AX14273),"Yes","No")

Excel 365专属简化版(用FILTER函数)

=IF(ABS(AX14273-P14273)<MIN(ABS(AX14273-FILTER(H14273:CH14273, H14273:CH14273<=AX14273))),"Yes","No")

内容的提问来源于stack exchange,提问作者user30082921

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 16:22:02