带有单元格引用的Excel Vlookup

问题描述 投票:0回答:3

我有一个单元格范围,我在Excel中命名为“cell_range”。我想从这个表中提取第四行和第五列。公式,

= VLOOKUP(4,CELL_RANGE,5)

给了我正在寻找的价值。

但是,我在单元格A1中也有文本“cell_range”。我没有在公式中输入“cell_range”,而是想通过引用单元格A1间接引用“cell_range”。公式

VLOOKUP(4,A1,5)

给我一个“#N / A”错误。

如何在公式中间接引用表“cell_range”?

excel excel-formula reference vlookup
3个回答
1
投票

使用INDIRECT:

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

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应使用列表中的哪个范围。

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


0
投票

这是使用INDIRECT的绝佳选择。间接直观易用,但我同意用户应该清楚它。对于包含许多工作表的工作簿,我建议使用宏来列出所有工作簿,而不是手动创建工作表列表。见https://www.automateexcel.com/vba/list-all-sheets-in-workbook/

© www.soinside.com 2019 - 2024. All rights reserved.