首页 > 解决方案 > 输入的位置重要吗?(SUMIFS)

问题描述

我对 Excel 和 VBA 的函数 SUMIFS() 有疑问。我有两个代码,但我将输入位置从一个更改为另一个(Århus & Odense,但也可以使用 2 和 3):

使用这些标准时,我需要找到正确的总和。我试图谷歌并试图了解 SUMIFS。我试图用相同数量的变量模拟另一个数据集并更改不同的输入位置。但是,在比较 4 个不同的输入位置时,我得到了相同的结果

代码 1)

SUM(SUMIFS($D$2:$D$2000;$B$2:$B$2000;{"Odense";"Århus"};_

$C$2:$C$2000;{2;3};$E$2:$E$2000;ABS(I16)))

代码 2)

SUM(SUMIFS($D$2:$D$2000;$B$2:$B$2000;{"Århus";"Odense"};_

$C$2:$C$2000;{2;3};$E$2:$E$2000;ABS(I16)))

代码 1 给出 152832,代码 2 给出 135751。所以我希望任何人都可以向我解释为什么会发生这种情况。或者可能是正在使用的数据有问题。

标签: excelvbasumifs

解决方案


当在 SUMIFS 中使用两个数组时,如果两个数组都是垂直的或都是水平的,那么这将很重要,因为它只会做两个并且一对一地比较每个数组的步进相同。

如果你想在两个数组上做 OR,那么一个必须是垂直的,另一个是水平的:

SUM(SUMIFS($D$2:$D$2000;$B$2:$B$2000;{"Århus";"Odense"};$C$2:$C$2000;TRANSPOSE({2;3});$E$2:$E$2000;ABS(I16)))

另请注意,当不同步时,OR 类型的最大值是两个数组。


推荐阅读