Excel 2019及更早版本:无辅助单元格统计非空白数值单元格对数
解决方案
问题原因
你用COUNTIFS报错是因为该函数的参数要求是单元格区域引用,而ISNUMBER(A1:F1)返回的是布尔值数组,不符合COUNTIFS的参数规则,因此无法正常运行。
适配Excel 2019及更早版本的单公式实现
可以使用SUMPRODUCT函数直接处理数组运算,无需辅助单元格,公式如下:
=SUMPRODUCT(--((ISNUMBER(A1:F1)+ISNUMBER(A3:F3))>0))
公式原理
ISNUMBER(A1:F1)和ISNUMBER(A3:F3)分别判断两个区域的每个单元格是否为数值,返回由TRUE/FALSE组成的数组(在运算中自动转换为1/0)。- 将两个数组对应位置相加:若某一对单元格至少有一个是数值,相加结果≥1;若两个都非数值,结果为0。
--((...))>0将布尔判断结果转换为1/0(符合条件为1,不符合为0)。SUMPRODUCT对所有结果求和,得到至少有一个数值的单元格对总数。
替代写法
也可以通过「总对数减去两个都非数值的对数」来计算,逻辑更直观:
=COLUMNS(A1:F1)-SUMPRODUCT(--(NOT(ISNUMBER(A1:F1))*NOT(ISNUMBER(A3:F3))))
COLUMNS(A1:F1)返回两个区域的总单元格对数(即列数)。NOT(ISNUMBER(...))判断单元格是否非数值,两个数组相乘得到同时非数值的单元格对(结果为1表示符合,0表示不符合),SUMPRODUCT求和后用总对数减去该值,得到目标结果。
内容的提问来源于stack exchange,提问作者BoTz
相关产品推荐
相关产品推荐

