为什么 excel SUMIF 函数给出错误的数字?
Why does excel SUMIF function give wrong figure?
计算HP总和。但是尽管没有满足标准,我的公式还是提供了错误的数量!
我认为有必要解释一下为什么您的原始公式不起作用,因为它突出了函数 SUMIF
.
的一个有趣特征
如我的一条评论所述,您将 range
参数传递给 CN_2021[[#All],[HP]:[Sum of ORDER_AMT]]
的函数,这是对整个 table(包括 headers).因此,您实际上是在 所有三列 中搜索来自 P14
的条目,而不仅仅是第一列。
但是,您还使用了 CN_2021[[#All],[Sum of ORDER_QTY]]
的 sum_range
参数,这只是一列。有人可能认为构造应该 消除错误 ,因为你的 range
和 sum_range
参数的维度不相等(前者包含 3 列,后者只有 1).
它不出错的原因是,在这种情况下,Excel redimensions sum_range
是一个与 range
.
的维度相等
因此,如果为了简化起见,我们将 Table 引用替换为其等效的工作表引用(假设 table 从 A3
开始),我们有
=SUMIF(CN_2021[[#All],[HP]:[Sum of ORDER_AMT]],P14,CN_2021[[#All],[Sum of ORDER_QTY]])
相当于
=SUMIF(A3:C19,P14,B3:B19)
应该错误,虽然single-column范围
B3:B19
被重新定义为与 range
一致的 three-column 范围,即
B3:D19
这意味着您正在有效地执行
=SUMIF(A3:C19,P14,B3:D19)
如果 D 列也被填充,这可能会产生潜在的后果:例如,在单元格 C14
中放置 3,在单元格 D14
中放置 1000。该公式现在将在总和中提取这额外的 1000。
奇怪的是,与 SUMIF
不同的是,SUMIFS
似乎对这种尺寸调整没有那么宽容:
=SUMIFS(B3:B19,A3:C19,P14)
错误。
计算HP总和。但是尽管没有满足标准,我的公式还是提供了错误的数量!
我认为有必要解释一下为什么您的原始公式不起作用,因为它突出了函数 SUMIF
.
如我的一条评论所述,您将 range
参数传递给 CN_2021[[#All],[HP]:[Sum of ORDER_AMT]]
的函数,这是对整个 table(包括 headers).因此,您实际上是在 所有三列 中搜索来自 P14
的条目,而不仅仅是第一列。
但是,您还使用了 CN_2021[[#All],[Sum of ORDER_QTY]]
的 sum_range
参数,这只是一列。有人可能认为构造应该 消除错误 ,因为你的 range
和 sum_range
参数的维度不相等(前者包含 3 列,后者只有 1).
它不出错的原因是,在这种情况下,Excel redimensions sum_range
是一个与 range
.
因此,如果为了简化起见,我们将 Table 引用替换为其等效的工作表引用(假设 table 从 A3
开始),我们有
=SUMIF(CN_2021[[#All],[HP]:[Sum of ORDER_AMT]],P14,CN_2021[[#All],[Sum of ORDER_QTY]])
相当于
=SUMIF(A3:C19,P14,B3:B19)
应该错误,虽然single-column范围
B3:B19
被重新定义为与 range
一致的 three-column 范围,即
B3:D19
这意味着您正在有效地执行
=SUMIF(A3:C19,P14,B3:D19)
如果 D 列也被填充,这可能会产生潜在的后果:例如,在单元格 C14
中放置 3,在单元格 D14
中放置 1000。该公式现在将在总和中提取这额外的 1000。
奇怪的是,与 SUMIF
不同的是,SUMIFS
似乎对这种尺寸调整没有那么宽容:
=SUMIFS(B3:B19,A3:C19,P14)
错误。