SUMPRODUCT和SUMIFS是Excel的两个最强大的函数,用于从表中返回过滤的数据。SUMPRODUCT功能更强大,但SUMIFS更快。您可以在我的Excel帮助区域中了解有关SUMPRODUCT和SUMIFS的更多信息。不幸的是,Microsoft的有关SUMPRODUCT的文档缺少关键信息: SUMPRODUCT实际上有两种语法方法,而不仅仅是Microsoft描述的一种方法。
SUMPRODUCT和SUMIFS是Excel的两个最强大的函数,用于从表中返回过滤的数据。SUMPRODUCT功能更强大,但SUMIFS更快。您可以在我的Excel帮助区域中了解有关SUMPRODUCT和SUMIFS的更多信息。不幸的是,Microsoft的有关SUMPRODUCT的文档缺少关键信息: SUMPRODUCT实际上有两种语法方法,而不仅仅是Microsoft描述的一种方法。
SUMPRODUCT将数组相乘,然后将结果相加。使用方法1(这是Microsoft的方法),每个数组都放置在单独的SUMPRODUCT参数中。但是,使用方法2(我一直使用的方法)时,您会在第一个参数内显式地乘以每个数组。为了显示:
方法1:SUMPRODUCT(array1,[array2],…)
方法2:SUMPRODUCT(array1 * [array2] * …)要查看方法1的问题,假设其中一个数组是由类似SKUs =“ A43-1”的测试生成的。无论SKU列中的项目等于“ A43-1”,该测试都会生成一个TRUE值数组,否则将生成FALSE值。但是Excel不能使用方法1将这些TRUE和FALSE值相乘。相反,您必须通过添加零或乘以1将它们转换为1或0值。如果您希望SKU为A43-1的所有产品的销售额,您可以在方法1下使用这些公式之一:
= SUMPRODUCT((SKUs =“ A43-1”)+ 0,Sales)
= SUMPRODUCT((SKUs =“ A43-1”)* 1,销售)另一方面,使用方法2会自动将TRUE和FALSE转换为1和0,如下所示:= SUMPRODUCT((SKUs =“ A43-1”)*销售)如果您直到现在还没有发现SUMPRODUCT的方法2,可以尝试一下。