前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel公式练习:合并单元格中的条件求和

Excel公式练习:合并单元格中的条件求和

作者头像
fanjy
发布2022-11-16 14:07:18
2.4K0
发布2022-11-16 14:07:18
举报
文章被收录于专栏:完美Excel

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

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

图1

现在,想根据列A中的数据对列B中的值汇总。例如,对于列A中的“A”来说,在列B中对应的值是:1、13、14、15、16、17、18,其和为94。

我们将单元格区域A2:A21命名为“D”,单元格区域B2:B21命名为“V”。

要求只能使用公式,不能使用VBA,仅能使用上述两个命名区域名称,不能使用填充功能填充空单元格。

请写下你的公式。

解决方案

公式1:数组公式。

=SUM(MMULT(N(LOOKUP(ROW(D),IF(D<>"",ROW(D)))=TRANSPOSE(IF(D="A",ROW(D)))),ROW(D)^0)*V)

公式2:数组公式。

=SUM(IFERROR(IF(MATCH(LOOKUP(ROW(D),IF(D<>"",ROW(D))),IF(D="A",ROW(D)),0),V),0))

公式3:数组公式。

=SUM(ISNUMBER(MATCH(LOOKUP(ROW(D),IF(D<>"",ROW(D))),IF(D="A",ROW(D)),0))*V)

公式4:数组公式。

=SUM(IF(LOOKUP(ROW(D),ROW(D)/(D<>""),D)="A",V))

或者:

=SUM((LOOKUP(ROW(D),ROW(D)/(D<>""),D)="A")*V)

或者:

=SUMPRODUCT((LOOKUP(ROW(D),ROW(D)/(D<>""),D)="A")*V)

公式5:数组公式。

=SUM((LOOKUP(ROW(D),IF(D<>"",ROW(D)))=TRANSPOSE(IF(D="A",ROW(D))))*V)

公式6:数组公式。

=SUM((INDEX(D,N(IF({1},MATCH(ROW(D),IF(NOT(ISBLANK(D)),ROW(D),""),1))))="A")*V)

或者:

=SUMPRODUCT(--(INDEX(D,N(IF({1},MATCH(ROW(D),IF(NOT(ISBLANK(D)),ROW(D),""),1))))="A"),V)

公式7:

=SUM(FILTER(V,IF(V,LOOKUP(V,V/(D<>""),D))="A"))

适用于Office365。

……

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

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

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

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

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

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