You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 02:31:11