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

Excel需求:仅当相邻单元格含数字时统计唯一单元格数量

解决Excel中带条件的唯一值统计问题

刚好碰到过类似的需求,咱们一步步来搞定它:你要统计A列的唯一值数量,但只有当这个值对应的相邻单元格(我默认是B列,要是你的列不一样,直接替换成对应列就行)里有数字时,才把这个唯一值算进去。

核心公式(分Excel版本)

适用于Excel 365/2021及以后版本(支持动态数组)

直接输入下面的公式,按回车就行:
=SUM(--(UNIQUE(FILTER(A1:A25, ISNUMBER(B1:B25)))<>""))

适用于Excel 2019及更早版本(需要数组公式)

输入公式后,**必须按Ctrl+Shift+Enter**来触发数组运算:
{=SUM(IF(FREQUENCY(IF(ISNUMBER(B1:B25), MATCH(A1:A25, A1:A25, 0)), ROW(A1:A25)-ROW(A1)+1), 1))}

公式拆解(理解了才好灵活调整)

咱们唠唠这些公式为啥管用:

  • ISNUMBER(B1:B25):先筛出B列里是数字的行,返回一组TRUE/FALSE的数组
  • 动态数组版本逻辑:用FILTER只保留B列是数字的A单元格值,再用UNIQUE提取里面的唯一值,最后用SUM统计数量(--是把文本转成可计算的数值)
  • 旧版数组公式逻辑:用MATCH找出A列每个值第一次出现的行号,结合IF只保留B列是数字的行号,再用FREQUENCY统计这些行号的出现次数——每个唯一行号对应一个唯一的A值,最后SUM所有1就得到符合条件的数量

举个例子验证

比如你的数据是:

A列B列
VC15
VC14
VC2(空)
VC37
VC3(空)
VC59

用上面的公式会返回3,刚好是符合条件的VC1、VC3、VC5这三个唯一值,完美匹配你的需求!

替换小贴士

  • 要是你的相邻列不是B列,比如是C列,就把公式里的B1:B25换成C1:C25
  • 数据范围不是A1:A25?直接改成你实际的单元格范围就行,比如A2:A100

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 02:33:44