问题:vlookup返回最后列
有多个备注列,返回最后一个非空内容
解:
如果已经知道最后一个内容是在第5列的话,那就是非常标准的vlookup
=VLOOKUP(H2,A:F,5,0)
但是我不知道最后内容是在哪列,我们就可以用公式动态获取到最大有效列号
那就可以用match查找到姓名所在的行,再计算该行的有效个数,就是有效列号
=COUNTA(OFFSET($A$1:$F$1,MATCH(H2,A:A,0)-1,0))
返回最大列号后,就可以用来做vlookup的第3参数
全公式为
=VLOOKUP(H2,A:F,COUNTA(OFFSET($A$1:$F$1,MATCH(H2,A:A,0)-1,0)),0)
但是只能处理中间没有空格的备注,如第7行后的数据不适用
想要通过用就用
=VLOOKUP(H2,A:F,MAX(IF(OFFSET($B$1:$F$1,MATCH(H2,A:A,0)-1,0)<>"",COLUMN(B:F),""))-0,0)
按住shift+Ctrl+回车
-0位置,需要减去姓名列前面的列数,如果数据表是在D列开始的,就需要-3
或者明确知道数据是数字/文本的可以用下面公式
数字
=LOOKUP(9999999,OFFSET($B$1:$F$1,MATCH(H2,A:A,0)-1,0))
文本
=LOOKUP("座",OFFSET($B$1:$F$1,MATCH(H2,A:A,0)-1,0))
