知乎上有个题目:EXCEL 有很多数据,需要统计,大家可以指点一下吗?
客户下了订单(只有总台数),我需要把每个机种里面涉及的零件,以及每个 机种里面涉及不同的零件 以及 用量。
各机型对应零件用量
题目分析
实际上这个相当于一种BOM表了,上面是产品名称,下面是各个产品的构成部分,还有构成比例。
我看了他的图片。图片中用了好多个乘法,然后相加的公式。
我分析了下,上半截的表格纵向有9个,下半截左边横向也有9个数据,如果把上下都看成一个数组,那么这两个数组的而个数一样多。这样的话可以使用SUMPRODUCT函数。
于是我做了一个数据表格:
述(最多18字下面是解题
首先在E8单元格输入公式:=SUMPRODUCT(TRANSPOSE($B$8:$D$8),(B2:B4)) 然后按着ctrl、shift、enter三个键,让结果显示出来。如果不同时按下这三个键的话,结果是错误的,显示#value!

填充后如下:
=SUMPRODUCT(TRANSPOSE(B8:D8),($B$2:$B$4)

再修改下F8和G8的公式的引用:
=SUMPRODUCT(TRANSPOSE(B8:D8),($C$2:$C$4))
=SUMPRODUCT(TRANSPOSE(B8:D8),($D$2:$D$4))
按下三个键后,向下填充。
在知乎上,开始我犯了个错,没有用转置函数。这样出现计算错误。经过知友的提醒才发现。还是挺感谢知友的,又学会了一个新的知识点。
经过我追踪sumproduct,横向的数据元素,中间是用,表示的,不是用;表示的。横向引用数据就会出现下图中的问题:

只有通过转置函数,把横向的转为纵向的,才能解决问题。
转置的第一步:

转置的第二步:这个时候已经把不转置时候的,变为了;

转置的第三步:两个数组元素都用;隔开了。

通过这个跟踪,我发现sumproduct必须纵向的数据元素,才能直接相乘求和。如果有横向的数据的话,会用横向的每一个单元格的数据先分别和纵向数据相乘,得到一组数据,这样3*3的数据,运算后就有3大组,9个元素了。
