如下图:要求是按不同的产品名称,不同的规格,不同的工序,求生产数量
思路: 产品名称可能存在相同的情况下,而规格不同,或者可能名称和规格相同,而工序又不同的情况。 所以,我们需要把要求的此3个条件,进行统一,然后再把相同的进行求和就可以了。
那么,我们可以把3个条件合并到一起,然后再通过数据透视表,再求和。
对求和后的内容再进行分列就可以了。
那我们来看gif动画演示:
A3单元格公式: =B3&"-"&C3&"_"&E3
解释: gif动画刚开始演示的公式 =B3&C3&E3 本身就可以实现把B列,C列和E列的内容合并至一起。 但为何又更改为了:
=B3&"-"&C3&"_"&E3
加了一个中连接线,加了一个下连接线。这里的目的,是为了便于后续数据透视表后的拆分
中连线前面的部分就是B列的内容,中连接线和下连接线中间的部分就C列的内容,而下连接线后面的部分就是E列的内容。
第二步:通过生成的辅助列和要求求和的列,使用数据透视表来进行汇总。
gif动画演示操作:
数据透视表操作步骤:
第一,选择要处理的数据的区域
第二,点击菜单,插入,透视表,一般选择新表,点击确认。
第三,拖拉辅助列行位置,把求和的生产数量拖拉至值位置就可以了。
第四,在数据的位置右键,确认数据透视表计算的是条数,还是求和。
第三步,把数据透视表处理的内容,复制并粘贴至新表,保留3列位置,用于分出产品名称,规格和工序。
来看gif动画演示操作。
A3单元格公式: =LEFT(D3,FIND("-",D3)-1) 解释: 查找到中连接线的位置,获取此位置前的内容
B3单元格公式: =MID(D3,FIND("-",D3)+1,FIND("_",D3)-FIND("-",D3)-1) 解释: 获取中连接线至下连接符中间的内容
C3单元格公式: =RIGHT(D3,LEN(D3)-FIND("_",D3)) 解释: 获取下连接符后面部分的内容
此步骤,也可以使用vlookup来进行获取产品名称,规格和工序,可以以合并后的辅助列为查找对象,查找原始表中辅助列所对应的列所在的位置就可以了。
方法二:
我们在辅助列前面,再插入一个序号列,来获取到所有不同的辅助列。
此gif动画演示中,A3单元格公式: =IFERROR(VLOOKUP(B3,$B$2:B2,1,0),MAX($A$2:A2)+1)
解释: 在B列中查找此行前B列是否有此值,如果有,则显示,如果没有,就是A列数值最大的值中循环+1
获得了不同的产品名称,不同的规格,不同的工序以及他们所对应所在的行。那接下来,我们到要输出结果的位置,以序号为标准,来搜索引用他们的名称,规格,工序。
再使用sum和if的复合来求出数量就可以了。来看gif动画效果:
H3单元格公式 =VLOOKUP(G3,A:F,3,0)
I3单元格公式: =VLOOKUP(G3,A:F,4,0)
J3单元格公式 =VLOOKUP(G3,A:F,6,0)
所不同的,只有里面的数字,表示的含义是搜索A到F列,对应的第3列,第4列,第6列的值。
而K3单元格公式: =SUM(IF(H3=C:C,IF(I3=D:D,IF(J3=F:F,E:E))))
就是多条件求和,因为是数组,需要使用ctrl+shift+回车键来结束。
|