1

我目前正在尝试创建一个 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 中带回了一些结果。

我究竟做错了什么?

提前致谢。

4

2 回答 2

2

尝试使用:

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

或者您可以使用 anIFERROR来缩短内容:

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

0(如果您的意思是数字0而不是文本,则可以省略引号0

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

VLOOKUP检查A2列中的值并使用公式Sheet1!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 列。


编辑:

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

=IFERROR(VLOOKUP(A2,'Sheet1'!$A$2:$A$1932,1,FALSE),VLOOKUP(A2,'Sheet1'!$A$2:$A$1932,1,FALSE))
于 2013-09-18T20:29:05.503 回答
2

这应该有效:

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

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

于 2013-09-18T20:42:05.797 回答