Excel SUMIF,条件在数组中

Excel SUMIF where criteria is in array

是否可以对条件不在数组中的范围进行 SUMIF?

例如,我在 A 列中有一个名称列表,在 B 列中有相应的值。我已经为要从结果中排除的那些名称创建了一个命名范围 (rngExcludedNames)。我尝试了以下但没有成功:

=SUMIF(Sheet1!A1:A100,COUNTIF(rngExcludedNames,Sheet1!A1:A100)<1,Sheet1!B1:B100)

有什么建议吗?

你很接近,SUMPRODUCT() 会更合适。

使用这个公式:

=SUMPRODUCT((COUNTIF(rngExcludedNames,Sheet1!$A:$A0)=0)*(Sheet1!$B:$B0))

SUMPRODUCT() 是一个数组公式。当它遍历范围时,在本例中是 Sheet1 上的两个范围,它会根据条件范围 rngExcludedNames 测试每个范围。

所以它有效地运行了 countIf 100 次,每次在第二个标准中都有不同的单元格。如果它 returns 0 为真且 returns 1。我们将 B 列中的值乘以与 A 列迭代的同一行。1 * value = value 和 0 * value = 0. 迭代时对每个结果求和。