Excel,如果兩列在不同選項卡上匹配,則貼上第三列中的值

Excel,如果兩列在不同選項卡上匹配,則貼上第三列中的值

我在 Excel 中有兩個不同的選項卡。 Tab1 有三個欄位(ID1、ID2 和 Value)。 Tab2 有兩列(ID1、ID2),我正在嘗試編寫一個函數,如果兩個選項卡上的 ID1 和 ID2 匹配,則將「值」從 Tab1 傳輸到 Tab2 的第三列。我嘗試過透過 VLOOKUP 和 INDEX 編寫函數(給出其他堆疊溢位問題/答案),但我很難弄清楚這一點。所有建議將不勝感激!

包含 ID1、ID2 和值欄位的 Tab1

Tab2 包含 ID1、ID2 和 Value 列,如果 ID1 和 ID2 匹配,我希望從選項卡 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 來避免這種情況。

相關內容