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

基于结果名称与课程的Excel跨表分数匹配公式需求(含通配符)

Excel高效匹配公式解决方案

适用场景

将Sheet1中的结果分数,按「结果名称(支持前缀通配符)+课程名称」的组合条件匹配到Sheet2对应单元格;若Sheet1中匹配到的分数为空,Sheet2目标单元格自动留空。


方案1:Excel 365/2021及以上版本(推荐,简洁高效)

利用XLOOKUP函数实现多条件匹配,支持通配符逻辑,无需数组输入。

1. 精确匹配结果名称+课程名称(对应示例1)

在Sheet2目标单元格(如B3)输入公式:

=XLOOKUP(1,(Sheet1!C:C="communication")*(Sheet1!E:E="Comm 2010"),Sheet1!D:D,"")
  • 逻辑:(Sheet1!C:C="communication")*(Sheet1!E:E="Comm 2010") 逐行判断两个条件是否同时成立,返回数组1(成立)或0(不成立);XLOOKUP找到第一个1对应的Sheet1!D:D值,无匹配或值为空时返回空字符串。

2. 前缀通配符匹配结果名称(对应示例2的information*)

在Sheet2目标单元格(如C5)输入公式(两种写法任选其一):

写法一(用LEFT函数判断前缀):

=XLOOKUP(1,(LEFT(Sheet1!C:C,LEN("information"))="information")*(Sheet1!E:E="Commm 3000"),Sheet1!D:D,"")

写法二(用SEARCH函数判断开头匹配):

=XLOOKUP(1,(ISNUMBER(SEARCH("^information",Sheet1!C:C,1)))*(Sheet1!E:E="Commm 3000"),Sheet1!D:D,"")
  • 逻辑:通过LEFT或带^的SEARCH实现「以information开头」的通配符匹配效果,再结合课程名称条件完成匹配。

方案2:旧版Excel(无XLOOKUP,用INDEX+MATCH)

利用数组公式实现多条件匹配,需按特定方式输入。

1. 精确匹配示例(Sheet2!B3)

=IFERROR(INDEX(Sheet1!D:D,MATCH(1,(Sheet1!C:C="communication")*(Sheet1!E:E="Comm 2010"),0)),"")

注意:输入公式后需按 Ctrl+Shift+Enter 完成数组公式确认(Excel 365/2021无需此操作)。

2. 前缀通配符匹配示例(Sheet2!C5)

=IFERROR(INDEX(Sheet1!D:D,MATCH(1,(LEFT(Sheet1!C:C,LEN("information"))="information")*(Sheet1!E:E="Commm 3000"),0)),"")

同样需按 Ctrl+Shift+Enter 确认(旧版Excel)。


为什么IF+AND组合会失败?

AND函数只能返回单个布尔值,无法对整列数据逐行判断条件是否成立;而用*(乘号)替代AND,可实现数组中的逻辑与运算,逐行检查两个条件是否同时满足,这是多条件匹配的关键。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 02:10:19