如何在向下拖动VLOOKUP公式时自动递增列索引序号
如何在向下拖动VLOOKUP公式时自动递增列索引序号
嗨,这个需求其实挺常见的,用Excel自带的ROW函数就能轻松搞定!核心思路就是让列索引值跟着当前行的位置自动变化,而不是固定写死数字。
看你的例子,第一行公式里的列索引是35,向下拖一行要变成36,刚好每次递增1。我们可以用ROW(A1)来生成这个递增序列——当你向下拖动公式时,ROW(A1)会自动变成ROW(A2)、ROW(A3)……对应的返回值就是1、2、3……
把你原来公式里固定的35替换成34 + ROW(A1)就可以了,完整公式如下:
IF(VLOOKUP(A2,'Jan 2024'!$D:$BP,34+ROW(A1),0)<=0,"IGNORE",VLOOKUP(A2,'Jan 2024'!$D:$BP,34+ROW(A1),0))
为什么是34?因为ROW(A1)返回1,1+34=35,正好对应你第一行需要的列索引;向下拖一行后,ROW(A2)返回2,2+34=36,完全符合你的要求。
如果你的公式不是从Excel的第1行开始放置的,也可以灵活调整这个偏移值。比如公式放在第5行,那你可以用ROW()-X来计算,只要保证第一次计算结果是35就行。
另外提个小优化建议:如果数据量比较大,VLOOKUP重复调用两次会有点浪费性能,你可以用INDEX/MATCH组合来简化,同时提升效率,公式大概是这样:
IF(INDEX('Jan 2024'!$D:$BP,MATCH(A2,'Jan 2024'!$D:$D,0),34+ROW(A1))<=0,"IGNORE",INDEX('Jan 2024'!$D:$BP,MATCH(A2,'Jan 2024'!$D:$D,0),34+ROW(A1)))
不过这个是可选方案,如果你习惯用VLOOKUP,第一种方法完全够用。
备注:内容来源于stack exchange,提问作者Owen210
相关产品推荐
相关产品推荐

