Excel,如果两列在不同的选项卡上匹配,则粘贴第三列的值

Excel,如果两列在不同的选项卡上匹配,则粘贴第三列的值

我在 excel 中有两个不同的选项卡。Tab1 有三列(ID1、ID2 和值)。Tab2 有两列(ID1、ID2),我正在尝试编写一个函数,如果 ID1 和 ID2 在两个选项卡上匹配,该函数会将 Tab1 中的“值”转移到 Tab2 的第三列。我尝试通过 VLOOKUP 和 INDEX 编写函数(给出了其他 STACKS Overflow 问题/答案),但很难弄清楚这一点。非常感谢大家的建议!

Tab1 包含列 ID1、ID2 和 Value

Tab2 包含列 ID1、ID2 和值,我希望在 ID1 和 ID2 匹配时从 Tab 1 中检索这些值

答案1

使用 SUMIFS()

=SUMIFS(Tab1!C:C,Tab1!A:A,A2,Tab1!B:B,B2)

请参阅此 StackOverflow 答案:

https://stackoverflow.com/questions/42492758/vlookup-using-2-columns-to-reference-another

答案2

在第二个选项卡中,使用 MATCH 查找 TAB1 中与 ID1 和 ID2 匹配的行。如果行相同,则使用 INDEX 提取值。我已在下面的一个公式中完成了所有这些操作,但如果您不熟悉 MATCH 和 INDEX,您可以将公式的片段放在不同的列中以确保您理解。

如果 ID1 和 ID2 不匹配,您不会指定希望选项卡 2 中的值是什么,因此我将其设为“不匹配”。 (您也可以使用空白或零。)

这是选项卡 2 中需要值的列的公式。我假设 ID1 在两个选项卡中都位于 A 列,而 ID2 在 B 列。

在 Tab2 的第 2 行中,您可以使用以下公式:

C 列:Match($A2,'Tab1'!$A:$A,0)
D 列:Match($b2,'Tab1'!$B:$B,0)
E 列:IF($C2=$D2,INDEX('Tab1'!$C:$C,$C2),"no match")

显然,如果您愿意,可以将其合并到单个 if 语句中。如果两个 ID 都不匹配,您将收到 #N/A 错误。您可以通过在 E 列中返回的值周围使用 ISNA 来避免这种情况。

相关内容