我有一个 Excel 表格
第 1 列有一个项目列表。
我想通过匹配它们将它们分类在不同的标题下,例如如果该项目是“苹果”,我想将其与“水果”列相匹配。请参阅下面的示例。我知道我必须创建每个类别下所有项目的列表(然后使用公式来匹配并返回匹配值),但很难找到匹配并返回所有匹配项的公式。
物品 | 服装 | 水果 | 技术 |
---|---|---|---|
苹果;梨;裤子;电脑 | 裤子 | 苹果;梨子 | 电脑 |
我尝试过 VLOOKUP 但只返回一场比赛
你可以用一个小的 powerquery 来做到这一点
let Source = Excel.CurrentWorkbook(){[Name="Table2"]}[Content],
#"Added Index" = Table.AddIndexColumn(Source, "Index", 0, 1, Int64.Type),
#"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Added Index", {{"Items", Splitter.SplitTextByDelimiter("; ", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Items"),
#"Merged Queries" = Table.FuzzyNestedJoin(#"Split Column by Delimiter", {"Items"}, Table1, {"Column1"}, "Table1", JoinKind.LeftOuter, [IgnoreCase=true, IgnoreSpace=false]),
#"Expanded Table1" = Table.ExpandTableColumn(#"Merged Queries", "Table1", {"Column2"}, {"Column2"}),
#"Pivoted Column1" = Table.Pivot(#"Expanded Table1", List.Distinct(#"Expanded Table1"[Column2]), "Column2", "Items", List.Count),
#"Pivoted Column" = Table.RemoveColumns(Table.Pivot(#"Expanded Table1", List.Distinct(#"Expanded Table1"[Column2]), "Column2", "Items", each Text.Combine(_, "; ")),{"Index"}),
Final = Table.FromColumns(Table.ToColumns(Source)&Table.ToColumns( #"Pivoted Column"), Table.ColumnNames( Source)&Table.ColumnNames( #"Pivoted Column"))
in Final