关于{=SUM(SMALL(IF(($B$2:$B$626=L2)*($D$2:$D$626>=5)*($I$2:$I$626>P2),$E$2:$E$626,""),{1,2,3}))}

这个函数是根据三个条件求出L2对应的三个最小值(Bottom20%)的求和,但是由于L列在B列对应的属于L列的数量不同,我希望能够根据不同的Bottom20%(可能是1-6之前,多数为3)求出对应的最小值的和! 公式中条件$B$2:$B$626=L2代表在B列中包含L2的数据;$D$2:$... 这个函数是根据三个条件求出L2对应的三个最小值(Bottom20%)的求和,但是由于L列在B列对应的属于L列的数量不同,我希望能够根据不同的Bottom20%(可能是1-6之前,多数为3)求出对应的最小值的和!公式中条件$B$2:$B$626=L2代表在B列中包含L2的数据;$D$2:$D$626>=5代表在D列中大于5的对应的数据;$I$2:$I$626>P2代表在I列中大于P(P=L2*Bottom20%)的对数据,求指教,谢谢! 展开
网友 1

最佳答案

回答者:网友
这个数组公式出错的可能在于,IF(($B$2:$B$626=L2)*($D$2:$D$626>=5)*($I$2:$I$626>P2),$E$2:$E$626,"")这个数组中符合条件的数据不够3个了,依次提取3个数据就会出现错误。
用这个公式试试
=SUM(IF(ISERROR(SMALL(IF(($B$2:$B$626=L2)*($D$2:$D$626>=5)*($I$2:$I$626>P2),$E$2:$E$626,""),{1,2,3})),0,SMALL(IF(($B$2:$B$626=L2)*($D$2:$D$626>=5)*($I$2:$I$626>P2),$E$2:$E$626,""),{1,2,3})))
这个公式里,符合条件的数据不够3个,用0补足3个,不知是否合乎你的要求?

我来回答