来自多个来源的Vlookup

时间:2013-02-12 23:06:41

标签: excel excel-formula vlookup

这不是错误,结果只是给了我“FALSE”。我想我不能从两个不同的来源做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")))))

3 个答案:

答案 0 :(得分: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 / text的顺序。

...或使用COUNTIF

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

答案 1 :(得分:0)

在整个行中的单独单元格中进行每次查找可能会更好。您也可以使用MATCH而不是VLOOKUP。除了不正确的嵌套之外,你应该做的事情应该没有问题。

答案 2 :(得分: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")))))

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