如何在B列中对应于特定文本的前5个值进行求和?

我想添加一列的第一个“n”个数值的B表示B,当另一列的相应值表示同一行中的C等于某个“文本”时,

要做到非数组公式,我在D1中build议如下:

 =IF((C1="text")*(COUNTIF(C$1:C1,"text")=5),SUMIF(C$1:C1,"text",B$1:B1),"") 

并抄下来。

一种不同的方法将使用一个数组公式:

 {=SUMIF(C1:INDEX(C1:C100,SMALL(IF(C1:C100="text",ROW(C1:C100)),5)),"text",B:B)} 

这将一步完成整个工作;)

数据在B1C20

D1中input:

 =IF(C1="text",1,"") 

D2中input:

 =IF(AND(C2="text",COUNT($D$1:D1)<5),1,"") 

并抄下来。 然后在另一个单元格input:

 =SUMPRODUCT(D:D,B:B) 

在这里输入图像说明

对于单个数组公式:

 =SUMPRODUCT((ROW($C$1:$C$20)<=AGGREGATE(15,6,ROW($C$1:$C$20)/($C$1:$C$20="text"),5))*($C$1:$C$20="text")*$B$1:$B$20) 

在这里输入图像描述