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

Excel13中如何统计A列各值对应B列的非空唯一值数量

Excel按ColA分组统计ColB非空唯一值个数实现方案

需求梳理

  • 原始数据包含ColA(分组维度列)、ColB(待统计值列)两列
  • 统计规则:针对ColA的每一个取值,计算其对应匹配到的ColB列中非空、去重后的值总个数
  • 前置条件:已在独立列提取完ColA的全部去重值,需逐行匹配返回统计结果
  • 预期校验标准:ColA值为1时返回2,值为2时返回1,值为3时返回3

可直接套用的公式

使用前先替换公式里的范围为你表格的实际范围:

  • 原始ColA全量数据范围:示例写为A2:A100
  • 原始ColB全量数据范围:示例写为B2:B100
  • 提前提取好的ColA去重值存放在D列,第一个去重值在D2单元格
    注意:原始数据范围要加$设置为绝对引用,避免下拉填充时范围错位

Excel 365/2021及以上版本

D2单元格输入以下公式,回车后直接下拉填充到所有去重值行即可:

=COUNTA(UNIQUE(FILTER($B$2:$B$100,($A$2:$A$100=D2)*($B$2:$B$100<>""))))

公式逻辑:

  1. 用FILTER筛选出A列等于当前统计值、且B列不为空的所有B列数据
  2. 用UNIQUE对筛选出的B列值去重
  3. 用COUNTA统计去重后的值总数,即为所求结果
    如果需要兼容无匹配项的报错,可以套一层容错逻辑,公式改为:
=IFERROR(COUNTA(UNIQUE(FILTER($B$2:$B$100,($A$2:$A$100=D2)*($B$2:$B$100<>"")))),0)

Excel 2019及更早无动态数组功能的版本

老版本不支持FILTER、UNIQUE函数,用SUMPRODUCT计数去重写法,D2单元格输入以下公式,回车后下拉填充即可:

=SUMPRODUCT(($A$2:$A$100=D2)*($B$2:$B$100<>"")/COUNTIFS($A$2:$A$100,$A$2:$A$100,$B$2:$B$100,$B$2:$B$100&""))

这个公式通过COUNTIFS计算每个值的出现次数做除法去重,自动过滤空值,不需要按数组三键,输入完成直接生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 03:00:59