分享

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

 hercules028 2022-10-20 发布于四川

excelperfect

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

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

图片

1

现在,想根据列A中的数据对列B中的值汇总。例如,对于列A中的“A”来说,在列B中对应的值是:1131415161718,其和为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函数,编写公式解决问题会有很大的帮助。

 

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多