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

时间:2017-06-02 08:43:16

标签: excel vlookup

我正在创建一个相当简单的VLOOKUP函数,它以相同的格式比较两个电子表格(但可能有不同的数据,想想新工资,新部门等)。现在,我创建的公式有效 - 但仅适用于一列。我遇到的问题是,当我将公式拖到旁边的单元格时,两个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?其他一切都做了,比如New!H15变成New!L15等。

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

如果无法做到这一点,我的陈述是否可以通过INDEX IF MATCH声明完成?

1 个答案:

答案 0 :(得分:2)

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

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

假设您在C列(即第3列)中输入公式,并且想要从B返回一个值,则从列公式中减去1,使其返回2:

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