簡體   English   中英

Excel:將兩列與其他兩列匹配

[英]Excel: match two columns with two other columns

在excel中,我有四列。 A和B列彼此對應,C和D列彼此對應。 我想做的是創建一個公式,該公式從A列獲取一個值,在C列中搜索,尋找匹配項。 如果找到匹配項,它將從B列中獲取相應的值(同一行),並在D列中搜索與B列中的值匹配的值。如果兩個值最終都找到匹配項,則返回1 A和B所在的行中的E列。

到目前為止,這是我在E欄中輸入的內容。

= IF(MATCH(A1,$ C:$ C,0)MATCH(B1,$ d:$ d,0),1,0)

我的問題是我不知道如何使B匹配,僅檢查A找到匹配項的行。

如果有任何問題可以理解我的問題,或者您需要我幫助澄清一些問題,請告訴我。 我已經有幾天這個問題了,似乎無法解決。 我將在接下來的一個小時內積極檢查該線程。

謝謝。

我會給出兩個答案。

第一個要求匹配項在列C和D中位於同一行。因此,如果A2匹配C3,C4,C5,那么B2將需要匹配D3,D4或D5

=IF(SUMPRODUCT(--($C$1:$C$5=A1),--($D$1:$D$5=B1))>0,1,0)

從里到外-($ C $ 1:$ C $ 5 = A1)將A1與C1到C5中的所有值進行比較,如果為true,則返回1;如果為false,則返回0。Sumproduct將這些值相乘,因此您需要同時獲得true sides If語句僅用於將數字限制為1(如果匹配2行,則將返回2,等等)

要基於問題進行擴展-是的,您可以在公式內使用-(C:C = A1),因為它可以處理更多的單元格,因此計算時間會更長

--(C:C=A1)每當C列中的單元格等於A1時,將返回一個看起來像{0,0,0,1,0,0,1}的數組。
--(D:D=B1)每當D中的單元格匹配B1說{0,1,0,0,0,0,1}公式將以1s相同。 Sumproduct乘以這些數組{0*0,1*0,0*0,1*0,0*0,0*0,1*1}然后將結果相加(0+0+0+0+0+0+1) = 1

此sumproduct公式可以返回任何整數值(如果不匹配,則返回0;如果有一組匹配的單元格,則返回1;如果有兩組匹配的單元格,則返回2,等等)。

通過將其包裝在if(sumproduct(..)> 0,1,0)中只是意味着它將始終返回0(不匹配)或1(一個或多個匹配項)。

希望這可以幫助。

編輯:不需要公式

下一個公式看起來要與C2列中的A2匹配,然后看起來要與D2列中的B2匹配,而不必是同一行。

=IF(IFERROR(MATCH(A1,$C$1:$C$5,0)*MATCH(B1,$D$1:$D$5,0),0)>0,1,0)

匹配,如果沒有匹配項,iferror只會使其返回0。如果值大於0(如果兩列都匹配),則if語句僅返回1。

這將解決問題

=SUMPRODUCT((C:C=A1)*(D:D=B1))

您可以縮小跨度的高度(例如=SUMPRODUCT((C1:C100=A1)*(D1:D100=B1))

使用ISERROR檢查MATCH找到您要查找的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM