2013-02-12 98 views
0

這並不是錯誤,它只是給了我「錯誤」的結果。我想我不能從兩個不同的來源做一個查找,但想驗證?如果沒有,建議替代?謝謝!來自多個來源的Vlookup

=IF(ISBLANK(A69),"",IF(ISNA(VLOOKUP(A69,sheets!J:J,1,FALSE)),IF(ISNA(VLOOKUP(A69,Lines!B:B,1,FALSE)),"No Match",IF(VLOOKUP(A69,sheets!J:J,1,FALSE),"Matches sheet",IF(VLOOKUP(A69,Lines!B:B,1,FALSE),"Line","No Match"))))) 
+0

感謝大家的反饋!我正在測試你的一些建議,看看他們是否讓我更接近。我應該補充說,結果應該在一張或另一張上,而不是兩張。但是,由於我正在處理的數據質量較低,因此我必須對兩個工作表進行實際搜索,而不是默認爲假,而不是假設「假如假,那麼應該是真的」,反之亦然。 – Mike 2013-02-13 13:00:01

回答

1

你想先查看哪個?也許嘗試MATCH,你似乎只是想驗證匹配的情況下,即

=IF(A69="","",IF(ISNA(MATCH(A69,sheets!J:J,0)),IF(ISNA(MATCH(A69,Lines!B:B,0)),"No Match","Line"),"Matches sheet"))

這將表明,A69在張發現「匹配表」,如果你不想然後顛倒MATCHES /文本的順序。

...或使用COUNTIF

=IF(A69="","",IF(COUNTIF(sheets!J:J,A69),"Matches Sheet",IF(COUNTIF(Lines!B:B,A69),"Line","No Match")))

0

你可能會更好地在整個行中的單獨單元格中進行每次查找。你也可以使用MATCH而不是VLOOKUP。不應該有什麼問題,你在做什麼,然後錯誤的嵌套。

0

您可能要刪除的ISNA測試,而是試圖包裹所有VLOOKUPS在NOT(ISERROR(...))。我得到的公式是:

=IF(ISBLANK(A69),"",IF(NOT(ISERROR(VLOOKUP(A69,sheets!J:J,1,FALSE))),IF(NOT(ISERROR(VLOOKUP(A69,Lines!B:B,1,FALSE))),"No Match",IF(NOT(ISERROR(VLOOKUP(A69,sheets!J:J,1,FALSE))),"Matches sheet",IF(NOT(ISERROR(VLOOKUP(A69,Lines!B:B,1,FALSE))),"Line","No Match"))))) 

這個公式在我非常有限的測試中產生了「匹配表」的結果。你應該檢查它是否產生你正在尋找的數據集的結果。