Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1978|回复: 5

[已解决][求助]

[复制链接]
发表于 2009-9-10 11:10 | 显示全部楼层 |阅读模式

这是一个BOM表的例子,A列是BOM的级别中,2级是3级的父零件,如AA1包括4个子零件BB1/BB2/BB3/BB4,C列中的用量是指在相邻一级中的用量,如1个AA1需要2个BB1,1个BB1需要1个CC01,那么生产1个AA1需要2个CC01,需要10个CC13,60个DD02。
现在表中的数据是我手工计算的,但是一个BOM通常会有上万个零件,8-9层BOM结构,是不可能用手工计算的。请问有没有什么公式可以进行计算此类问题。得出E列的数据?

WQe2sRiw.zip (3.38 KB, 下载次数: 11)

发表于 2009-9-10 11:39 | 显示全部楼层

只考虑4层的公式:

=(A2=1)*C2+(A2=2)*C2*INDEX(C:C,MAX(IF(A$2:A2=1,ROW($2:2))))+IF(A2=3,C2*INDEX(C:C,MAX(IF(A$2:A2=1,ROW($2:2))))*INDEX(C:C,MAX(IF(A$2:A2=2,ROW($2:2)))))+IF(A2=4,C2*INDEX(C:C,MAX(IF(A$2:A2=1,ROW($2:2))))*INDEX(C:C,MAX(IF(A$2:A2=2,ROW($2:2))))*INDEX(C:C,MAX(IF(A$2:A2=3,ROW($2:2)))))

如果要9层,公式会超长,可以通过定义名称来解决。

36KVEHka.rar (5.25 KB, 下载次数: 4)
回复

使用道具 举报

发表于 2009-9-10 11:47 | 显示全部楼层    本楼为最佳答案   

G8B0oy58.rar (3.92 KB, 下载次数: 10)

回复

使用道具 举报

发表于 2009-9-10 11:52 | 显示全部楼层

  xp23JZkW.rar (5.36 KB, 下载次数: 4)

LuGrLdOb.rar

5.34 KB, 下载次数: 3

[求助]

回复

使用道具 举报

 楼主| 发表于 2009-9-10 12:08 | 显示全部楼层

终于明白了,谢谢各位高手[em23][em23][em23][em23][em23][em23]
回复

使用道具 举报

发表于 2009-9-10 17:05 | 显示全部楼层

3楼和4楼公式改一下就可以从F2输入了:

=IF(A2=1,C2,INDEX(F1:F$2,MATCH(MAX((A1:A$2<A2)*ROW(1:$2)),(A1:A$2<A2)*ROW(1:$2),))*C2)

=IF(A2=1,C2,LOOKUP(1,0/(LEFT(B2)>LEFT(B1:B$2)),F1:F$2)*C2)

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-30 05:40 , Processed in 0.253196 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表