INDEX 仅检索某个条件下的某些行

INDEX to retrieve only certain rows under a criterion

我有一个问题,现在已解决,可以在这里看到:。当我使用时,我现在又遇到了一个小问题:

=IF(SUMIF('Master Data'!$C:$C0,'Resource View (2)'!B22,'Master Data'!$W:$W0)>0,INDEX('Master Data'!$E:$E,MATCH(B22,'Master Data'!$C:$C,FALSE)),"") 

C 是 table 中的一个人名,有时此名称有多个实例,然后在搜索索引时仅 returns 找到第一个结果。当它是我想要的行时,我在 W 列中将标志设置为 1

有没有办法只匹配 SUMIF 中指定的 W 列 =1 或 >1 的行?

如果我先按最大的标志对原始 table 进行排序,我就可以解决这个问题,但这有点麻烦。我正在寻找的是这样的:

=IF(SUMIF('Master Data'!$C:$C0,'Resource View (2)'!B22,'Master Data'!$W:$W0)>0,INDEX('Master Data'!$E:$E,MATCH(B22**WHERE'Master Data!$W2:$W0>0**,'Master Data'!$C:$C,FALSE)),"")

或者,如果有一种方法可以创建我拥有的 table 的第二个实例,那只会显示标志 >0 的结果?

我可以只复制 table 并将其放在隐藏的 sheet 中,但在这种情况下,原始 table 的任何新条目都不会添加到 table在隐藏sheet.

我认为应该做到以下几点:

=IFERROR(INDEX('Master Data'!$E:$E0,MATCH(1,(B22='Master Data'!$C:$C0)*('Master Data'!$W:$W0=1),FALSE)),"")

但是你需要输入数组公式。不使用 Enter,而是 - Ctrl+Shift+Enter.