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

Excel动态公式需求:统计三列均为空或0的记录数

解决方案:动态统计三列均为空或0的记录数

假设前提

A列为有效记录标识列(非空即为有效行),Score1、Score2、Score3分别对应B、C、D列。以下公式可根据A列非空单元格数量自动扩展检查范围。


适用于Excel 365/2021(支持动态数组)

使用BYROW+LAMBDA实现逐行判断,动态范围自动适配:

=SUM(--(BYROW(B1:INDEX(B:D,COUNTA(A:A)),LAMBDA(row,AND(IF(row="",TRUE,row=0))))))
  • B1:INDEX(B:D,COUNTA(A:A)):自动生成从B1到D列第N行的区域(N为A列非空单元格总数)
  • AND(IF(row="",TRUE,row=0)):判断该行三个单元格是否均为空或等于0
  • --将布尔结果转为1/0,SUM统计符合条件的总行数

适用于旧版Excel(不支持动态数组)

方法1:SUMPRODUCT公式(无需按三键回车)

=SUMPRODUCT(--(A1:INDEX(A:A,COUNTA(A:A))<>""),--((B1:INDEX(B:B,COUNTA(A:A))=0)+(B1:INDEX(B:B,COUNTA(A:A))="")=1),--((C1:INDEX(C:C,COUNTA(A:A))=0)+(C1:INDEX(C:C,COUNTA(A:A))="")=1),--((D1:INDEX(D:D,COUNTA(A:A))=0)+(D1:INDEX(D:D,COUNTA(A:A))="")=1))
  • --(A:A区域<>""):筛选A列非空的有效行
  • 每个--((列=0)+(列="")=1):判断对应Score列单元格为空或0
  • SUMPRODUCT将所有条件相乘,统计同时满足的行数

方法2:数组公式(需按Ctrl+Shift+Enter回车)

=SUM(IF(ISNUMBER(MATCH(A1:INDEX(A:A,COUNTA(A:A)),"*",0)),--((B1:INDEX(B:B,COUNTA(A:A))=0)+(B1:INDEX(B:B,COUNTA(A:A))="")>0)*((C1:INDEX(C:C,COUNTA(A:A))=0)+(C1:INDEX(C:C,COUNTA(A:A))="")>0)*((D1:INDEX(D:D,COUNTA(A:A))=0)+(D1:INDEX(D:D,COUNTA(A:A))="")>0),0))

注意事项

  • 无论Score列的空值是手动输入的空白,还是公式返回的空文本(=""),公式均能正常识别
  • COUNTA(A:A)会统计A列所有非空单元格,确保检查范围自动跟随A列有效记录数量扩展

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 09:52:59