Excel统计非空行(排除首行表头)的公式失效问题
解决Excel排除表头统计非空行数的问题
为什么=COUNTIF(Books!A2:A, "<>")无法生效?
Excel旧版本的COUNTIF不支持A2:A这种仅指定起始行的开放式区域引用,必须明确完整的区域范围,或者换用支持该引用方式的函数。
可行解决方案
方法1:COUNTA快速计算(推荐)
利用COUNTA统计整列非空单元格总数,减去表头行(默认第一行非空):=COUNTA(Books!A:A)-1若表头第一行是空值,可直接使用
=COUNTA(Books!A2:A1048576)(1048576为Excel最大行号)。方法2:COUNTIF指定完整区域
明确写出区域的结束行,比如数据最多到第1000行:=COUNTIF(Books!A2:A1000, "<>")若数据会动态新增,可将区域设为整列最大范围:
=COUNTIF(Books!A2:A1048576, "<>")方法3:动态数组公式(Excel 365/2021+)
自动适配新增数据,无需手动调整范围:=ROWS(FILTER(Books!A2:A, Books!A2:A<>""))或通过筛选整列后减1:
=ROWS(FILTER(Books!A:A, Books!A:A<>""))-1方法4:SUMPRODUCT兼容旧版本
适用于所有Excel 2007及以后版本,无需动态数组支持:=SUMPRODUCT(--(Books!A2:A1048576<>""))--将布尔值转换为1/0,SUMPRODUCT对结果求和得到非空行数。
内容的提问来源于stack exchange,提问作者R14
相关产品推荐
相关产品推荐

