使用COUNTIF结合UNIQUE函数时触发公式错误的技术咨询
COUNTIF结合UNIQUE函数时触发公式错误的技术咨询
嘿,这个问题我太熟悉了!其实核心原因是COUNTIF的参数限制在搞鬼——COUNTIF的第一个参数要求必须是实际的单元格区域,而UNIQUE(A2:P2,TRUE)直接返回的是一个动态生成的数组(并非单元格区域),Excel没法把这个数组解析成COUNTIF能识别的区域输入,所以就抛出了那个讨厌的公式错误。
而当你把UNIQUE(A2:P2,TRUE)的结果放到单元格(比如R2)里,再用R2#引用这个溢出区域时,R2#本质上是Excel认可的单元格区域引用,完全符合COUNTIF的参数要求,所以公式自然就能正常运行了。
给你几个可以直接用的替代公式,不用额外单元格中转:
- 用SUMPRODUCT直接计数:
=SUMPRODUCT(--(UNIQUE(A2:P2,TRUE)<>0))
这里的--是把布尔值(TRUE/FALSE)转换成1和0,SUMPRODUCT会自动对这些值求和,得到非0唯一值的数量。 - 用FILTER过滤后再统计行数:
=ROWS(FILTER(UNIQUE(A2:P2,TRUE),UNIQUE(A2:P2,TRUE)<>0))
FILTER会先筛掉UNIQUE结果中的0值,ROWS再统计剩余结果的行数,就是你要的数量。 - 用SUM+IF组合(动态数组环境下直接回车即可):
=SUM(IF(UNIQUE(A2:P2,TRUE)<>0,1,0))
备注:内容来源于stack exchange,提问作者pkujawa
相关产品推荐
相关产品推荐

