INDEX仅检索标准下的某些行

时间:2015-03-25 14:56:21

标签: excel excel-formula

我遇到了一个问题,现在已经修复了,可以在这里看到:Excel Get current row in from sumif statement。当我使用时,我现在又遇到了一个小问题:

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

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

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

我可以解决这个问题,如果我按照最大的标志排序原始表,但这有点像黑客。我正在寻找的是这样的:

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

或者,如果有办法创建我所拥有的表的第二个实例,那只显示标志> 0的结果?

我可以复制表格并将其放入隐藏的工作表中,但在这种情况下,原始表格中的任何新条目都不会添加到隐藏工作表中的表格中。

1 个答案:

答案 0 :(得分:0)

我认为以下内容应该这样做:

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

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