送人玫瑰,手有余香,请将文章分享给更多朋友
动手操作是熟练掌握EXCEL的最快捷途径!
【置顶公众号】或者【设为星标】及时接收更新不迷路
小伙伴们好,今天来和大家分享一道分层级汇总的题目。在生产性企业中工作过的朋友们都知道,每一款产品都有一个BOM表,在里面详细列明了所有零件的层级关系和数量。今天这道题目就是和BOM相关的。
原题是这样子的:
要求来计算每个层级的总和。如果当前层级有数值,则不用计算。
这个结构看起来是很熟悉的,但是公式你们熟悉吗?
我们一起来看看该如何书写这个公式。如果还不理解的朋友们,可以先收藏起来,待遇到实际问题时参考套用。
在单元格C2中输入公式“=IF(B2,B2,SUMIF(OFFSET(A3,,,IFNA(MATCH(A2,A3:A99,),99)),A3,C3))”,确认后向下拖曳即可。
思路:
MATCH(A2,A3:A99,)部分,来确定当前层级的下一个位置。这样做的目的是要来确定求和的区域
IFNA(MATCH(A2,A3:A99,),99)部分用来纠错,如果当前层级是最后一层且在源数据中是最后一位,那么就人为地创造一个区域
OFFSET(A3,,,IFNA(MATCH(A2,A3:A99,),99)部分,以单元格A3(即当前层级的下一位)为极点向下移动,同时规定移动后的区域高度是99层
SUMIF函数出马按条件求和。这里SUMIF函数的第三个参数C3是简写形式,请注意!它代表的是以单元格C3为首的单元格区域,高度和第一个参数OFFSET函数的结果相同
最后,根据题意用IF函数来做一个逻辑判断,执行不同的操作
-END-
我就知道你“在看”
联系客服