2013-02-12 99 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"))))) 

这个公式在我非常有限的测试中产生了“匹配表”的结果。你应该检查它是否产生你正在寻找的数据集的结果。