扩展列后使用COUNTIFS统计首列为J的行中所有1时出现#VALUE!错误的解决方法咨询
扩展列后使用COUNTIFS统计首列为J的行中所有1时出现#VALUE!错误的解决方法咨询
嘿,我来帮你搞定这个问题!我明白你的情况:之前用=COUNTIFS(A1:A5;"J";B1:B5;"1")能好好统计A列是J的行里B列的1的数量,但新增列之后,想统计这些行里所有列的1,直接改COUNTIFS的范围就弹出#VALUE!错误了对吧?
这其实是因为COUNTIFS的规则很严格——每一组条件区域和对应的条件,必须是大小、形状完全一致的区域。比如你原来的A1:A5是单列,B1:B5也是单列,匹配没问题;但如果改成B1:D5这种多列区域,和A1:A5的单列形状不匹配,Excel就会报错#VALUE!。
给你两个实用的解决办法:
方法一:用SUMPRODUCT函数(兼容所有Excel版本)
这个函数对多区域统计非常友好,公式可以这么写:=SUMPRODUCT((LEFT(A1:A5,1)="J")*(B1:D5=1))
- 要是你的A列单元格是精确等于J(不是开头是J),就把
LEFT(A1:A5,1)="J"改成A1:A5="J" - 原理是:先判断每行首列是否符合要求,再判断该行所有目标列是否为1,两个条件都满足的会被计算为1,最后SUMPRODUCT把所有符合条件的1加起来,就是总数。
方法二:用BYROW+SUM(适合Excel 365/2021及以后版本)
如果你的Excel版本支持动态数组函数,这个写法更直观:=SUM(BYROW(A1:D5,LAMBDA(row,IF(LEFT(INDEX(row,1),1)="J",SUM(--(row=1)),0))))
- 它会逐行检查:先看每行的第一个单元格是不是以J开头,是的话就统计这一行里所有等于1的单元格数量,最后把这些数量全部加总。
最后提醒下:要确保你选的区域行数一致哦,比如A1:A5和B1:D5都是5行,不然也可能出现奇怪的问题~
备注:内容来源于stack exchange,提问作者DSSO21
相关产品推荐
相关产品推荐

