Excel从sumif语句中获取当前行

即时通讯使用Excel 2010,并有一个数据表与多个选项卡,这是目前我使用的sumif函数

=IF(SUMIF('Master Data'!$J$2:$J$200,'Resource View (2)'!B22,'Master Data'!$W$2:$W$200)>0,Current_row_different column, "") 

基本上我发现在另一个表中有一些行的值为1我然后想要使用这些行的值为1,但使用该行内的不同列填充真实条件。

因此,举例说,第4行在列AI中包含1,然后希望保留在第4行,但是为真实条件获得列B的值。

这可能吗?

任何build议非常感谢

提前致谢。

编辑:

我现在已经设法使这个函数正常工作,但是它有点擅长黑客攻击,因为我不得不在主数据中移动列,现在有点乱了。

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

现在我知道这是因为VLookupsearch指定的第一列,它似乎根本不工作,如果我试图把范围倒退,即$ F $ 90:$ C $ 2而不是$ C $ 2:$ F $ 90。 无论如何操纵VLOOKUP这样工作?

是的,实际上有一种方法 – VLOOKUP的兄弟 – 它是INDEX(MATCH()) 。 这是一个非常有用的工具,您可以查看任何列并返回其他任何列,而不仅仅是查看第一个列将其返回到右侧。 此外, INDEX(MATCH())可用于形成数组公式,如果需要的话,而VLOOKUP不能。

基本上,你的公式的这一部分:

VLOOKUP(B22,'Master Data'!$C$2:$F$90,3,FALSE)

会因此而改变:

INDEX('Master Data'!$E$2:$E$90,MATCH(B22,'Master Data'!$C$2:$C$90,FALSE))

所以,毕竟相当于

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

将会

 =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)),"")