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

如何用Excel动态数组公式实现客户与产品的动态关联筛选?

动态数组公式实现客户-产品动态汇总

1. 生成动态唯一客户列表(目标A列)

在目标区域首单元格(如A11)输入:

=UNIQUE(Table1[Client])

该公式会自动提取Table1中所有唯一客户,新增客户数据时会自动扩展列表。

2. 匹配对应客户的产品(目标B列)

在B11单元格输入以下动态数组公式:

=BYROW(UNIQUE(Table1[Client]), LAMBDA(client, TEXTJOIN(", ", TRUE, FILTER(Table1[Product], Table1[Client]=client))))

公式解析:

  • BYROW遍历UNIQUE返回的每个客户值
  • LAMBDA(client, ...)定义遍历逻辑:对每个客户,用FILTER筛选出其所有关联产品
  • TEXTJOIN(", ", TRUE, ...)将多个产品用逗号分隔合并为单个单元格(若需求是每个产品单独成行,可直接用FILTER配合TOCOL,但根据你描述的A11:B12样式,此汇总方式更匹配)

若需单个客户对应最新产品

如果你的需求是每个客户仅显示最新录入的产品,可使用反向查找的XLOOKUP:

=BYROW(UNIQUE(Table1[Client]), LAMBDA(client, XLOOKUP(client, Table1[Client], Table1[Product], "", 0, -1)))

-1参数表示从表格末尾往前查找,自动返回客户的最新产品,新增数据时实时更新。

关于你之前的FILTER+XMATCH尝试失败原因

单独的FILTER+XMATCH无法批量处理所有唯一客户,缺少对每个客户的遍历逻辑。BYROW的核心作用就是逐个处理UNIQUE返回的每个客户,确保每个客户都能匹配到对应产品,完美适配动态数组的批量输出需求。

内容的提问来源于stack exchange,提问作者Jérôme Astier

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 03:05:40