博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Excel公式扫盲——SUMPRODUCT 函数
阅读量:2034 次
发布时间:2019-04-28

本文共 1377 字,大约阅读时间需要 4 分钟。

说明

在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。

语法

SUMPRODUCT(array1, [array2], [array3], ...)

SUMPRODUCT 函数语法具有下列:

  • Array1    必需。 其相应元素需要进行相乘并求和的第一个数组参数。
  • Array2, array3,...    可选。 2 到 255 个数组参数,其相应元素需要进行相乘并求和。

说明

  • 数组参数必须具有相同的维数。 否则,函数 SUMPRODUCT 将返回 #VALUE! 错误值 #REF!。
  • 函数 SUMPRODUCT 将非数值型的数组元素作为 0 处理

实际应用:求月度销售总额。

以前的方法是单个相乘,然后SUM函数一拉得到结果。

现在我们用SUMPRODUCT函数来计算的话,只需要分别选中单价列数值以及数量列数值两个序列即可。

=SUMPRODUCT(D3:D11,E3:E11)       --  注意序列与序列之间用逗号分隔,序列的维数必须相同。

其实SUMPRODUCT函数最大的用处并非在于此,下面我们用一个更为实用的例子来说明。

比如有一批数据,我们要找出其中的重复项目,直白理解就是根据多个条件列找到相同的记录。

这个时候用别的函数的话稍微有点绕,但是用SUMPRODUCT函数一个就可搞定。

班级列:选中A2:A12序列,按下F4区域锁定,然后让其等于A2;

姓名列:选中B2:B12序列,按下F4区域锁定,然后让其等于B2;

学号列:选中C2:C12序列,按下F4区域锁定,然后让其等于C2;

然后我们用乘号连接,可以得到如下结果:

我们可以发现重复的记录显示2,不重复的均显示1,可以用IF函数改造一下进行显示。

那么问题来了,这个2和1是怎么算出来的呢?

我们不妨选中公式第一个括号的内容,键盘按下F9,如下图所示:

以此类推:它是以True和False的方式来显示的。

以第一行为例:

班级:{TRUE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE}

姓名:{TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}

学号:{TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}

其中TRUE = 1,FALSE = 0,TRUE*TRUE*TRUE = 1,TRUE*FALSE*FALSE= 0.

然后第一行的最后结果是1+0+0+0+0+0+0+0+0+0+0 = 1。

再看第二行:

班级:{TRUE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE}

姓名:{FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE}

学号:{FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE}

第二行的结果为:0+1+0+0+0+1+0+0+0+0+0 = 2。

 

明白之后就请记住这个可怜的函数吧!

 

你可能感兴趣的文章
maven-jar-plugin 排除不想打包的目录文件内容
查看>>
feign.FeignException: status 404 reading xxService#xxmethod(Integer)
查看>>
唯品会后端架构部分内容分享(一) ( 20180613 by flyer)
查看>>
Spring Cloud Zuul实现动态路由
查看>>
zuul动态路由支持的路径格式及扩展性测试
查看>>
linux服务器校对时间方法
查看>>
rocketMQ 消息查询(id,key) 运维命令以及java API的用法
查看>>
RocketMQ学习(五):Pull和Push (important)
查看>>
Linux下查看系统启动时间和运行时间
查看>>
数据处理过慢的问题分析(涉及插入查询)
查看>>
JVM线程状态,park, wait, sleep, interrupt, yeild 对比
查看>>
java.lang.Thread.State:WAITING(parking)
查看>>
Dubbo 和 Spring Cloud 微服务架构到底孰优孰劣?
查看>>
swagger默认访问地址
查看>>
redis-desktop-manager 的简单使用
查看>>
python+Eclipse+pydev环境搭建
查看>>
python2.7安装paramiko 出现import winrandom importerror
查看>>
redis cluster 集群的一些操作命令
查看>>
redis cluster 全部宕机后重启会自动恢复集群状态
查看>>
python 一篇搞定所有的异常处理
查看>>