经常性的在公式中会用到sumproduct(()*())与sumproduct((),())这样两种方法,但是却不是很能理解其中乘号跟逗号的区别,为什么有时候用逗号结果正确,用乘号却是错误?
一般情况下,sumproduct函数中各个参数之间使用逗号或者乘号效果是一样的,但是,有种特殊的情况需要留意,数据源中存在一些特殊数据的时候,可能会无法计算 。
文章插图
文章插图
在使用乘号的情况之下,sumproduct函数不会自动将文本做0处理,所以F3单元格无法得到正确的结果:300 。
文章插图
我们先来理解一下这个公式;
①判断A2:A8区域的值,是否等于F2单元格,返回TRUE/FALSE;
②判断B2:B8区域的值,是否等于G2单元格,返回TRUE/FALSE;
③然后再通过返回的逻辑值相乘得出结果 。
判断A2:A8区域的值与判断B2:B8区域的值,会返回{0;0;1;0;0;0;0},如下图所示 。
文章插图
那么,回到最初的问题,对于数据源有字母、文本之类的特殊内容 。为什么各参数之间用乘号是错的,用逗号就能返回正确的结果?
首先,我们来看看sumproduct用乘号的运算过程,
文章插图
为什么使用乘号得到结果返回#!Value,原因出在sumproduct函数不直接支持逻辑值 。因为sumproduct函数是数组运算,所以他的要求比较严格,不至于像其他函数一样,可以将逻辑值做0与1处理,所以他认识的TRUE与FALSE叫做文本 。sumproduct函数把X这个值与前面的数值相乘,这样的结果是#!VALUE,而公式中有错误,sumproduct就返回错误 。
那么,sumproduct函数中用逗号的运算方式,就有点不一样了,各参数相乘再相加,如公式=sumproduct({0,0,1,0,0,0,0},{100,200,300,400,0,600,700}),是先相乘0*100,0*200,1*300,0*400,0*0,0*600,0*700,再相加0+0+300+0+0+0+0,结果为300,如下图所示 。
文章插图
【乘号在word怎么打出来 乘号】而用逗号时,sumproduct函数就发挥了其特性,sumproduct函数将非数值型的数组元素作为0处理 。这时X变成了0,所以结果是对的 。所以使用逗号时,函数的容错能力更强 。
关于公式中逗号和乘号的用法,相信大家看了本篇教程已经有所启发,转发和点赞本篇文章,给小编鼓励支持下吧!
如您遇到任何问题,可以在评论区留言哦~
秒懂生活扩展阅读
- 华为mate30无线投屏怎么用
- 电费什么时候出账单
- 电脑更换系统以前的东西还在吗
- 空气中氧气含量在一天中的变化
- 女生如何瘦腿
- 为什么现在基金都不分红了
- 最新韩剧在哪个app看 最新韩剧
- 庐山和鄱阳湖分别在江西哪个位置
- 书法中挑和提有什么不同
- 盘州|在迥异的秋色中,品读秋的韵味斑斓