如果'N / A'运行两个vlookup

时间:2013-09-18 20:25:19

标签: excel

我目前正在尝试创建一个vlookup函数,它将检查单元格A2并在sheet1上进行检查。如果它带回错误,它应该转到B2然后检查sheet1并返回结果。

这就是我现在所拥有的:

=IF(ISNA(VLOOKUP(A2,'Sheet1'!$A$2:$A$1932,1,FALSE)),"0",VLOOKUP(B2,'Sheet1'!$A$2:$A$1932,1,FALSE))

但它似乎没有带回所有结果,它会从每个列表A2和B2中带回一些结果。

我做错了什么?

提前致谢。

2 个答案:

答案 0 :(得分:2)

尝试使用:

=IF(ISNA(VLOOKUP(A2,'Sheet1'!$A$2:$A$1932,1,FALSE)),"0",VLOOKUP(A2,'Sheet1'!$A$2:$B$1932,2,FALSE))

或者你可以使用IFERROR来缩短时间:

=IFERROR(VLOOKUP(A2,'Sheet1'!$A$2:$B$1932,2,FALSE),"0")

(如果你的意思是数字0而不是文字0,你可以省略0周围的引号。

此公式将使用Sheet2中的查找值A2从Sheet1中的B列获取值,并在Sheet1中的A列中查找。

VLOOKUP检查列A2Sheet1!A:A的值,并使用以下公式返回列Sheet1!B:B中的值:

=VLOOKUP(A2,'Sheet1'!$A$2:$B$1932,2,FALSE)
                           ^      ^
                           1      2
  1. B是结果栏

  2. 2在相对于A的索引中.A是第1列,B是第2列。


  3. 编辑:

    如果您想仅从A列获取值,首先检查A2的值,在第一列的失败时检查B2,那么您可以使用:

    =IFERROR(VLOOKUP(A2,'Sheet1'!$A$2:$A$1932,1,FALSE),VLOOKUP(A2,'Sheet1'!$A$2:$A$1932,1,FALSE))
    

答案 1 :(得分:2)

这应该有效:

=IFERROR(VLOOKUP(A2,'Sheet1'!$A$2:$A$1932,1,FALSE),VLOOKUP(B2,'Sheet1'!$A$2:$A$1932,1,FALSE))

它将使用A2并尝试在sheet1中找到它,如果它返回错误,它将转到B2并在sheet1上找到该项目。