Excel技术问询:如何根据订单号提取对应列最底部的最新百分比
解决方案
情况1:使用Excel 365/2021及以上版本(支持动态数组)
直接用XLOOKUP函数实现反向查找,自动匹配最后一次出现的订单号对应的百分比,无需数组输入,且支持Sheet2后续新增行:
=XLOOKUP(B10, Sheet2!$B:$B, Sheet2!$H:$H, "", 0, -1)
- 参数说明:
B10:Sheet1当前行的订单号Sheet2!$B:$B:Sheet2存储订单号的整列(无需固定行范围,新增行自动覆盖)Sheet2!$H:$H:Sheet2存储百分比的整列"":无匹配订单号时返回空值(可按需修改)0:精确匹配订单号-1:从Sheet2最后一行开始向前查找,返回第一个匹配的结果(即最新的百分比)
情况2:使用旧版Excel(不支持XLOOKUP)
修正你之前尝试的数组公式,替换参数分隔符并按数组公式规则输入:
=INDEX(Sheet2!$H:$H, MATCH(2, 1/(Sheet2!$B:$B=B10), 0))
- 操作注意:输入公式后必须按Ctrl+Shift+Enter完成输入(旧版Excel数组公式的要求)
- 原公式无效的核心原因:国内Excel默认使用逗号作为参数分隔符,而你之前的公式用了分号,替换为逗号即可解决格式问题;同时改用整列引用
Sheet2!$B:$B/Sheet2!$H:$H,适配Sheet2后续新增的行。
额外说明
- 若Sheet2的B列存在空行,公式仍能正常工作,因为
MATCH会忽略错误值,只匹配有效订单号行 - 确保Sheet1的B列订单号与Sheet2的B列格式一致(比如同为文本/数值),避免匹配失败
内容的提问来源于stack exchange,提问作者user25747420
相关产品推荐
相关产品推荐

