我要投稿 | RSS
您当前的位置:首页 > Excel公式

【excel实例】:按不同的产品名称,不同的规格,不同的工序,求生产数量

作者:韩志华      来源:原创
如下图:要求是按不同的产品名称,不同的规格,不同的工序,求生产数量



思路:
产品名称可能存在相同的情况下,而规格不同,或者可能名称和规格相同,而工序又不同的情况。
所以,我们需要把要求的此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+回车键来结束。
来顶一下
返回首页
返回首页
推荐资讯
{SUM函数}:计算单元格区域中所有数值的和
{SUM函数}:计算单元
LEFT函数:从一个文本字符串的第一个字符开始返回指定个数的字符
LEFT函数:从一个文本
MID函数:从文本字符串中指定的起始位置起返回指定长度的字符
MID函数:从文本字符
column函数:返回一引用的列号
column函数:返回一引
扫一扫微信二维码,联系作者:韩志华
相关文章
    无相关信息
栏目更新
栏目热门