Excel情报局
Excel职场联盟
生产挖掘分享Excel基础技能
Excel爱好者大本营
用1%的Excel基础搞定99%的职场问题
做一个超级实用的Excel公众号
Excel是门手艺玩转需要勇气
数万Excel爱好者聚集地
SUPER EXCEL MAN
1
职场实例
如下图所示:
Excel横向有多个“数量”和“单价”,如何在H列批量求出合计总金额呢?
2
假如你不怕公式太长
其实这个问题呢,不是一个很难的问题。我们完全可以通过普通的“先相乘后相加”的方法做出来。但问题是:假设横向存在100个“数量”和“单价”,那么我们得到的公式就像火车一样,非常的长,显得我们处理问题的能力很LOW,如果大家觉得不怕公式很长,完全可以用下面这种简答常规的方式处理:
在H3单元格输入公式:(假设横向存在100个“数量”和“单价”)
=B3*C3+D3*E3+F3*G3
3
简约万能公式
我们在H3单元格输入简约公式:
=SUMPRODUCT(B3:F3*(B$2:F$2="数量")*C3:G3)
下拉填充公式即可得到全部的结果。
这种方法的好处就是:
无论Excel横向有多少个“数量”和“单价”,我们都不用担心,反正我们的公式就这么长,不会再增加了,这才是职场老炮的做法。
4
函数简介
Sumproduct函数简介:
功能:返回相应的数组区域乘积的和。
语法:
=Sumproduct(数组或单元格引用1,数组或单元格引用2……数组或单元格引用N)
注意事项:
1、如果SUMPRODUCT函数具有多个参数数组,这些数组之间必需具有相同的维数,否则SUMPRODUCT将返回#VALUE!错误值REF!
2、函数Sumproduct将非数据类型的元素作为0处理。
当两个条件同时成立时,返回True,即1,其中一个或两个都不成立时,返回False,即0。
5
函数解析
我们逐个将SUMPRODUCT函数中的三个部分通过键盘上的F9键进行计算结果的显示,来观察一下是什么意思,然后用脑子和心去理解。
①选中公式中的“B3:F3”部分,按键盘上的F9键,进行结果显示:
=SUMPRODUCT({30,1900,20,800,10}*(B$2:F$2="数量")*C3:G3)
B3:F3被转换为{30,1900,20,800,10}
②选中公式中的“(B$2:F$2="数量")”部分,
按键盘上的F9键,进行结果显示:
=SUMPRODUCT({30,1900,20,800,10}*{TRUE,FALSE,TRUE,FALSE,TRUE}*C3:G3)
(B$2:F$2="数量")被转换为{TRUE,FALSE,TRUE,FALSE,TRUE}
首先判断B$2:F$2="数量"条件是否成立,如果成立,则返回True,即1,否则返回False,,即0。
③选中公式中的“C3:G3”部分,按键盘上的F9键,进行结果显示:
=SUMPRODUCT({30,1900,20,800,10}*{TRUE,FALSE,TRUE,FALSE,TRUE}*{1900,20,800,10,600})
C3:G3被转换为{1900,20,800,10,600})
最后得到全部计算结果展开的后的长公式:
=SUMPRODUCT({30,1900,20,800,10}*{TRUE,FALSE,TRUE,FALSE,TRUE}*{1900,20,800,10,600})
①其中:
{30,1900,20,800,10}*{TRUE,FALSE,TRUE,FALSE,TRUE}
运算原理为:
{30*1+1900*0+20*1+800*0+10*1}={30,0,20,0,10}
TRUE代表为1,FALSE代表为0
②其中:
=SUMPRODUCT({30,0,20,0,10}*{1900,20,800,10,600}
运算原理为:
{30*1900+0*20+20*800+0*10+10*600}={57000,0,16000,0,6000})
③其中:
{57000,0,16000,0,6000}
运算原理为:
57000+0+16000+0+6000=79000
阅读完文章之后,希望小伙伴们在文章底部帮助小编[点赞]+点亮[在看];如果觉得内容有价值欢迎[分享]给你的同事朋友;小编也和大家一样,正在不断的学习与积累中,坚持持续分享的道路上很艰辛,需要有你们的鼓励与支持!每一分收获就藏在每一分耕耘里,多学一个Excel小知识点,会让你在职场中多一分底气和自信。