带有单元格引用的Excel Vlookup

时间:2017-11-10 16:22:50

标签: excel excel-formula reference vlookup

我有一个名为" cell_range"在Excel中。我想从这个表中提取第四行和第五列。公式,

= vlookup(4,cell_range,5)

给了我正在寻找的价值。

但是,我也有文字" cell_range"在单元格A1中。而不是键入" cell_range"在我的公式中,我想引用" cell_range"间接地通过引用单元格A1。公式

vlookup(4,A1,5)

给了我一个"#N / A"错误。

我如何间接引用表" cell_range"在我的公式?

3 个答案:

答案 0 :(得分:1)

使用INDIRECT:

=VLOOKUP(4,INDIRECT(A1),5)

答案 1 :(得分:1)

虽然你可以使用INDIRECT来执行这类工作,但我已经避开了它,原因是我在https://chandoo.org/wp/2014/03/03/handle-volatile-functions-like-they-are-dynamite/概述了

在这种特殊情况下,我会使用查找表和CHOOSE或INDEX,如下面的屏幕截图所示:

enter image description here

请注意,您需要使用我的方法预先指定您的区域。

以下是CHOOSE

的语法

=选择(index_num,值1,值2,...)

以下是从微软发言到Jeff-speak的翻译:

= CHOOSE(你想要哪个区域?,第一区域,第二区域......)

如果使用下拉列表或单元格引用来提供index_num参数,则只需使用查找表将下拉列表或单元格输入的输出转换为索引号,该索引号告诉CHOOSE应使用列表中的哪个范围。 / p>

在此示例中,您使用此方法选择电子表格中的哪个区域进行求和。但是CHOOSE和INDEX可以用来做更多的事情。例如,您可以使用它们来允许用户动态选择在执行VLOOKUP时使用的查找表。或者,您可以让用户动态选择用户进行某些计算的工作表范围。确实是非常强大的东西!

答案 2 :(得分:0)

这是使用INDIRECT的绝佳选择。间接在直观上易于使用,但我同意用户应避免使用它。对于具有很多工作表的工作簿,我建议使用宏将其全部列出,而不是手动创建工作表列表。参见https://www.automateexcel.com/vba/list-all-sheets-in-workbook/