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

如何在Excel 365中按分组使用XLOOKUP匹配对应值?

解决Excel 365中按NAME匹配对应CODE的XLOOKUP问题

问题根源

你当前的公式仅以CODE作为单一匹配条件,只会返回整个列中第一个符合TA或X Y的VALUE,没有关联每行的NAME,因此无法对应到DEF、JKL等其他NAME的正确值。

解决方案

需要将NAME和CODE设为双重匹配条件,让XLOOKUP针对每行的NAME,精准匹配对应CODE的VALUE。

1. 获取对应NAME的TA值(F列)

在F2单元格输入以下公式,下拉填充即可(Excel 365支持自动溢出):

=XLOOKUP(1,($A$2:$A$17=A2)*($B$2:$B$17="TA"),$C$2:$C$17,"",0)
  • 逻辑:($A$2:$A$17=A2)锁定当前行的NAME,($B$2:$B$17="TA")锁定目标CODE,两者相乘生成匹配数组,XLOOKUP找到数组中值为1的位置,返回对应VALUE。

2. 获取对应NAME的X Y值并拆分(G列)

在G2单元格输入以下公式,下拉后会自动将拆分结果填充到G、H列:

=TEXTSPLIT(XLOOKUP(1,($A$2:$A$17=A2)*($B$2:$B$17="X Y"),$C$2:$C$17,"",0)," ")
  • 逻辑:先通过双重条件匹配当前NAME对应的X Y的VALUE,再用TEXTSPLIT按空格拆分数值。

3. 动态数组批量生成(无需手动下拉)

如果想一次性生成所有行的结果,在F2单元格输入:

=XLOOKUP(1,($A$2:$A$17=A$2:$A$17)*($B$2:$B$17="TA"),$C$2:$C$17,"",0)

G2单元格输入:

=TEXTSPLIT(XLOOKUP(1,($A$2:$A$17=A$2:$A$17)*($B$2:$B$17="X Y"),$C$2:$C$17,"",0)," ")

Excel 365会自动溢出填充所有行的匹配结果。

验证示例

以DEF行为例:

  • F列将返回60(DEF对应的TA值)
  • G、H列将分别返回65和01(DEF对应的X Y拆分后的值)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 06:02:43