簡體   English   中英

EXCEL:如何合並2套客戶數據

[英]EXCEL: How to merge 2 sets of customer data

我敢肯定,這個問題的答案很簡單,但是經過大量研究,我仍然找不到我想要的東西。 我不是excel專業人士,但確實有一些經驗。

基本上,我有兩組數據,這些數據按客戶帳號索引,並在一個文件中提供某些值,例如銷售額,利潤,成本等,在另一個文件中提供負責的銷售代表以及聯系的時間。

我現在的目標是將這兩個文件合而為一,以便我在第一列中具有客戶ID,並在一張紙上的第二列中具有與該客戶號有關的所有數據。

但是,兩張表中的客戶編號沒有進行任何排序,因此我不能只復制和粘貼它,而且我正在處理相當大的數據集,所以不能僅僅手動進行。 此外,第一張工作表中的客戶ID比第二張工作表中的要多,因為某些數量的客戶缺少某些數據。

我如何基本上可以自動合並屬於每個客戶的數據,以便最終將其顯示在一行中?

我建議您通過創建第三個綜合列表來合並這兩個列表,該列表從原始數據文件中提取。

設置新的結果表

假定一個列表在Book1的sheet1中,而另一個列表在Book2的sheet1中。 打開一個新的Excel文件。 將標題放在頂部。 接下來,您將創建一個索引,該索引顯示所有唯一的客戶ID號,並按編號排序。 僅當沒有重復的ID時才有效 (除了引用相同cusotmer的ID除外)。

手動將“客戶ID”列從Book1復制到“新書”中。 在“新書”的同一列中,從Book1客戶下面的Book2中手動復制客戶ID。 突出顯示客戶ID列。 轉到數據功能區,然后刪除重復項。 然后右鍵單擊您的數據,然后單擊“排序”。 這將為您留下一個訂購的客戶ID列,而其他標題下的所有其他字段將為空白。

Vlookup公式

接下來,您將使用2個vlookup公式,類似於@StaceyBurns在下面建議的公式。 Vlookup采用一個特定的唯一值,並在數據塊的最左列上查找該值。 然后,它第一次找到該值的匹配項,並從給定列數之外的該行上的單元格返回一個值。 因此,例如:

=VLOOKUP(A1,B1:D5,2,FALSE)

說:取在A1中找到的唯一值,從行1:5在B列中查找該值,然后從數據塊B:D(列C)中返回第二列的結果。 因此,如果A1與B3相同,則此公式將為C3提供結果。 FALSE表示如果沒有匹配項,它將嘗試估算您的值。

假設所有文件的客戶索引都在A列中。還假設所有其他標頭的順序相同,例如從A1:H1開始。 在新工作簿中使用VLOOKUP的公式如下-將其放在B2中:

=VLOOKUP($A2,[Book1.xlsx]Sheet1!$A:$H,column(),FALSE)

這會在Sheet1的B列標題下為您提供匹配的金額,其中Sheet1!的客戶ID與新書的單元格A2中顯示的客戶ID匹配。 但是,我們需要知道它是否能夠從Book1中正確獲取值-因為我們知道某些數據是不完整的。 因此,讓我們檢查以上結果是數字還是文本:

確定是否在Sheet1中找到結果

=OR(ISTEXT(VLOOKUP($A2,[Book1.xlsx]Sheet1!$A:$H,COLUMN(),FALSE)),ISNUM(VLOOKUP($A2,[Book1.xlsx]Sheet1!$A:$H,COLUMN(),FALSE)))

如果結果是數字或文本,則將返回TRUE。 因此,如果在Book1 Sheet1上找不到該ID號的匹配項,或者結果為空白單元格,它將返回FALSE。 因此,現在將其放入IF語句中-如果它返回true,則需要Book1的結果。 如果返回false,則我們希望通過完全相同的公式從Book2中提取結果。 這整個事情看起來像這樣:

最終配方

=IF(OR(ISTEXT(VLOOKUP($A2,[Book1.xlsx]Sheet1!$A:$H,COLUMN(),FALSE)),ISNUM(VLOOKUP($A2,[Book1.xlsx]Sheet1!$A:$H,COLUMN(),FALSE))),VLOOKUP($A2,[Book1.xlsx]Sheet1!$A:$H,COLUMN(),FALSE),VLOOKUP($A2,[Book2.xlsx]Sheet1!$A:$H,COLUMN(),FALSE))

現在,它將嘗試從Book1中找到匹配項-如果ID不匹配,或者該匹配項返回該標頭的空白值,則它將嘗試從Book2中找到匹配項。 如果沒有找到匹配項,它將返回#N / A! (這不應該發生,因為這意味着您已經刪除了我們直接從Book1和Book2中提取的客戶ID之一)。 如果該數據段不在任何一個表中,則它可能返回一個空白單元格。 該公式可以從B2一直復制到結果表中數據塊的右下角。

您可以在第一張紙上使用VLOOKUP函數將第二張紙中的數據引入。

因此,例如,在第一張工作表上留空列,並添加如下所示的VLOOKUP函數:

=VLOOKUP(cell to lookup,
set of data on 2nd file,
column index on 2nd file of data you want,
TRUE/FALSE Boolean to ask for either close match or exact match )

如果您的客戶ID在A列中,並且您的第二張紙像這樣:

A1客戶編號

B2銷售代表

C3聯系次數

那么您將首先查找銷售代表:

=VLOOKUP(A1,Sheet2!$A$1:$C$15,2,FALSE)

然后雙擊該單元格的右下角以填充所有行的公式。

然后在新單元格中進行“聯系次數”中的相同操作:

=VLOOKUP(A1,Sheet2!$A$1:$C$15,3,FALSE)

(請注意,我在上面的VLOOKUP中以C15為例。它應該是文件2中的行數)

更多信息: https : //support.office.com/zh-cn/article/VLOOKUP-function-0bbc8083-26fe-4963-8ab8-93a18ad188a1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM