2015-07-21 24 views
-1

我有兩個excel文件,一個是從excel中提取的,另一個是從SAP中提取的。一個文件,較大的一個,有一個名爲EmployeeID的列,另一個文件有一個名爲EMP_ID的列,唯一的區別是名稱,這些列中的實際員工ID是相同的。我想要做的是將這兩個文件合併爲一個文件;但是,例如,第一個excel文件上的員工ID'ZZZ'可能在第一行,但在另一個文件中,'ZZZ'的EMP_ID可能在第35行。如何結合具有共同列(但不是相同的順序)的兩個excel

是否有辦法以某種方式組合這些2個文件?另外,按照EMP_ID A到Z排序不會有幫助,因爲這些文件沒有完全相同的條目數,因此不會同步它們,以便每個員工在每個文件的同一行上。

這兩個文件僅供參考。文件1 - http://i.imgur.com/go1S6Ra.png文件2 - http://i.imgur.com/x4vOKIN.png

+0

如果沒有像VBA這樣的東西(這可能對速度是可取的),您可以從兩張紙上提取名稱(將列表附加到另一張紙上),刪除重複項並將唯一列表用作VLOOKUP或INDEX/MATCH的關鍵字。 – pnuts

回答

0

下面是一個純粹的Excel解決方案。打開文件1,然後轉到空白表單。複製並粘貼文件2的內容。

轉到表2中空白列中的第一個單元格,並使用vlookup。公式看起來像這樣,但你必須修改它。

=VLOOKUP(A1,Sheet1.$A$1:$B$419,2,FALSE) 

有四個參數,你需要玩前三個來得到你想要的。

A1將此更改爲員工ID存在於表單2中的單元格。所以如果它在第三列,應該是C1

Sheet1.$A$1:$B$250這是來自文件1的數據的地方。第一個標籤的默認名稱是Sheet1,但根據打開文件的方式不同,它可能會有所不同。第二部分是數據範圍。左上角的單元格和右下角的單元格。所以如果你在第一張和第1000行中有5列,它將是$A$1:$E$1000(我將在最後解釋美元符號)

1第三個參數目標數據在僱員ID右側有多少列。所以如果你的列是ID,名字,姓氏,把3放在這裏會讓你的姓。

FALSE,這控制着excel的匹配行爲。 TRUE尋找近似匹配,但實際上它只是使事情變得不可預測。

一旦搜索正在工作,並且您正在查找您想要的內容,請填寫公式中的其餘列。如果您嘗試查找的ID不在Sheet1中,則會出現錯誤,因此請確保您調整了存在的公式。如果您需要查找多個事物(例如名字和姓氏),只需將公式拖到右側,併爲第三個參數輸入不同的數字。

那麼美元符號的交易是什麼?這會影響將公式向下或向上拖入新單元格時發生的情況。如果你這樣寫:

=VLOOKUP(A1,Sheet1.A1:B100,2,FALSE)

並向下拖動一個小區,你會得到這樣的:

=VLOOKUP(A2,Sheet1.A2:B101,2,FALSE)

所有行座標由一個上去。如果你拖過來,而不是所有的柱座標就上去一個,像這樣:

=VLOOKUP(B1,Sheet1.B1:C100,2,FALSE)

美元符號凍結他們在的地方,所以範圍不漂移。您希望搜索值繼續移動,因爲每條線都應查找下一個員工ID,但您不希望範圍移動。

相關問題