求满足A列=590时,对应K列最大测试时间行的E列销售额Excel公式
解决Excel公式需求:匹配最大测试时间对应的销售编号
你的原公式仅提取了A列等于"590"的行中E列的最大值,没有关联K列的测试时间维度。以下是两种适配不同Excel版本的解决方案:
方案1:适用于Excel 365/2021(支持动态数组)
直接使用XLOOKUP结合条件最大值计算:
=IF(O28>0,XLOOKUP(MAX(FinalTestDataFY24!$K:$K*(FinalTestDataFY24!$A:$A="590")),FinalTestDataFY24!$K:$K,FinalTestDataFY24!$E:$E,"",0,1),"")
- 逻辑:先通过
MAX(FinalTestDataFY24!$K:$K*(FinalTestDataFY24!$A:$A="590"))筛选出A列为"590"的行中K列的最大测试时间,再用XLOOKUP找到该时间对应的E列销售编号。 - 若K列存在多个相同的最大测试时间,公式默认返回第一个匹配的销售编号;如需返回最后一个,将
XLOOKUP的最后一个参数改为-1即可。
方案2:适用于旧版Excel(需数组输入)
使用INDEX+MATCH+MAX+IF组合,输入时需按Ctrl+Shift+Enter触发数组计算:
=IF(O28>0,INDEX(FinalTestDataFY24!$E:$E,MATCH(MAX(IF(FinalTestDataFY24!$A:$A="590",FinalTestDataFY24!$K:$K)),FinalTestDataFY24!$K:$K,0)),"")
- 逻辑:先用
MAX(IF(...))得到符合A列条件的最大测试时间,再通过MATCH定位该时间在K列的位置,最后用INDEX提取对应E列的销售编号。
优化建议
尽量避免整列引用(如$A:$A),改为实际数据范围(如$A$2:$A$1000),可大幅提升公式计算效率。
内容的提问来源于stack exchange,提问作者Shug
相关产品推荐
相关产品推荐

