【发布时间】:2021-11-20 05:55:12
【问题描述】:
我正在尝试使用 VLOOKUP 和 HLOOKUP 从表中提取值,但它总是给我错误的单元格 - 将单元格值偏移一个 -
等式是
=VLOOKUP(G22,A5:Z18,HLOOKUP(H22,B3:Z4,1,FALSE),FALSE)
红色rec中的单元格。是正确的答案,但它总是以绿色圆圈返回值 我的代码有什么问题?
【问题讨论】:
-
没有电脑,但请尝试
=VLOOKUP(G22,A5:Z18,H22+1,FALSE)。无论哪种方式,您的 VLOOKUP 都会在 A 列中开始计数,而不是在 B 列中,因此只需添加 1。 -
HLookup 毫无意义。您是在说“在整数表中找到 6,然后原样返回”。您不妨不加改动地通过 H22。也许你想要
Match(H22, A3:Z3,0)而不是HLookup? -
在克里斯的评论之后,最有效的最终版本(为了防止将来可能的误用)可能是:
=VLOOKUP(G22,$A$5:$Z$18,Match(H22, $A$3:$Z$3,0),FALSE)。另外,如果你不知道$的含义,你最好搜索一下登录公式。 -
提示:1) 去掉第 1、2 和 4 行。如果你对这张表进行排序,你会感谢我的。任何表格都需要一个标题行。 2)考虑将第 21-22 行移动到另一张纸上。这些更像是 UI,它们不是数据。 3) 如果您打算在较大的工作表上使用这样的 vlookup,请务必阅读 Excel 依赖树更新优先级以及如何优化,并确保尽可能粘贴值。
-
要搜索水平和垂直匹配值的交集,我建议使用 INDEX/MATCH/MATCH:
=INDEX(B5:Z18,MATCH(G22,A5:A18,0),MATCH(H22,B3:Z3,0))
标签: excel excel-formula vlookup