SUMIF函数不适用于特定列(总和范围列)

我正在尝试使用SUMIF函数根据一个条件对另一个工作表上的特定列进行求和。

我以前做过1000次。 该公式适用于除此之外的每一列,我不知道为什么。 我已经尝试了很多东西(把范围改为一般或数字等等,除了这个之外,它实际上是用来总结其他列的)。 范围和标准保持不变。 这只是我正在改变的总和范围。

知道发生了什么事。 请帮忙!

SUMIF(range, criteria, [sum_range])像许多其他函数一样对数字进行操作,期望指定的sum_range数字 。 有时用户有时看到某些列中的数字,但这些范围实际上是文本。

这可能发生在两种情况下:

  • 数据是以引号开头的文本formsinput的,即'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)))