【问题标题】:2-Way Table Look Up in Excel Using VLOOKUP and MATCH Returning Error使用 VLOOKUP 和 MATCH 返回错误在 Excel 中进行 2 向表查找
【发布时间】:2013-06-28 03:03:16
【问题描述】:

我正在处理一个单元格公式,它将在表格上执行二维查找。

我的公式如下:

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

但是,它返回 #N/A 错误。我想知道它是否与格式有关,但我不能肯定地说。无论如何,我的表格数组的列标题被格式化为数字(年),行标签被格式化为文本,数组中的实际数据是自定义格式,数据是从工作簿中的其他工作表中提取的。

是格式的问题,还是不是一个因素?如果不是,是不是公式本身有问题?

谢谢。

-肖恩

【问题讨论】:

  • 所以 B96 包含特定年份?尝试自行测试匹配部分 - =MATCH(B96,A4:L4,0) 是否给您#N/A? - 如果 B96 是日期,则将公式中的 B96 更改为 YEAR(B96)
  • VLOOKUP 和 MATCH 是一个奇怪的组合——你的意思是使用 INDEX 和 MATCH 吗?
  • 这是一种可行的二维查找方法,虽然 INDEX/MATCH/MATCH 更常见..... MATCH 确定 VLOOKUP 的 column_index,即返回结果的列
  • @barryhoudini B96 确实包含一年,但它没有格式化为日期。 MATCH 函数不能单独工作。我尝试按照您的建议将 B96 更改为 YEAR(B96) ,但这也不能解决问题。可能是因为查找表 (A4:L4) 中的内容是从另一个工作表中提取的吗?
  • @DaveSexton 我尝试按以下格式一起使用 INDEX 和 MATCH 函数:=INDEX(A1:E14, MATCH(H2,A1:A14,0), MATCH(H3,A1:E1,0)) 但这也不起作用。

标签: excel


【解决方案1】:

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

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

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

其次,根据 Dave 的建议,我放弃了 VLOOKUP/MATCH 方法,转而使用 INDEX/MATCH/MATCH 方法。例如:

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

感谢两位的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多