在 Excel 上水平重新组织数据

在 Excel 上水平重新组织数据

如何重新组织数据:

COLUMN A   COLUMN B
Fruit      Apple
Fruit      Banana
Fruit      Lemon
Fruit      Mango
Fruit      Orange
Vegetables  Carrots
Vegetables  Potatoes

变成这样:

COLUMN A   COLUMN B
Fruit      Apple,Banana,Lemon,Mango,Orange
Vegetables  Carrots,Potatoes

答案1

对于 Excel 365

C1进入:

=UNIQUE(FILTER(A:A,A:A<>""))

D1进入:

=TEXTJOIN(",",TRUE,IF(A:A=C1,B:B,""))

并向下复制:

在此处输入图片描述

答案2

如果您有 Excel 2010+,则可以使用 Power Query。

  • Group by列 1
  • 使用List.Accumulate函数聚合来连接 Column2 中的相关文本条目
  1. 将光标放在表格中的某个单元格上 Data / Get&Transform / From Text/Range
  2. 当 PQ UI 打开时,选择“主页/高级编辑器
  3. 在第 2 行记录您将看到的表名称,在第 3 行记录列名称
  4. 将下面的 MCode 粘贴到窗口中
  5. 编辑表名和列名以匹配您的表的外观。
  6. 关闭并加载(至新工作表)或加载至现有工作表上的某个位置。

M 代码

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type text}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"Column1"}, {{"Grouped", each
            List.Accumulate(Record.Field(_,"Column2"), "", (state, current) => 
                if state = "" then current
                else state & ", " & current)}})
in
    #"Grouped Rows"

在此处输入图片描述

相关内容