欢迎转发和点一下“在看”,文末留言互动!
置顶公众号或设为星标及时接收更新不迷路
小伙伴们好,今天要和大家分享一道简单的基础题目。题目看似简单,但想要正确做出来还真是需要有扎实的基本功才可以。
题目是这样子的:
按要求计算总和。这里面还牵扯到另外一个技巧—中国式排名,一会儿我们也一并复习一下。
01
SUMPRODUCT函数超强数据处理能力+1
题目中两问,借助B列的排名信息,其实都不难。
公式可以分别写成:
=SUMPRODUCT(($A$2:$A$13)*((B2:B13=1)+(B2:B13=4)))
=MAX((A2:A13)*(B2:B13=1))+MAX((A2:A13)*(B2:B13=2))
注意,这里SUMPRODUCT函数本身就可以处理数组,因此是一个普通公式。另一个是数组公式。
他们共同的特点就是:满足条件后,提取所需数值。
SUMPRODUCT函数的这个公式还可以写成下面这样子,公式更加简洁。
=SUMPRODUCT((A2:A13)*(B2:B13={1,4}))
这里也顺便再介绍一下中国式排名的计算过程。
在单元格B2中输入下列公式,向下拖曳即可。
=SUMPRODUCT((A2<$A$2:$A$13)/(COUNTIF($A$2:$A$13,$A$2:$A$13)))+1
这个公式实际上是借鉴了COUNTIF函数求不重复数据个数的用法。如有任何问题,请给我留言哦!
02
SUMPRODUCT函数超强数据处理能力+2
下面我们增加一下难度。在不引用B列的情况下如何用公式来按要求求和。先看第一问。
在单元格E2中输入下列公式,三键回车并即可。
=SUM(LARGE((MATCH(MMULT(((A2:A13)=TRANSPOSE(A2:A13))*(A2:A13),ROW(1:12)^0),MMULT(((A2:A13)=TRANSPOSE(A2:A13))*(A2:A13),ROW(1:12)^0),)=ROW(A2:A13)-1)*MMULT(((A2:A13)=TRANSPOSE(A2:A13))*(A2:A13),ROW(1:12)^0),{1,4}))
这个公式比较长,这里不详细介绍了,有兴趣的小伙伴们可以私信我哦!
这个公式同样也可以用SUMPRODUCT函数代替SUM函数
来看看第二问。
在单元格E5中输入下列公式,三键回车即可。
=SUMPRODUCT(LARGE((MATCH(A2:A13,A2:A13,)=ROW(A2:A13)-1)*(A2:A13),{1,2}))
思路:
MATCH(A2:A13,A2:A13,)=ROW(A2:A13)-1部分,是提取不重复清单时经常使用的技巧。用在这里的目的是去除重复的值。由于题目要求第一名和第二名之和,因此只要前两名各抓取一次就可以了。
其余部分比较简单,不再赘述。
-END-
长按下方二维码关注EXCEL应用之家
面对EXCEL操作问题时不再迷茫无助
我就知道你“在看”