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

多条件查找订单状态:VLOOKUP/XLOOKUP/INDEX&MATCH选哪款?

多条件匹配获取订单状态

Sheet1 订单表

注意同一Ref ID(如DEF456)对应多个订单号:

Ref IDOrder Number
ABC123ORD001
DEF456ORD002
GHI789ORD003
DEF456ORD004
DEF456ORD005

Sheet2 订单状态表

Ref IDOrder NumberStatus
ABC123ORD001success
DEF456ORD002success
GHI789ORD003fail
DEF456ORD004success
DEF456ORD005fail

需求

为Sheet1的每个订单返回对应的Status字段。

问题

当Ref ID与Order Number为独立列时,无法直接用单条件查找公式完成匹配。

尝试过的无效公式

  • =VLOOKUP(CONCATENATE(A2,B2),Sheet2!,3,0)
  • =VLOOKUP(JOIN("",A2,b2),Sheet2!,3,0)
  • =XLOOKUP(AND(CONCATENATE(A2,B2),Sheet2!A2:A=A2:A,Sheet2!B2:B=B2:B),Sheet2!C2:C)
  • =INDEX(Sheet2!A2:C,MATCH(JOIN("",A2,B2),AND({Sheet2!A2:A}=A2,{Sheet2!B2:B}=B2),0),MATCH(JOIN("",A2,B2),Sheet2!1:1,0))

可行解决方案

方案1:INDEX+MATCH多条件数组匹配

在Sheet1的C2单元格输入以下公式,下拉填充至所有行:

=INDEX(Sheet2!$C$2:$C$6,MATCH(1,(Sheet2!$A$2:$A$6=A2)*(Sheet2!$B$2:$B$6=B2),0))
  • 旧版Excel需按Ctrl+Shift+Enter触发数组计算;新版Excel无需手动触发,输入后回车即可。

方案2:XLOOKUP多条件匹配(仅新版Excel支持)

直接用XLOOKUP的多条件逻辑,在Sheet1的C2单元格输入:

=XLOOKUP(1,(Sheet2!$A$2:$A$6=A2)*(Sheet2!$B$2:$B$6=B2),Sheet2!$C$2:$C$6)

方案3:辅助列合并匹配键

  1. 在Sheet2新增D列,D2单元格输入=A2&B2,下拉填充生成合并后的匹配键;
  2. 在Sheet1的C2单元格使用VLOOKUP:
=VLOOKUP(A2&B2,Sheet2!$D$2:$E$6,2,0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 22:48:19