| 如下图:要求是按不同的产品名称,不同的规格,不同的工序,求生产数量 
 
  
 思路:
 产品名称可能存在相同的情况下,而规格不同,或者可能名称和规格相同,而工序又不同的情况。
 所以,我们需要把要求的此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+回车键来结束。
 |