excel函数公式sumproduct拆分讲解(Excel函数篇-SUMPRODUCT函数从入门到精通)
excel函数公式sumproduct拆分讲解(Excel函数篇-SUMPRODUCT函数从入门到精通)那是因为,B2:B13这给数组包含了12个数据,而C2:C12仅包含了11个数据,那么最终的结果就是报错。很多小伙伴们用这个函数的时候,经常会得到错误值,大多数是因为区域的大小选择不一致。如果把上面的例子。公式变成=SUMPRODUCT(B2:B13 C2:C12) 那么得出的结果就是:1.简单的例子,说明一下SUMPRODUCT函数的用法。上图是一个非常简单的表格,要算出销售的总额,只需要 销售单价*销售数量就可以。合计再用SUM函数,汇总一下销售总额。结果就如D14所示,如果用SUMPRODUCT函数,就可以直接利用销售单价和销售数量直接计算出总价。具体公式为:=SUMPRODUCT(B2:B13 C2:C13)。结果如D15所示。2:大多数错误的原因
之前的文章,按年度、月度统计,用上了SUMPRODUCT函数,今天就来好好的剖析一下这给函数。
年底了按月度,年度汇总用只用函数就可轻松解决
SUMPRODUCT函数是在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。语法如下:SUMPRODUCT(array1 [array2] [array3] ...)
其中array1 是必须的参数,[array2] [array3] ...为可选参数。
1.简单的例子,说明一下SUMPRODUCT函数的用法。
上图是一个非常简单的表格,要算出销售的总额,只需要 销售单价*销售数量就可以。合计再用SUM函数,汇总一下销售总额。结果就如D14所示,如果用SUMPRODUCT函数,就可以直接利用销售单价和销售数量直接计算出总价。具体公式为:=SUMPRODUCT(B2:B13 C2:C13)。结果如D15所示。
2:大多数错误的原因
很多小伙伴们用这个函数的时候,经常会得到错误值,大多数是因为区域的大小选择不一致。如果把上面的例子。公式变成=SUMPRODUCT(B2:B13 C2:C12) 那么得出的结果就是:
那是因为,B2:B13这给数组包含了12个数据,而C2:C12仅包含了11个数据,那么最终的结果就是报错。
3:另外一种常见的写法,逗号( )变乘号(*)
就本篇列举的例子来说,如果=SUMPRODUCT(B2:B13 C2:C13)变成=SUMPRODUCT(B2:B13*C2:C13)可以看到计算的结果是一致的。那么就会带来一给新的问题,他们有什么区别?
4:逗号( )变乘号(*)的差别
虽然只是将公式里的逗号变成了乘号,但是公式的意义发生了变化。第一个公式=SUMPRODUCT(B2:B13 C2:C13)有两个参数。而第二个公式=SUMPRODUCT(B2:B13*C2:C13)只有一个参数。(判断有几个参数,就看是否用逗号去分割开)。第一个公式中,两个区域相乘这一步是由函数来完成的,函数做了两件事,先让两个区域的数据对应相乘,再把乘积相加。在第二个公式中,两个区域相乘是由数组计算来完成的,函数只做了一件事,就是把乘积值相加。
那么意义何在呢?
我们还是通过例子来说明。
在上图这个公式中用的是逗号(,),有两个独立的参数。SUMPRODUCT函数首先让两组数据对应相乘,相乘的时候会检查数据并把非数值型数据作为0处理,然后再把乘积相加。因此,B1"销售单价"和C1"销售数量"会当成0来处理,公式可以得到正确结果。
当我们把逗号换成*号后,公式结果错误。为什么呢?SUMPRODUCT函数这时只负责把乘积相加。参数B1:B13*C1:C13是数组乘法运算,因为计算的区域中包含了文字(文字是不能进行乘法运算的),所以在这个数组的计算结果里就有错误值了。
5:SUMPRODUCT用乘号(*)的要点
以上内容所要表达的意思有两点:
第一、使用逗号和使用乘号(*)有时候结果相同,但是意义完全不一样,希望大家可以理解。
第二、SUMPRODUCT函数使用乘号(*)必须要注意两点:1.不能存在无法计算的内容,如文字。2,如果是两组或多组数组相乘的话,数据区域大小一致。用逗号则只需要保证数据区域大小一致即可。
6.其实i乘号(*)还带来了更大的优势
我们把SUMPRODUCT函数逗号、乘号前后的数据用A、B来代替,表达为SUMPRODUCT (A,B)和SUMPRODUCT (A*B)。当为逗号时,A、B必须同时都是数值或者数组,不能一个是数值,一个是数组;当为乘号时,A、B可以同时都是数值或者数组,也可以一个是数值一个是数组。以下SUMPRODUCT函数都是正确的格式。SUMPRODUCT (C1 B1);SUMPRODUCT (C1*B1);SUMPRODUCT (C1:C9 D1:D9),SUMPRODUCT (C1:C9*D1:D9),SUMPRODUCT (C1:C9*D1),因此,用乘号扩大了SUMPRODUCT函数的应用。你即将在下面看到的都是用SUMPRODUCT函数用乘号(*)的应用。
7:看得懂这些SUMPRODUCT公式吗?
如果明白了上面的内容,说明对于这个函数的基本用法是没问题了。可是很可能很多SUMPRODUCT公式你还是看不懂,比如这种:
这实际上是一个条件计数的问题,再看这个:
这是一个多条件求和问题。
在这几个表,几乎各种 统计问题都可以用SUMPRODUCT函数去解决,不再一一列举。仅仅是上面连个例子,加上之前案例里面使用的SUMPRODUCT函数,希望各个小伙伴,都能理解并能运用。
如果你还不能完全理解SUMPRODUCT函数的用法,原因就是你还不了解这两个知识点:逻辑值和数组。
8。了解一点逻辑值和数组。
先来说说逻辑值,逻辑值只有两个,就是TRUE和FALSE。当我们再公式里面进行某种比较或这判断的时候,就会产生逻辑值,以=SUMPRODUCT((A2:A13="张三")*1)为例,其中,A2:A13="张三"就是一个判断。通常情况下,我们以单元格去做判断。A2="张三"的意思就是判断A2单元格内容是否为"张三"。如果是则得到TRUE,反之得到FALSE。当我们使用了一个区域去判断的时候,就会得到一组数据,这其实就是一个数组。例如A2:A13="张三"就会得到一组逻辑值,可以用F9来看看计算结果。
因为逻辑值无法直接进行求和,必须转换为数字才行,转换的方法就是对逻辑值进行加减乘除之一的任何运算即可。在这给公式中,*1就是这给作用。可以看看效果。
通过*1运算之后,TRUE都变成了1,而FALSE都变成了0。不要问我为什么,Excel就是这么规定的,逻辑值与数字的对应关系就是这个。
好了,我们首先得到一组逻辑值,然后通过*1变成一组数字,再进行求和,就达到了按条件计数的目的。你现在是否已经理解了=SUMPRODUCT((A2:A13="张三")*1)这个公式呢?现在我们了解到逻辑值,也明白了数组运算的第一个原则:当一组数与一个数进行计算时,是这组数中的每个数据分别与这一个数进行计算。刚才的公式中就是这样计算的。
私信 1217 可以获取VBA FOR WPS的安装程序
私信 数据 可以获取SQL代码的Excel文件
私信 视频 可以获取80集VBA入门视频