Excel:將兩個列集聚合為一個

Excel:將兩個列集聚合為一個

在一張 Excel 工作表中,我有兩個不同的資料集,每個資料集三列,它們代表非常相似的資料。

我想將其合併為一組三列。

每個資料集都有其最左邊的列作為我想要分組的鍵。

鍵在每個資料集中出現一次或從不出現。其他列是數字,並且可能為空(解釋為零)。這兩個系列的長度可能不同。

就像這樣:

[Name_A],[Score_A],[Value_A],[Name_B],[Score_B],[Value_B]
Adam,14,20,Johnny,8,
Johnny,11,,Bernice,5,5
,,,Adam,2,8

應匯總為:

[Name],[Score],[Value]
Adam,16,28
Johnny,19,
Bernice,5,5

最終結果中的行順序並不重要。

答案1

使用文字到列並使用逗號作為分隔符號來解析資料。然後編譯不同名稱的清單(您可以使用 Excel 資料標籤中的刪除重複項來完成此操作。)並使用=sumif(Name_Column,Name1,Value1_Column).

這應該透過名稱和值來概括所有內容。

例子

答案2

合併資料集的關鍵是提取唯一名稱的清單。這是很多如果名稱全部在一列中,則更容易。如果您必須按照所示方式排列數據,可以使用 VBA 解決方案,因此如果需要,請在下面發表評論。

在下面的第一個表中,我已將“B”資料移至“A”資料下,並在每個部分中新增了更多行。

在此輸入影像描述

此公式從 E2 向下填充,列出名稱並刪除重複項:

=IFERROR(INDEX((A$2:A$15),MATCH(0,COUNTIF($E$1:E1,A$2:A$15),0)),"")

它是一個陣列公式,所以必須用 來輸入CTRLShiftEnter

這兩個公式從 F2 和 G2 開始填寫,將清單中每個名字的分數和數值相加:

=IF(LEN(E2)<1,"",SUMIF(A$2:A$15,E2,B$2:B$15))

=IF(LEN(E2)<1,"",SUMIF(A$2:A$15,E2,C$2:C$15)) ______________________________________________________________________

怎麼運作的:內部COUNTIF()建立一個數組,其中包含 A 列中的每個名稱出現在 E 列的不斷增長的列表中的次數MATCH()。的row_num INDEX(),從 A 列選取名稱。

IFERROR()為具有 #NUM! 的行插入空白!當公式用完唯一值時出錯。

這兩個SUMIF()公式只是將每個名稱的分數和值數字相加。IF()為 E 列長度 < 1 的行插入一個空白(即儲存格沒有名稱並且顯示為空白)。

相關內容