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