2016-05-03 38 views
1

I have below Data如何使用从lookup_value开始的VLookUp Excel函数从值开始搜索值?

我用下面VLOOKUP公式来接我的期望的数据

=VLOOKUP(100,PersonDetails,2,FALSE) 

在理想情况下,我需要式从键100(Lookup_Array中)取Adress1值(ABC)命名范围(PersonDetails)但公式似乎没有得到正确的数据(#N/A显示为结果)。任何解决方法?

注意:PersonDetails是一个命名范围,而不是表格。

+0

这不是VBA。此外,VLookup的工作从左到右,只在一列。所以你的VLookup在列名“Name”中查找“100”并从列“Address”返回值。然而,我非常怀疑名称栏中会有一个“100”。如果重新安排你的专栏是可以接受的,那么把“Key”栏放在首位,这个栏就可以工作。 – DDuffy

+0

重新安排将工作,我知道that.but但我需要从右向左查只。只有这将解决我的问题 – sujai

回答

4

不幸的是,VLOOKUP假定查找列是的第一个列,所以除非你能够改变列的顺序,否则你不能做你想要的。

另一种方法(我不会称之为一个变通方法,它一般认为,这是更好)是使用MATCH和INDEX

的公式是这样的: -

=INDEX(PersonDetails,MATCH(100,INDEX(PersonDetails,,5),0),2) 

在反向排序: -

第二个INDEX指定范围(键)的第五列。

MATCH在Key列中查找值100,并在第一行数据中找到它。

第一个INDEX返回范围的第一行和第二列的值(或者如果范围包含标题,则返回第二行)(abc)。

+0

@汤姆Sharpe,辉煌!这很奏效,非常感谢。 – sujai

0

您可以在开始时再次添加一列,然后隐藏它并保留公式和表格布局。但以前的答案要好得多。 E.g B5公式= G5,然后在您的范围内包括B列。

+0

理想情况下,我不想更改Excel工作表的结构。这意味着我不需要添加或删除任何列。感谢您的时间! – sujai