Excel中VLOOKUP结合HLOOKUP返回值偏移1位的错误排查
VLOOKUP嵌套HLOOKUP结果偏移1位问题解决方案

用户使用的原公式:=VLOOKUP(G22,A5:Z18,HLOOKUP(H22,B3:Z4,1,FALSE),FALSE)
错误原因
- VLOOKUP的第三参数为查找区域
A5:Z18的相对列序号,该区域第一列为A列,而HLOOKUP的查找区域为B3:Z4,该区域第一列为B列,两个区域的列序号基准相差1,直接使用HLOOKUP返回的列序号会导致查询列整体左偏1位。 - HLOOKUP第三参数设置错误。HLOOKUP第三参数代表查找区域内的相对行号,你设置为1时返回的是
B3:Z4区域第一行(即B3到Z3行)的表头文本,若你需要返回对应列的序号值,且序号存储在B3:Z4的第二行(B4到Z4行),需要将该参数改为2。
修正方案
方案1:直接修正原公式
在HLOOKUP返回结果后加1适配VLOOKUP的列序号基准,同时修正HLOOKUP的行号参数:=VLOOKUP(G22,A5:Z18,HLOOKUP(H22,B3:Z4,2,FALSE)+1,FALSE)
方案2:使用MATCH替换HLOOKUP(逻辑更简洁)
如果你的需求是根据H22的表头值匹配对应列序号,使用MATCH函数无需额外调整偏移量:=VLOOKUP(G22,A5:Z18,MATCH(H22,A3:Z3,0),FALSE)
内容的提问来源于stack exchange,提问作者Mohammed Mustafa
相关产品推荐
相关产品推荐

