计数与求和于一身的SUMPRODUCT函数(一)

时间:2023-10-07 18:48:50 

1  为什么要使用SUMPRODUCT函数?

不论是COUNTIF函数、COUNTIFS函数,还是SUMIF函数、SUMIFS函数,在进行判断时,工作表必须存在这样的判断区域,否则这几个函数是不能使用的。但是,在实际工作中,原始数据往往是各种各样的,条件隐含在数据中的情况比比皆是。

下图就是这样的一种情况。工作表左边的4列是原始数据,右侧是需要做的汇总报表,按照产品类别和月份进行汇总。

计数与求和于一身的SUMPRODUCT函数(一)

在这个表单数据中,并没有单独的一列来保存产品类别,也没有单独的一列来保存月份(尽管名义上A列是日期,但不是真正的日期),因此,如果要使用SUMIFS函数来求和的话,就必须把C列产品编码的左两位所代表的产品类别分离出来单独保存在一列里,把A列数据中间两位数字取出来转换为月份单独保存另外一列里,这样的操作显然违背了高效数据分析的基本原则。那么,我们能不能在不使用辅助列的情况下,使用一个综合公式来解决呢?答案是肯定的,就是使用SUMPRODUCT函数。

2、SUMPRODUCT函数基本原理

SUMPRODUCT的功能是对多个数组的各个对应的元素进行相乘,然后再把这些乘积相加,语法如下:

=SUMPRODUCT(数组1,数组2,数组3,……)

顾名思义,从函数名字上理解,SUMPRODUCR= SUM + PRODUCT。

在使用这个函数时,要牢记以下重要的两点:

各个数组必须具有相同的维数。

非数值型的数组元素是作为0处理的。例如,逻辑值TRUE和FALSE都被处理成0了,为了把TRUE还原成数字1,把FALSE还原为数字0,可以把它们都乘以1:TRUE*1,FALSE*1)。

下面我们结合2个示例,来解释SUMPRODUCT函数的基本原理和用法。

示例1

下图是一个各个产品销售单价、销售量和折扣率的数据,现在要求计算所有产品的销售总额、折扣额、销售净额。

计数与求和于一身的SUMPRODUCT函数(一)

对于这样的问题,很多人会采用这样的做法:在数据区域的右侧插入2个辅助列,分别计算出每个产品的销售额和折扣额,再使用SUM函数求和。

这里,每个产品的销售额就是每个产品单价和销售量相乘的结果,也就是B列的单价与C列销售量相乘;每个产品的折扣额就是每个产品单价、销售量和折扣率相乘的结果,也就是B列的单价与C列销售量以及D列折扣率相乘的结果。

这种先把几列(或者几行)数据分别相乘,然后再把这些乘积相加的计算问题,Excel给我们提供了一个非常有用的函数:SUMPRODUCT函数。

在这个例子中,利用SUMPRODUCT函数计算所有产品的销售总额、折扣额、销售净额的公式分别如下:

销售总额:

=SUMPRODUCT(B2:B9,C2:C9)

折扣额:

=SUMPRODUCT(B2:B9,C2:C9,D2:D9)

销售净额:

=SUMPRODUCT(B2:B9,C2:C9,1-D2:D9)

示例2

下图是一个评分表,有5个评价指标,每个指标的权重是不同的,现在要计算每个人的评分,而这些评分就是每个指标分数与指标权重相乘相加的合计数,也就是数学中的,那么,计算公式如下。

=SUMPRODUCT($B$2:$F$2,B5:F5)

计数与求和于一身的SUMPRODUCT函数(一)

SUMPRODUCT可以替代COUNT、COUNTA、COUNTBLANK、COUNTIF、COUNTIFS、SUMIF、SUMIFS等函数,其原理就是使用条件表达式构建只有数字0和1组成的数组,然后将这个数组中的所有数字1和0相加,就是满足条件的单元格个数;将这些只有数字0和1的数组与实际求和区域的每个单元格数据相乘相加,就得到满足条件的合计数。

但是,条件表达式的结果是两个逻辑值TRUE和FALSE,而SUMPRODUCT会把这两个逻辑值都当做0处理,因此,需要将条件表达式乘以数字1,或者除以数字1,或者输入两个负号,以使其转换为数字1和0。

标签:sum,SUMIF,sumifs,SUMIF函数,Excel函数
0
投稿

猜你喜欢

  • 格来云游戏任务得的svip卡使用方法

    2023-01-05 14:15:21
  • Win10的USB供电不足怎么办?解决USB供电不足的小方法

    2022-01-24 07:38:36
  • word进行缩印的方法?

    2022-01-14 18:55:40
  • win7无网络适配器的处理方法

    2023-05-03 01:17:30
  • 安卓手机如何拍摄抖音动漫大头特效?

    2023-11-01 23:01:33
  • 在 Mac 上的“照片”中如何更改文件的储存位置?

    2023-01-07 05:08:48
  • Win11如何查看TPM2.0模块?Win11查看TPM2.0模块方法

    2022-11-02 11:24:43
  • 驱动人生检测不到键盘驱动_驱动人生检测不到键盘驱动解决方法

    2023-02-02 19:55:34
  • 压缩PPT中图片大小的方法

    2023-11-06 02:10:06
  • 苹果 macOS Monterey 将支持一键恢复出厂设置,无需重装系统

    2023-09-30 22:28:48
  • WPS 2009跨文档操作技巧

    2023-04-12 03:27:12
  • PowerPoint如何随意裁剪图像

    2023-02-11 03:50:39
  • 如何在Excel表格中合并姓名?Excel表格中合并姓名方法

    2022-09-02 01:12:29
  • Win10麦克风被禁用了怎么办?Win10麦克风被禁用了开启方法

    2023-01-13 12:03:39
  • 如何使用office生成PDF文件

    2023-10-14 16:26:43
  • Word2013大小写字母相互替换的方法

    2022-07-28 21:11:01
  • 微信怎么更换手机号码?微信换绑手机号办法

    2022-08-02 17:25:17
  • Win10 20H1预览版18912官方ISO镜像下载

    2022-04-23 18:09:49
  • win10 2345安全卫士怎么卸载?2345安全卫士的卸载方法

    2022-03-04 04:51:47
  • iOS 端「英雄联盟」手游如何预约测试资格?

    2023-10-27 18:43:53
  • asp之家 电脑教程 m.aspxhome.com