
取HP的总和。但我的公式是提供给我错误的数量,尽管标准没有得到满足!
发布于 2022-02-11 13:35:27
我认为有必要对原来的公式不起作用的原因发表解释,因为它突出了函数SUMIF的一个有趣的特性。
正如我的一条注释中所述,您将一个range参数传递给CN_2021[[#All],[HP]:[Sum of ORDER_AMT]]函数,该函数是对整个表(包括标头)的引用。因此,您可以有效地在P14的所有三列()中搜索来自的条目,而不仅仅是第一列。
但是,您还使用了sum_range参数CN_2021[[#All],[Sum of ORDER_QTY]],该参数仅为一列。人们可能会认为,构造应该是平面错误,因为您的range和sum_range参数的维数不相等(前者由3列组成,后者只有1列)。
它没有出错的原因是,在这种情况下,Excel redimensions sum_range以便与range具有相同的维度。
因此,如果为了简化起见,我们将表引用替换为它们的等效工作表引用(假设表以A3开头),那么我们就有了
=SUMIF(CN_2021[[#All],[HP]:[Sum of ORDER_AMT]],P14,CN_2021[[#All],[Sum of ORDER_QTY]])
这相当于
=SUMIF(A3:C19,P14,B3:B19)
应该出错,尽管单列范围
B3:B19
被重命名为与range一致的三列范围,即
B3:D19
这意味着您正在有效地执行
=SUMIF(A3:C19,P14,B3:D19)
如果D列也被填充,这可能会产生潜在的后果:例如,在单元格C14中放置3,在单元格D14中放置1000。公式现在将得到这个额外的1000的总和。
奇怪的是,与SUMIF不同的是,SUMIFS对这种重新标注似乎并不那么宽容:
=SUMIFS(B3:B19,A3:C19,P14)
错误。
https://stackoverflow.com/questions/71080268
复制相似问题