Excel - 如何使用数据透视表转置词汇表

Excel - 如何使用数据透视表转置词汇表

我对 Excel 还很陌生,我认为我需要使用数据透视表来实现这一点,但不太清楚如何使用。

如果有更好的方法来做到这一点,我很乐意学习。

我有:

| pages|        |       |
|:---- |:------:| -----:|   
| 1    |test    |mark
| 2    |dog     |   
| 3    |        |
| 4    |mark    |
| 5    |cat     |test

我想:

| words | pages|
|:----  |------:|
|cat    |5
|dog    |2
|mark   |1,4
|test   |1,5

答案1

为了使用数据透视表,您需要首先重塑数据,例如使用 Power Query。

另一种方法是使用基于公式的设置:

=LET(
    ζ,A2:C6,
    κ,DROP(ζ,,1),
    λ,TAKE(ζ,,1),
    ξ,SORT(UNIQUE(TOCOL(κ,1))),
    HSTACK(ξ,BYROW(ξ,LAMBDA(γ,TEXTJOIN(",",,UNIQUE(TOCOL(IF(κ=γ,λ,"")))))))
)

答案2

PowerQuery 可以完成所有工作。首先,将您的表声明为表格(插入/表格)。请务必指出您的表已经有列标题。

然后将您的表命名为“table”。

然后数据/新查询/来自其他源/空查询。在“高级编辑器”中,复制:

let
    Source = Excel.CurrentWorkbook(){[Name="Table"]}[Content],
    Unpivoted = Table.UnpivotOtherColumns(Source, {"pages"}, "Attribut", "Words"),
    Grouped = Table.Group(Unpivoted, {"Words"}, {{"Pages", each Text.Combine(List.Transform([pages],each Number.ToText(_)),","), type text}}),
    Sorted = Table.Sort(Grouped,{{"Words", Order.Ascending}})
in
    Sorted

如果您的表格的第一列有“表格”(区分大小写),则此方法有效。

相关内容