使用COUNTIFS而不是SUMPRODUCT

时间:2015-07-27 23:54:06

标签: excel substitution

我有一个使用SUMPRODUCT的公式,如果满足一组条件,它会给我行号。由于我从中获取数据的文件具有 13 000 行,因此变得耗时。

以下是SUMPRODUCT公式:

=SUMPRODUCT((N30=Hierarchy!$B$1:$B$15000)*(D30>=Hierarchy!$I$1:$I$15000)*(D30<=Hierarchy!$J$1:$J$15000)*ROW(Hierarchy!$U$1:$U$15000))

我正在尝试使用下面的代码替换上一个公式(通过COUNTIFS) - 为什么它不起作用?

=COUNTIFS(Hierarchy!$B$1:$B$15000, N30, Hierarchy!$I$1:$I$15000, "<="&D30, Hierarchy!$J$1:$J$15000,">="&D30)

1 个答案:

答案 0 :(得分:0)

COUNTIFS不会返回一行,它会返回找到的匹配数(只有1个匹配,对吗?)。 MATCH公式将执行您正在寻找的内容:

=MATCH(1,(N30=$B$1:$B$15000)*(D30>=$I$1:$I$15000)*(D30<=$J$1:$J$15000),0)

这是一个数组公式,因此您需要使用CTRL + SHIFT + ENTER才能使其正常工作。

我不确定它能节省多少时间。如果多行符合条件,则MATCH公式将显示第一行,而SUMPRODUCT公式将显示所有匹配行的总和。

编辑:我从Contextures获得了MATCH公式:http://blog.contextures.com/archives/2012/07/12/check-multiple-criteria-with-excel-index-and-match/