这不是错误,结果只是给了我“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")))))
答案 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")))))
这个公式在我非常有限的测试中产生了“匹配表”的结果。您应该检查它是否产生了您正在寻找数据集的结果。