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

如何修改Excel公式实现批量匹配过滤产品的List B附加信息?

0ABCDEFG
1Brand AProduct 01600Product 01USonline
2Brand AProduct 02100Product 02NLlocal shop
3Brand AProduct 02300Product 03ATonline
4Brand BProduct 01400Product 04FRlocal shop
5Brand BProduct 03500
6Brand CProduct 02200
7Brand CProduct 02800Brand C
8Brand CProduct 04900Product 02NLlocal shop
9Brand CProduct 01700Product 04FRlocal shop
10Brand DProduct 03250Product 01USonline
11Brand DProduct 03460
12Brand DProduct 04690

上述表格包含两个列表:

  • List A = Range A1:C12
  • List B = Range E1:G4 (说明:该列表中的产品始终唯一)

已在Range E8:E10区域使用公式完成对List A的产品过滤,功能正常:

=UNIQUE(FILTER(B:B;A:A=E7))

现需在Range F8:G10区域,为这些过滤后的产品匹配来自List B的附加信息。目前仅能通过以下公式实现第一行的信息匹配,请问如何修改公式以适配所有行?

=DROP(FILTER(E1:G4;E1:E4=E8);;1)

解决方案

以下是几种实用的修改方案,适配批量匹配需求:

方案1:XLOOKUP(简洁高效,适用于Excel 365/2021及以上版本)

在F8单元格输入公式,向右拖动到G8,再向下拖动到G10即可:

=XLOOKUP($E8;$E$1:$E$4;F$1:F$4;"")
  • 逻辑:锁定产品列$E8匹配当前行产品,$E$1:$E$4指定List B的产品匹配范围,F$1:F$4调用对应列的附加信息,最后""设置匹配空值时返回空白。

方案2:MAP+LAMBDA(适配原公式逻辑,数组批量填充)

在F8单元格输入数组公式,直接回车即可自动填充F8:G10区域(需Excel 365支持):

=MAP(E8:E10;LAMBDA(x;DROP(FILTER(E1:G4;E1:E4=x);;1)))
  • 逻辑:用MAP遍历E8:E10的所有产品,通过LAMBDA对每个产品执行原有的DROP+FILTER匹配逻辑,批量返回结果。

方案3:VLOOKUP(兼容旧版Excel)

如果使用不支持XLOOKUP的旧版Excel,可在F8单元格输入公式,向右拖动到G8再向下拖动:

=VLOOKUP($E8;$E$1:$G$4;COLUMN()-4;FALSE)
  • 逻辑:COLUMN()-4自动计算当前列对应的返回索引(F列对应第2列、G列对应第3列),无需手动修改索引值,FALSE开启精确匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 22:46:13