如何动态扩展VLOOKUP的查找范围以包含相邻列?
解决VLOOKUP动态扩展查找范围的问题
方法1:用INDEX扩展动态区域
直接基于原有的A2#动态单列,扩展出包含相邻列的动态范围,公式如下:
=VLOOKUP("my_value",INDEX(A2#,0):INDEX(A2#,0,2),2,0)
INDEX(A2#,0)会返回A2#对应的整列动态区域,通过:INDEX(A2#,0,2)将范围延伸至第2列(即相邻的B列),最终得到适配A2#行数变化的两列动态区域。
方法2:用CHOOSECOLS提取目标列
如果需要更灵活地选择列(哪怕是非连续列),可以用CHOOSECOLS从动态数组中指定要包含的列:
=VLOOKUP("my_value",CHOOSECOLS(A2#,1,2),2,0)
这里指定提取第1、2列,刚好覆盖原单列和相邻列,完美适配动态行数。
方法3:旧版Excel可用OFFSET
如果使用的是不支持动态数组的旧版Excel,OFFSET也能实现动态扩展:
=VLOOKUP("my_value",OFFSET(A2#,0,0,ROWS(A2#),2),2,0)
OFFSET(A2#,0,0,ROWS(A2#),2)表示以A2#为起点,行数取A2#的总行数,列数设为2,从而扩展出包含相邻列的动态范围。
内容的提问来源于stack exchange,提问作者greylock
相关产品推荐
相关产品推荐

