2017-02-10 130 views
3

對於如何解決這個問題,我對excel有點新鮮和困惑。我有兩張excel表格。在excel中搜索多個條件

表1看起來像(大數據集):

HIC GSN  ND11 
H1C 00214 0212107 
C4I 07287 0214380 
L1A 07731 0214501 

表2個看起來像:

Condition HIC1 HIC1 HIC1 GSN  GSN  GSN 
AMA   B60  B61 B62  02934 02935 
ALD   H1A  H1C   04821 03473 
HEC   W0A  W0B 

例如,在表1中,如果在第1行的HIC或GSN(H1C或00214)存在於表2中的任何地方,它從對應於該匹配的表1取得ND11號碼。我嘗試過使用VLOOKUP,但在如何解決問題方面失敗了。

的VLOOKUP我試過了,

=VLOOKUP(OR(Table1'H1C', Table1'00214),Table2A2:G2,Table1'ND11',0) 

任何幫助將是巨大的。

+0

我沒有方便的Excel來檢查這個並給出一個確切的答案,但是您可能需要重新排列Sheet2,以便所有可能的H1C值都在一列中,而GSN值在另一列中。然後,您可以使用MATCH函數查看Sheet2中相應列中是否存在值。 –

+0

OR函數必須在MATCH函數之外,而不是在您的VLOOKUP示例中 - 這不是OR的工作原理。 –

回答

1

UPDATE:

OK,我重新閱讀的問題,我想我誤解;你想匹配HICGSN。在那種情況下,我不得不使用一些幫助列,因爲我不知道數組的方法。所以,我想出了這個...

iferror with match screenshot

...其中I7J7K7公式(分別):

=IFERROR(MATCH(B7,$A$2:$A$4,0),IFERROR(MATCH(C7,$A$2:$A$4,0),IFERROR(MATCH(D7,$A$2:$A$4,0),NA()))) 
=IFERROR(MATCH(E7,$B$2:$B$4,0),IFERROR(MATCH(F7,$B$2:$B$4,0),IFERROR(MATCH(G7,$B$2:$B$4,0),NA()))) 
=INDEX($C$2:$C$4,IFERROR(I7,IFERROR(J7,NA()))) 

你可以只用替換最後IFERROR(J7,NA())J7,但Excel錯誤處理會發牢騷。


ORIGINAL:

如果我理解正確你的問題(我懷疑),你想從Sheet1獲得ND11值匹配HICGSN值。對於單個匹配,INDEX/MATCH組合運行良好。但是,對於多個標準,SUMPRODUCT效果更好。在下面的截圖...

sumproduct screenshot

...我用下面的公式來獲得的第一個表的ND11值僅在從C列的值相匹配的HIC和F列相匹配的GSN ...

=SUMPRODUCT((--($A$2:$A$4=C10)*--($B$2:$B$4=F10))*$C$2:$C$4) 

現在,我不知道爲什麼你有三個HIC的三GSN的,所以你必須對你的問題詳細說明,如果這不是預期的結果

+0

@reasara謝謝。我想知道對面是否也有可能?我們可以搜索表2中的所有元素,並將它們與表1(HIC1和GSN)匹配並返回關聯的ND11?當對照表2檢查時,表1中的單個條件可能有多個匹配。 –

+0

當然。同樣的事情,只需要翻轉單個和數組單元格引用。但是,如果可能有多個結果,則必須使用多個單元格(列)。 – reasra

+0

謝謝!那麼我能在ND11旁邊的Sheet1中製作一列,並匹配Sheet2上的項目嗎?理想情況下,如果我能夠匹配表單1上的ND11而不是表單2,那將會很好。對不起,如果我看起來有點困惑。 –