以往,为如何多条件求和而烦恼,总是用辅助列,用SumIf()来解决,不尽人意之处太多太多。查过SUMPRODUCT()函数的使用方法,其解释为“求二个或二个以上数组的乘积之和”,就片面地理解为这与多条件求和无关。今天,为大家精心整理了excel中Sumproduct函数的运用方法(优秀2篇),如果对您有一些参考与帮助,请分享给最好的朋友。
我们以“A1:A10”与“B1:B10”两个组为例,第一个数组各行的值分别为1-10,第二个数组各行的值分别为11-20,如果我们用公式“=SUMPRODUCT((A1:A10)*(B1:B10))”,其结果为935,其计算过程如下图:
现在我们将第一个数组加上条件又会有什么结果呢?如“(A1:A10)=4”之类。我们先来看“=SUMPRODUCT(A1:A10=4)”,其结果为“零”,可能是系统视为缺省为乘以“零”,因此结果为零,如果我们将公式改为“=SUMPRODUCT((A1:A10=4)*1)”,因为A1:A10中有一个4,因此其值为1,如果有两个4,其他值就为2。
现在我们将第一个数组加上条件又会有什么结果呢?如“(A1:A10)=4”之类。我们先来看“=SUMPRODUCT(A1:A10=4)”,其结果为“零”,可能是系统视为缺省为乘以“零”,因此结果为零,如果我们将公式改为“=SUMPRODUCT((A1:A10=4)*1)”,因为A1:A10中有一个4,因此其值为1,如果有两个4,其他值就为2。
如果A1:A10的值不是1-10,而其中有三个4,其他结果又发生了相应的变化,如下图:
这样,SUMPRODUCT条件求和的功能就实现了。
下面是一张单位生产量报表的简版,它主要统计“当日产量”,“当月产量”和“当年产量”,其数据来源于每日的产量记录,如下图:
上面报表查询要求,当用户输入要统计的“年,月,日”(H2、I2、J2)时,就要相应统计出“本日数”,“本月数”,“本年数”,一切基于查询日的数据。
在“本月数”单元格的公式中,我们录入如下公式:
=SUMPRODUCT((A2:A63=DATE(H2,I2,J2))*(B2:B63))
其意义是:统计日期为本日(DATE(H2,I2,J2))的产量数据。
在“本月数”单元格中,我们录入如下公式:
=SUMPRODUCT((YEAR(A2:A63)=H2)*(MONTH(A2:A63)=I2)*(A2:A63<=DATE(H2,I2,J2))*(B2:B63))
这就有一个较为复杂的逻辑界定。
其一,我们统计本月的数据,就要用条件MONTH(A2:A63)=I2)。
其二,我们仅有上面条件不足以统计出正确数据,因为必须要考虑到历史查询情况,就是说,查询日为10日,但是10-31日是有数据的,因此还必须加上如些条件)(A2:A63<=DATE(H2,I2,J2)),就是当月数据还要小于查询日。
其三,有些时候,数据中有一年以上的数据,所以仅有上面两个条件还不行,如查询本月2月,就可能把去年2月的数据也统入其中了,还得加上条件(YEAR(A2:A63)=H2),既“年”等于XX年。
1、查过SUMPRODUCT()函数的使用方法,其解释为在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。按我个人解释就是两个以上的数组乘积之和。
其语法格式为SUMPRODUCT(array1, [array2], [array3],…),其中每个array都表示一个数组,array个数不超过255个。
2、以下面这个表格为例应用该函数,输入公式=SUMPRODUCT(A2:A8,B2:B8)
3、结果是168,那么这个值是怎么来的呢,代表什么意思?
4、我们通过函数解释验证看看,所以将数据1和数据2两列数组分别相乘,最后相加。
5、看到结果是168,与sumproduct函数求的结果一致,也与函数解释一致。到此我们大体理解了该函数的运算原理。
6、上面的函数解释以及举例已经将函数的一个功能——乘积求和展示给了大家。
条件计数
1、sumproduct函数也可以进行计数,我们以下面这个例子演示用法。
2、我们在E2单元格输入公式=SUMPRODUCT((A2:A10="二班")*(B2:B10="数学")),表示同时满足二班和数学这两个条件的情况有几个,也就是进行条件计数。
3、结果是1,确实无误。
4、其原理是
((A2:A10="二班"),就是数组中各行的值如果是二班,就是“真”,否则,就是“假”,“真”对应值为1,“假”对应值为0,当有这个条件表达后,A2:A10的值是“0,0,0,1,1,1,0,0,0”。(B2:B10="数学"),就是数组中各行的值如果是数学,就是“真”,否则,就是“假”,“真”对应值为1,“假”对应值为0,值是“0,1,0,0,1,0,0,1,0”。 这两个经过变换后的数组乘积之和就是1。
条件求和
1、以下面实例用sumproduct函数进行条件求和。
2、在E2单元格输入公式=SUMPRODUCT((A2:A10="二班")*(B2:B10="数学")*(C2:C10)),表示满足A列是二班,B列是数学的时候,求均分,结果正确。
3、在E4单元格输入公式=SUMPRODUCT((B2:B10="数学")*(C2:C10)),表示满足B列是数学的时的均分之和。
4、验证看到三个班数学均分之和是245.。