Excel 如何在SumProduct中使用非连续单元格范围

Excel 如何在SumProduct中使用非连续单元格范围,excel,excel-formula,Excel,Excel Formula,我有一个带有复选框的文档,用于应用或删除不同产品的流通量(链接图像中的相关数据)。单行将包含不同产品的多个流通量,以及每个产品的复选框。复选框链接到它们所在的单元格,因此会显示真值或假值。我想根据复选框是否被选中(即单元格是否返回TRUE或FALSE),计算单行中的循环量之和 我的解决方案: =SUMPRODUCT(--(O12,S12,W12),(Q12,U12,X12)) 这将返回一个#值!错误,我假设是因为不连续的单元格范围。我的语法有什么问题?我见过一些人用间接()解决了这类问题,但我

我有一个带有复选框的文档,用于应用或删除不同产品的流通量(链接图像中的相关数据)。单行将包含不同产品的多个流通量,以及每个产品的复选框。复选框链接到它们所在的单元格,因此会显示真值或假值。我想根据复选框是否被选中(即单元格是否返回TRUE或FALSE),计算单行中的循环量之和

我的解决方案:

=SUMPRODUCT(--(O12,S12,W12),(Q12,U12,X12))
这将返回一个#值!错误,我假设是因为不连续的单元格范围。我的语法有什么问题?我见过一些人用间接()解决了这类问题,但我甚至不知道从哪里开始

如果有帮助的话,我已经在项目的其他地方使用VBA,所以VBA解决方案对我来说很好

像这样使用CHOOSE():

=SUMPRODUCT(--CHOOSE({1,2,3},O12,S12,W12),CHOOSE({1,2,3},Q12,U12,X12))


但这个公式比较短,可以满足您的要求:

=O12*Q12+S12*U12+W12*X12

这很好用,非常感谢!我以前从未使用过选择函数。请通过单击复选标记来正确地标记标记。