如何提取满足双条件的最新日期并同步至另一工作表
双条件匹配提取最新活动日期实现方案
假设你的源数据工作表命名为活动数据,日期、州、城市分别对应A、B、C三列;总览工作表中待匹配的州放在E列、待匹配的城市放在F列,G列用于输出对应最新活动日期。
以下两种方案均无需手动遍历源数据,依赖Excel原生优化的计算逻辑实现,性能适合数据跟踪器场景:
方案1:Excel 365/2021及以上版本(推荐)
直接使用多条件求最大值函数MAXIFS,在总览表G2单元格输入以下公式,下拉填充即可:
=MAXIFS('活动数据'!A:A,'活动数据'!B:B,E2,'活动数据'!C:C,F2)
如果需要处理无匹配数据的空值场景,可以套一层IF判断:
=IF(MAXIFS('活动数据'!A:A,'活动数据'!B:B,E2,'活动数据'!C:C,F2)=0,"",MAXIFS('活动数据'!A:A,'活动数据'!B:B,E2,'活动数据'!C:C,F2))
注意:需要将G列单元格格式设置为日期格式,否则会显示为日期对应的数字序列。
方案2:Excel 2019及更低版本(无MAXIFS函数)
使用数组公式实现,在总览表G2单元格输入以下公式后,按Ctrl+Shift+Enter三键结束输入,再下拉填充:
=MAX(IF('活动数据'!B:B=E2,IF('活动数据'!C:C=F2,'活动数据'!A:A,"")))
同样支持空值处理的优化写法:
=IF(MAX(IF('活动数据'!B:B=E2,IF('活动数据'!C:C=F2,'活动数据'!A:A,"")))=0,"",MAX(IF('活动数据'!B:B=E2,IF('活动数据'!C:C=F2,'活动数据'!A:A,""))))
效果验证
用你提供的示例数据测试,返回结果完全符合预期:
- 匹配州KY、城市Lexington,返回结果为8/9
- 匹配州GA、城市Atlanta,返回结果为8/10
- 匹配州KY、城市Louisville,返回结果为8/9
内容的提问来源于stack exchange,提问作者Christopher Vest
相关产品推荐
相关产品推荐

