按层级求和,MATCH函数嵌套OFFSET函数,操作过程最简单!

文摘   教育   2024-09-18 20:01   上海  




欢迎转发和点一下“看”,文末留言互动!

置顶公众号或设为星标及时接收更新不迷路





小伙伴们好,今天来和大家分享一道分层级汇总的题目。在生产性企业中工作过的朋友们都知道,每一款产品都有一个BOM表,在里面详细列明了所有零件的层级关系和数量。今天这道题目就是和BOM相关的。

 

原题是这样子的:





要求来计算每个层级的总和。如果当前层级有数值,则不用计算。

 

这个结构看起来是很熟悉的,但是公式你们熟悉吗?



01

MATCH函数定位、OFFSET函数偏移、SUMIF函数求和


我们一起来看看该如何书写这个公式。如果还不理解的朋友们,可以先收藏起来,待遇到实际问题时参考套用。





在单元格C2中输入公式“”,确认后向下拖曳即可。

=IF(B2,B2,SUMIF(OFFSET(A3,,,IFNA(MATCH(A2,A3:A99,),99)),A3,C3))


这个题目的难点在于,如何找到分层点以及如何确认每一层的高度。

MATCH(A2,A3:A99,)

利用MATCH来确定当前层级的下一个位置。这样做的目的是要来确定求和的区域。


IFNA(MATCH(A2,A3:A99,),99)

IFNA函数用来纠错,如果当前层级是最后一层且在源数据中是最后一位,那么就人为地创造一个区域。


OFFSET(A3,,,IFNA(MATCH(A2,A3:A99,),99)

OFFSET函数部分,以单元格A3(即当前层级的下一位)为极点向下移动,同时规定移动后的区域高度是99层。


这个99是任意写的,只要足够大即可。


SUMIF(OFFSET(A3,,,IFNA(MATCH(A2,A3:A99,),99)),A3,C3)

接下来SUMIF函数出马按条件求和。这里SUMIF函数的第三个参数C3是简写形式,请注意!它代表的是以单元格C3为首的单元格区域,高度和第一个参数OFFSET函数的结果相同。


IF(B2,B2,SUMIF(OFFSET(A3,,,IFNA(MATCH(A2,A3:A99,),99)),A3,C3))

最后,根据题意用IF函数来做一个逻辑判断,执行不同的操作


本期内容练习文件提取方式:

链接:https://pan.baidu.com/s/1saAGdK1hCJ5yRLBJVwLS5A?pwd=b85w

提取码:b85w



好了朋友们,今天和大家分享的内容就是这些了!喜欢我的文章请分享、转发、点赞和收藏吧!如有任何问题可以随时私信我哦!


-END-


长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助


我就知道你“在看”


推荐阅读

Excel应用之家
介绍、交流EXCEL各项功能在工作中的实际应用; 为你答疑解惑;分享各类图表、表格和模板;提供有偿代工服务。
 最新文章