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

Excel如何使用公式基于同一行两个条件提取B列对应值

解决方案

方法1:Excel 365/2021及以上版本(推荐,最简单)

使用XLOOKUP多条件匹配,可直接同时校验UserID和Cost_Priority两个匹配条件,不会带出优先级为0的记录。
假设源数据存放在Sheet1的A1:D8区域(表头在第1行,数据从第2行到第8行),结果表的UserID放在A列,A2为第一个待匹配的用户ID:

  • 最高成本问题(结果表B2单元格)公式:
    =XLOOKUP(1,(Sheet1!$A$2:$A$8=A2)*(Sheet1!$C$2:$C$8=1),Sheet1!$B$2:$B$8,"无对应问题")
  • 第二高成本问题(结果表C2单元格)公式:
    =XLOOKUP(1,(Sheet1!$A$2:$A$8=A2)*(Sheet1!$C$2:$C$8=2),Sheet1!$B$2:$B$8,"无对应问题")
    公式输入完成后,选中B2、C2单元格下拉填充即可批量完成所有用户的匹配。

方法2:Excel 2019及以下旧版本(兼容性最优)

使用INDEX+MATCH数组公式实现多条件匹配:

  • 最高成本问题(结果表B2单元格)公式:
    =IFERROR(INDEX(Sheet1!$B$2:$B$8,MATCH(1,(Sheet1!$A$2:$A$8=A2)*(Sheet1!$C$2:$C$8=1),0)),"无对应问题")
  • 第二高成本问题(结果表C2单元格)公式:
    =IFERROR(INDEX(Sheet1!$B$2:$B$8,MATCH(1,(Sheet1!$A$2:$A$8=A2)*(Sheet1!$C$2:$C$8=2),0)),"无对应问题")
    注意:旧版本Excel输入完公式后,需要按Ctrl+Shift+Enter组合键进行数组确认,否则会返回错误值。确认完成后下拉填充即可。

方法3:无代码操作(数据透视表)

如果不想写公式,可以用数据透视表快速生成目标结果:

  • 选中整张源数据表,点击「插入」选项卡→「数据透视表」
  • 透视表字段设置:行区域拖入UserID,列区域拖入Cost_Priority,值区域拖入Problem_Description
  • 点击值区域的Problem_Description,选择「值字段设置」,计算类型选「最大值」或「最小值」(每个用户同优先级仅对应1个问题,两类计算结果一致)
  • 最后删除透视表里列标签为0的列,将列标签1、2分别改为对应标题即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:15:02