Excel - 將重複行的資料移至新列

Excel - 將重複行的資料移至新列

我有重複的行,代表購買了不同商品的客戶。購買的商品位於一列。我想將它們移至單獨的列,以便我可以匯入到不同的程式。所以我的數據看起來像這樣:

上傳的Excel截圖

John  book          
John  ball          
John  bat           
Tom   book          
Tom   bat           
Kate  ball

我希望將購買的商品的資料移至單獨的列,如下所示:

John   book   ball   bat

Tom    book    -     bat

Kate    -     ball    -

每本書、球和球棒都有自己的欄位。

答案1

從 向下填入的此公式A8將列出客戶名稱,並刪除重複項:

=IFERROR(INDEX($A$1:$A$6,MATCH(0,COUNTIF(A$7:A7,$A$1:$A$6),0)),"")

這是一個陣列公式,因此必須使用 來輸入CTRLShiftEnter,而不僅僅是Enter

此公式從 右下方填寫B8,將列出每位客戶的購買情況:

=IF(SUMPRODUCT(($A$1:$A$6=$A8)*($B$1:$B$6=INDEX($B$1:$B$3,COLUMN(A1))))>0, INDEX($B$1:$B$3,COLUMN(A1)),"")

在此輸入影像描述

B1:B3請注意,最後一個公式依賴於購買的有序列表這一事實。這可能是巧合,類似的清單可能位於任何地方。如果列表是水平的而不是垂直的,則公式會更簡單。假設列表位於 中E1:G1,則公式為:

=IF(SUMPRODUCT(($A$1:$A$6=$A8)*($B$1:$B$6=E$1))>0,E$1,"")

與第一個類似的數組公式,直接從 E1 填充,可以列出那裡的購買情況:

=IFERROR(INDEX($B$1:$B$6,,MATCH(0,COUNTIF($D1:D1,$B$1:$B$6),0)),"")

相關內容