Google Sheets中COUNTIF统计周六结果异常的技术求助
解决Google Sheets周六计数错误问题
问题原因
你使用的公式=ArrayFormula(COUNTIF((WEEKDAY(D5:D31,1)),"=7"))存在两处问题:
- 多余的
ArrayFormula:COUNTIF本身支持对单元格范围直接统计,嵌套ArrayFormula后会让公式对每个单元格单独执行计数,返回包含14个结果的数组,最终显示的14是错误的数组相关值。 - 匹配类型不兼容:
WEEKDAY返回的是数字(7代表周六),而你用文本格式的"=7"作为匹配条件,两者类型不匹配,导致统计逻辑失效。
正确解决方案
以下两种方法均可得到准确的周六数量:
方法1:直接使用COUNTIF
公式:
=COUNTIF(WEEKDAY(D5:D31,1),7)
解释:COUNTIF会自动遍历D5:D31范围,统计其中WEEKDAY结果等于数字7的单元格数量,无需额外嵌套ArrayFormula。
方法2:使用SUMPRODUCT(适配复杂条件场景)
公式:
=SUMPRODUCT(--(WEEKDAY(D5:D31,1)=7))
解释:WEEKDAY(D5:D31,1)=7生成由TRUE/FALSE组成的数组,--将布尔值转换为1/0,SUMPRODUCT对这些数值求和,得到周六的总数。
内容的提问来源于stack exchange,提问作者Edmund Ong
相关产品推荐
相关产品推荐

