Excel横向有N个“数量”和“单价”,如何批量求出合计金额?





老师,Excel横向有N个“数量”和“单价”,如何批量求出合计金额?


这个我知道,只是这样公式很长的!


具体怎么写公式呢?

如下图所示:
Excel横向有多个“数量”和“单价”,如何在H列批量求出合计总金额呢?

其实这个问题呢,不是一个很难的问题。我们完全可以通过普通的“先相乘后相加”的方法做出来。但问题是:假设横向存在100个“数量”和“单价”,那么我们得到的公式就像火车一样,非常的长,显得我们处理问题的能力很LOW,如果大家觉得不怕公式很长,完全可以用下面这种简答常规的方式处理:
在H3单元格输入公式:(假设横向存在100个“数量”和“单价”)
=B3*C3+D3*E3+F3*G3我们在H3单元格输入简约公式:
=SUMPRODUCT(B3:F3*(B$2:F$2="数量")*C3:G3)下拉填充公式即可得到全部的结果。
这种方法的好处就是:
无论Excel横向有多少个“数量”和“单价”,我们都不用担心,反正我们的公式就这么长,不会再增加了,这才是职场老炮的做法。

Sumproduct函数简介:
功能:返回相应的数组区域乘积的和。
语法:
=Sumproduct(数组或单元格引用1,数组或单元格引用2……数组或单元格引用N)
注意事项:
1、如果SUMPRODUCT函数具有多个参数数组,这些数组之间必需具有相同的维数,否则SUMPRODUCT将返回#VALUE!错误值REF!
2、函数Sumproduct将非数据类型的元素作为0处理。
当两个条件同时成立时,返回True,即1,其中一个或两个都不成立时,返回False,即0。
我们逐个将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



