过滤两个条件然后SUM结果

时间:2017-07-11 13:55:36

标签: google-sheets

我不确定我是否理解FILTER是如何工作的 我想SUM只有FILTER8+10=18中满足这两个条件的结果,但似乎我得到8+9+10=27就像第一个条件一样被忽略了。

=SUM(FILTER(E1:E10,MATCH(D1:D10, G1:G4), E1:E10 > 7))=SUM(FILTER(E1:E10,MATCH(D1:D10, G1:G4) * (E1:E10 > 7)))都返回27

有任何想法吗?

这是example和屏幕截图 enter image description here

1 个答案:

答案 0 :(得分:2)

关键是将第三个参数放入Match函数中以指定完全匹配

=SUM(FILTER(E1:E10,MATCH(D1:D10, G1:G4,0), E1:E10 > 7)) 

否则,您将获得小于或等于查找值的最大值的位置:例如,为" G"你会得到一个匹配" D"这将返回4.因此,原始公式中的匹配函数始终返回一个数字> = 1,将其视为True。

有趣的是,上述公式实际上是因为不匹配将返回#N / A,但显然它被视为假 - 我不知道这是否记录在案。< / p>

我总是把

=SUM(FILTER(E1:E10,isnumber(MATCH(D1:D10, G1:G4,0)), E1:E10 > 7)) 

使其更清晰。