如何用单个函数统计A列存在但B列不存在的单元格数量

不需要建辅助列,单公式就能直接出结果,根据你使用的Excel版本选对应写法即可:
全版本通用公式(兼容所有Excel版本)
任意空白单元格输入以下公式回车即可:
=SUMPRODUCT(--(COUNTIF(B:B,A:A)=0))
公式运行逻辑:
COUNTIF(B:B,A:A)会直接在内存里逐行判断A列每个值在B列的出现次数,生成对应结果数组,不需要把中间匹配结果写到单元格- 后续的
=0判断会把「A列存在、B列找不到」的项标记为TRUE,其余标记为FALSE - 前面的
--是把逻辑值TRUE转为1、FALSE转为0,最后SUMPRODUCT直接对所有1求和,就是你需要的统计值
*如果你的数据不是铺满整列,建议把公式里的整列引用换成实际数据范围,比如数据行是2到200行,就写成=SUMPRODUCT(--(COUNTIF(B2:B200,A2:A200)=0)),计算速度更快,也不会把A列的空单元格误统计进去。
新版本简化公式(适用于Excel 365/2021及以上版本)
如果你用的是支持动态数组的新版Excel,还可以用更短的写法:
=SUM(--(ISNA(MATCH(A:A,B:B,0))))
也可以用过滤函数直接筛出目标值再统计行数,逻辑更直观:
=ROWS(FILTER(A:A,COUNTIF(B:B,A:A)=0,0))
以上公式都会在内存里完成你之前靠辅助列实现的匹配、校验步骤,不需要额外占用单元格存储中间结果。
内容的提问来源于stack exchange,提问作者Andy
相关产品推荐
相关产品推荐

