2017-06-02 101 views
0

我正在創建一個相當簡單的VLOOKUP函數,它以相同的格式比較兩個電子表格(但可能會有不同的數據,認爲新的工資,新的部門等)。現在,我創建了這些公式 - 但僅限於一列。我遇到的問題是,當我將公式拖動到它旁邊的單元格時,兩個VLOOKUP語句中的'8'不會變爲'9'(並且反過來它會轉到'10','11 ','12'等)。Excel VLOOKUP - 如何使用列名而不是列號?

=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語句完成嗎?

回答

2

使用函數返回輸入公式的列的列號。然後根據要返回的列號添加或減去。假設你正在進入在列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) 
+1

完美,很棒!謝謝Nitesh –