Excel 从 sumif 语句获取当前行

Excel Get current row in from sumif statement

我使用的是 Excel 2010 并且有一个带有多个选项卡的数据sheet,这是我当前使用的 sumif 函数

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

基本上,我在另一个 sheet 中找到了一些值为 1 的行,然后我想使用这些值为 1 的行,但在该行中使用不同的列来填充真实条件.

比如说第 4 行在 A 列包含一个 1 然后我想留在第 4 行但获取 B 列的值以获得真实条件。

这可能吗?

非常感谢任何建议

提前致谢。

编辑:

我现在已经设法使该功能正常工作,但是它有点 excel 黑客攻击,因为我不得不在主数据中移动列并且它现在有点混乱无论如何这是我的已经

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

现在我知道这是因为 VLookup 搜索指定的第一列,如果我尝试将范围倒过来,即 $F$90:$C$2 而不是 $C$2:$,它似乎根本不起作用90 斐济元。有没有办法操纵 VLOOKUP 像这样工作?

是的,实际上有一种方法 - VLOOKUP 的兄弟 - 它是 INDEX(MATCH())。这是一个非常有用的工具,因为您可以查看任何列和 return 任何其他列,而不仅仅是查看第一个 return 右边的列。此外,如果需要,INDEX(MATCH()) 可用于形成数组公式,而 VLOOKUP 则不能。

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

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

将更改为:

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

所以,毕竟,等同于

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

将是

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