Excel技术问询:统计关联B列值的A列唯一值集合数量
Excel统计B列对应A列唯一值数量的可行方案
一、动态数组公式(Excel 365/2021及以上版本)
适合支持动态数组的Excel版本,输入一次公式自动填充所有结果:
在C2单元格输入以下公式,回车后会自动溢出到下方行:
=BYROW(B2:B1000, LAMBDA(x, COUNTA(UNIQUE(FILTER(A2:A1000, B2:B1000=x)))))
- 替换
B2:B1000和A2:A1000为你的实际数据范围,若要自动适配非固定范围,可改用A:A和B:B(注意整列引用可能影响性能)。 - 若数据存在空白行导致
FILTER返回错误,可添加IFERROR处理:=BYROW(B2:B1000, LAMBDA(x, IFERROR(COUNTA(UNIQUE(FILTER(A2:A1000, B2:B1000=x))), 0)))
二、旧版Excel兼容数组公式
针对Excel 2019及更早版本,需以数组公式形式输入(输入完成后按Ctrl+Shift+Enter确认):
在C2单元格输入:
=SUM(IF(FREQUENCY(IF(B$2:B$1000=B2, MATCH(A$2:A$1000, A$2:A$1000, 0)), ROW(A$2:A$1000)-ROW(A$2)+1)>0, 1))
输入完成后下拉填充到所有需要计算的行即可。
三、Power Query方案(推荐用于外部导入数据)
由于你的数据来自外部数据源,Power Query是更高效的处理方式,且不破坏源数据,结果可直接同步到Tableau:
- 选中数据区域(若为外部数据,直接通过「数据」选项卡选择对应导入方式进入Power Query)。
- 在Power Query编辑器中,点击「转换」→「分组依据」。
- 在分组设置窗口中:
- 分组列:选择B列
- 新列名:输入如「唯一值数量」
- 操作:选择「计数(不同)」
- 列:选择A列
- 点击「确定」后,数据会自动按B列分组并统计对应A列的唯一值数量,最后点击「关闭并上载」将结果导出到Excel。
后续外部数据更新时,只需右键点击结果表格选择「刷新」即可同步最新统计值。
内容的提问来源于stack exchange,提问作者Elijah
相关产品推荐
相关产品推荐

