发出Excel HLOOKUP

时间:2013-12-03 08:39:09

标签: excel

我在遇到了一个我希望你可以帮助我的问题。 我正在尝试HLOOKUP比较一系列值与单独的值范围,如果在第二个范围内找到第一个范围中的任何值,则返回第二个范围的第二行。

如果我只针对一系列值搜索一个值,我的HLOOKUP将完美运行,但我需要搜索范围内的范围,因为名称可能会更改。

=HLOOKUP(Sheet1!B3,'Sheet2'!H2:I3,2,FALSE)
这是完美的,因为我只比较一个值,但理想情况下,而不是'Sheet1!B3'我想在这里有一个范围 - 我命名了一个范围测试并尝试了这个但它没有用 - 我只是被返回{ {1}}

#VALUE!

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

我假设你有以下格式的数据:

         --A---B---C---D---E-   
Key    1| dog cat egg nut erg
Value  2|  q   r   s   t   u

hlookup允许您一次只执行1次查找,而不是一系列查找。 (1输入,1输出)

=hlookup("egg", A1:E2, 2, FALSE)返回s

如果您有要查找的值列表,则需要进行多次hlookup调用。

例如:

LookupKey LookupResult LookupEquation
  dog         q        =hlookup("dog", A1:E2, 2, FALSE)
  bird        #N/A     =hlookup("bird", A1:E2, 2, FALSE)
  fish        #N/A     =hlookup("fish", A1:E2, 2, FALSE)
  rat         #N/A     =hlookup("rat", A1:E2, 2, FALSE)
  egg         s        =hlookup("egg", A1:E2, 2, FALSE)

如果您尝试从列表中获取第一个非#N / A结果,请尝试=iferror(hlookup("egg", A1:E2, 2, FALSE),iferror(hlookup("bird", A1:E2, 2, FALSE),...))

如果你想要一些可以接受键范围的东西,你需要编写一个VBA宏。

答案 1 :(得分:0)

Excel中的公式只能在输入的单元格中返回一个值。 因此,您无法输入将返回范围内的值的单个公式。

您需要将公式拖动到希望显示Sheet2值的范围内。并锁定Sheet2的范围,如下所示:

=HLOOKUP(Sheet1!B3,'Sheet2'!$H$2:$I$3,2,FALSE)

然后将公式向右或向下复制或拖动,具体取决于Sheet1中的值是B3,C3,D3等(右侧)还是B3,B4,B5等(下)。