Excel VLOOKUP – 如何使用列名而不是列号?

我正在创build一个相当简单的VLOOKUP函数,它以相同的格式比较两个电子表格(但可能会有不同的数据,认为新的工资,新的部门等等)。 现在,我创build的公式的作品 – 但只有一列。 我遇到的问题是,当我拖动公式到它旁边的单元格时,两个VLOOKUP语句中的“8”不会变成“9”(并且反过来它将会变成“10”,“11” ','12'等)。

=IF(VLOOKUP($A15,Old!$A:$R,8,FALSE)=VLOOKUP(Sheet1!$A15,New!$A:$S,8,FALSE),"",New!H15) 

有没有办法让VLOOKUP语句中的列号每当我把它拖到一个新的列时+1? 其他的一切,如新!H15变成新!L15等。

如果没有,有没有办法让列名取代列号? 列名必须是单元格格式,因为它们都是不同的,例如不是说“业务单位”,而是说H1等。

如果这是不可能的,我的声明可以通过INDEX IF MATCH声明来完成吗?

使用函数返回input公式的列的列号。 然后根据您想要返回的列号添加或减去。 假设你在列B中input公式,并且你想从B返回一个值:

 =IF(VLOOKUP($A15,Old!$A:$R,column(),FALSE)=VLOOKUP(Sheet1!$A15,New!$A:$S,column(),FALSE),"",New!H15) 

假设您在列C(这是列3)中input公式,并且想要从B返回一个值,则从列公式中减1,以便返回2:

 =IF(VLOOKUP($A15,Old!$A:$R,column()-1,FALSE)=VLOOKUP(Sheet1!$A15,New!$A:$S,column()-1,FALSE),"",New!H15)