尝试将vlookup扩展到其他单元格而不自动更改值

时间:2014-07-18 18:54:27

标签: excel excel-formula excel-2010

我正在设置一个vlookup来从工作簿中的另一个工作表中提取产品价格。该代码适用于单元格,但是当我尝试将代码扩展或复制并将代码传递到下一行时,它会自动更改数据table_array值。

= VLOOKUP(B5,价格1:65536,3)

在代码中我想要第一个值,B5与它所在的行一起缩放,但是第二个值需要保持不变。我该怎么做呢?还有一种方法,如果没有有效的部件号,我可以让单元格保持空白而不是显示N / A吗?

感谢您的帮助!

3 个答案:

答案 0 :(得分:3)

=VLOOKUP(B5,Prices!$1:$65536,3)

$锁定范围。

例如。

    当公式被复制到其他地方时,
  • $A1会将列锁定到A 位置。
  • A$1将锁定行
  • $A$1将锁定列和行。

答案 1 :(得分:1)

我无法评论,因为我没有足够的代表,但这将修复user3716271的公式:

=IF(ISERROR(VLOOKUP(B5,Prices!$1:$65536,3)),"", VLOOKUP(B5,Prices!$1:$65536,3))

下面的公式也应该解决这两个问题,更紧凑一点,少用一个VLOOKUP()

=IFERROR(VLOOKUP(B5,Prices!$1:$65536,3), "")

正如guitarthrower所说,数字之前的$用于锁定范围。

答案 2 :(得分:0)

对于第二部分,IF公式将正常工作:

=IF(ISERROR(VLOOKUP(B5,Prices!1:65536,3)),"",VLOOKUP(B5,Prices!1:65536,3)),"")

如果我理解正确,你尝试设置绝对值的第一部分?类似的东西:

    =IF(ISERROR(VLOOKUP(B$5,Prices!1:65536,3)),"",VLOOKUP(B5,Prices!1:65536,3)),"")