我正在尝试使用SUMIF
函数根据一个条件对另一个工作表上的特定列求和。
之前我已经完成了1000次。该公式适用于除此之外的每一列,我不知道为什么。我已经尝试了很多东西(将范围改为一般或数字等;它实际上用于汇总除此之外的所有其他列)。范围和标准保持不变。这只是我要改变的总和范围。
没有想法是怎么回事。请帮忙!
答案 0 :(得分:1)
SUMIF(range, criteria, [sum_range])
与许多其他针对数字的函数一样,期望指定的sum_range
为数字。碰巧有时用户会在某些列中看到数字,但这些范围实际上是文本。
这可能发生在两种情况:
数据以文字开头输入,即'100
数据来自生成文字的公式,即=RIGHT("a123", 3)
在这些情况下,SUMIF会将这些单元格视为文本并忽略数值。不幸的是,在这些情况下使用VALUE(range)
会有所帮助,因为函数SUMIF
需要一个范围参数,并且不接受计算出的数组。
OP的范围就是这个问题:N列是由公式生成的:
=IF(M2<20,"1",IF(AND(M2>19,M2<51),"2",IF(M2>50,"3")))
并且解决方案是更改初始公式,以便通过删除数字周围无用的双引号来生成数字而不是文本:
=IF(M2<20,1,IF(AND(M2>19,M2<51),2,IF(M2>50,3)))