前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel公式:基于层次等级求和

Excel公式:基于层次等级求和

作者头像
fanjy
发布2022-11-16 13:07:33
7580
发布2022-11-16 13:07:33
举报
文章被收录于专栏:完美Excel

引言:本文的练习整理自chandoo.org。多一些练习,想想自己会怎么解决这个问题,看看别人又是怎样解决的,这样能够快速提高Excel公式编写水平。

本次的练习是:示例数据如下图1所示。

图1

图1的列B和列C中是项目及其相应的价格。在列A中,等级表示为[x]#,其中[x]表示层次结构的级别,#表示该层次结构的数字。因此,如果要确定层次结构,可以计算点的数量,或者提取列A中数据右侧的数值。

注意,最顶层的层次结构没有价格值,因为这是最高级别。顺便说一下,列B与我们的问题无关。

列D是公式的输出。不能使用辅助列,请写下你的公式。

解决方案

公式1:数组公式。

=IFERROR(SUM(OFFSET(C2,,,MATCH(TRUE,RIGHT(A3:A20)<=RIGHT(A2),0))),SUM(C2:C20))

或者:

=IFERROR(SUM(OFFSET(C2,,,MATCH(TRUE,RIGHT(A3:A20,2)*10<=RIGHT(A2,2)*10,0))),SUM(C2:C20))

公式2:数组公式。

=SUM(OFFSET(C2,,,MATCH(0,--(--SUBSTITUTE(0&A3:A$22,".","0")>--SUBSTITUTE(A2,".","0")),)))

或者:

=SUM(OFFSET(C2,,,MATCH(0,N(--SUBSTITUTE(0&A3:A$22,".",0)>--SUBSTITUTE(A2,".",0)),)))

公式3:数组公式。

=SUM(OFFSET(C2,,,IFERROR(MATCH(0,N(LEN(A2)<LEN(A3:A$20)),),19)))

公式4:数组公式。

=IFERROR(SUM(OFFSET(C2,,,MATCH(1,IF(VALUE(SUBSTITUTE(A2,".",""))<VALUE(SUBSTITUTE(A3:C20))

……

公式并没有给出详细的解析,有兴趣的朋友可以参照前面推送的有关分析公式的文章对这些公式进行解析,相信对理解Excel函数,编写公式解决问题会有很大的帮助。

注:公式练习的示例可能有用,也可能没有多大实际用处,主要目的是通过编写公式解决Excel问题来磨练公式与函数应用技能,也让研究Excel的大脑时刻保持良好的状态。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档