EXCEL中,VLOOKUP函数的第三参数,是指希望返回第几列的数据,这个参数往往用数字表示,是固定的,如果在源信息表里增减列,就不会返回想要的结果,不随增减列影响结果的方法:
返回列的序号,用表达式,而不用固定数字序号,比如:=VLOOKUP(C2,Sheet1!A:N,COLUMN(Sheet1!N1),0),这里要返回N列的数据,不直接用14,而是用COLUMN(Sheet1!N1),来生成14,这样当源表增减列时,N1也会随之变化,自动变成取原先想要的那列数据;
增加列时不会出错,删除列时要注意,一定不能删除公式中引用到的列,否则结果为错误值;
源表与待返回单元格不在一个工作表时,返回列序号的函数引用中,一定要加源表的工作表名,比如:COLUMN(Sheet1!N1),这样引用才会随源表增减变动。
你就把VLOOKUP的第三个参数改为:
match("入职时长(月)",$2:$2,)
打上表1中,入职时长的列标题,一定要与表2N列的标题相同,如“入职时长(月)"
然后你的VLOOKUP函数这样打
=VLOOKUP(A2,表2!A:ZZ,MATCH(表1!B1,表2!2:2,0),FALSE)
=vlookup(C2,A:N,COLUMN(N:N),0)