2013-06-27 35 views
0

我正在处理一个单元格公式,它将在表上执行2维查找。使用VLOOKUP和MATCH在Excel中查找2-Way Table返回错误

我的公式如下:

=VLOOKUP(A97,A4:L10,MATCH(B96,A4:L4,0),FALSE) 

然而,它返回一个#N/A错误。我想知道它是否与格式有关,但我不能肯定地说。在任何情况下,我的表格数组的列标题都被格式化为数字(年),行标签被格式化为文本,并且数组中的实际数据是自定义格式,数据从工作簿中的其他工作表中拉出。

它是格式化的东西,还是不是一个因素?如果不是,这个配方本身有什么问题吗?

谢谢。

-Sean

+1

那么B96包含特定年份?尝试自己测试匹配部分 - 是否= MATCH(B96,A4:L4,0)'给你#N/A? - 如果B96是一个日期,那么将公式中的B96更改为YEAR(B96) –

+3

VLOOKUP和MATCH有点奇怪的组合 - 你的意思是使用INDEX和MATCH吗? –

+0

尽管INDEX/MATCH/MATCH比较常见,但它是一种可行的二维查找方法..... MATCH确定VLOOKUP的column_index,即返回结果的列 –

回答

1

感谢@barryhoudini和@DaveSexton的解决方案...我只是记录它正式。

首先,我收到的错误是由于源单元格的格式造成的。因此,根据Barry的建议,我将一个“”连接到我的单元格引用的末尾,该引用将源单元格格式化为文本,从而使该函数可以工作。新代码:

=VLOOKUP(A97,A4:L10,MATCH(B96&"",A4:L4,0),FALSE) 

其次,每戴夫的建议,我摒弃,取而代之的INDEX/MATCH /匹配方法的VLOOKUP /匹配方法。 E.G:

=INDEX(A1:E14, MATCH(H2,A1:A14,0), MATCH(H3,A1:E1,0)) 

谢谢你们的帮助。