首页 > 解决方案 > Google 表格:Arrayforumla 作为 sumif 中的 sum_range 参数引发错误

问题描述

示例截图

我想通过使用 arrayformula 返回的范围在 sumif -formulasum_range定义但它给了我一个错误,而不是承认它是一个范围。但是,对条件范围使用数组公式是可行的。

这有效:

=sumif(
   ARRAYFORMULA({B1;C3;D5}),TRUE,
   A7:A9
)

这不会:

=sumif(
  ARRAYFORMULA({B1;C3;D5}),TRUE,
  ARRAYFORMULA({A1;B3;C5})
)

我在这里做错了我看不到的事情还是不可能?也许还有另一种聪明的方法来做到这一点..?

标签: google-sheetsarray-formulas

解决方案


为什么不使用

=sumif(B1:B3, "TRUE", A1:A3)

甚至

=sumproduct(B1:B3, A1:A3)

反而 ?

如果您真的需要使用内联数组,这应该可以

=sumproduct({B1, B2, B3}, {A1, A2, A3})

布尔到数字转换

SUMPRODUCT将自动将布尔值转换为数字,所以TRUE=1FALSE=0. 如果不是,则公式要求这是手动操作。您可以利用N()公式手动将布尔值转换为数字。

参考

N()

和积()


推荐阅读