Excel中如何用查找类函数精准匹配后获取指定偏移单元格数据?
解决Excel查找UserID后获取下一行AY列值的问题
原公式错误原因
你使用的=INDEX(JDA!B:B,MATCH(A4,JDA!B:B,0)+1,48)存在逻辑问题:INDEX的第一个参数仅选中了B列(单一列区域),而列索引48超出了该区域的列范围(B列只有1列),因此无法返回正确结果。
正确公式写法
方法1:INDEX+MATCH(直接定位AY列)
这是最直观稳定的写法,直接从AY列提取匹配行下一行的值:
=INDEX(JDA!AY:AY, MATCH(A4, JDA!B:B, 0) + 1)
MATCH(A4, JDA!B:B, 0):精准查找A4中的UserID在JDA表B列的行号+1:定位到匹配行的下一行INDEX(JDA!AY:AY, ...):从JDA表的AY列中取出对应行的数值
方法2:INDEX+MATCH(按偏移列计算)
如果要严格对应“向右偏移48列”的需求(需确认B列向右48列确实是AY列),可以指定包含B到AY的区域,再用列索引定位:
=INDEX(JDA!B:AY, MATCH(A4, JDA!B:B, 0) + 1, 49)
注:B列在
JDA!B:AY区域中是第1列,向右偏移48列对应区域内的第49列,若你的偏移逻辑是从B列单元格开始数48个单元格,需用此列索引。
方法3:XLOOKUP写法
结合XLOOKUP获取匹配行号,再用INDEX提取下一行的AY列值:
=INDEX(JDA!AY:AY, XLOOKUP(A4, JDA!B:B, ROW(JDA!B:B)) + 1)
XLOOKUP(A4, JDA!B:B, ROW(JDA!B:B)):返回UserID匹配行的行号+1后通过INDEX从AY列取对应值
内容的提问来源于stack exchange,提问作者Alex Hagood
相关产品推荐
相关产品推荐

