如何匹配单元格中的值并返回所有匹配项(excel)

问题描述 投票:0回答:1

我有一个 Excel 表格

第 1 列有一个项目列表。

我想通过匹配它们将它们分类在不同的标题下,例如如果该项目是“苹果”,我想将其与“水果”列相匹配。请参阅下面的示例。我知道我必须创建每个类别下所有项目的列表(然后使用公式来匹配并返回匹配值),但很难找到匹配并返回所有匹配项的公式。

物品 服装 水果 技术
苹果;梨;裤子;电脑 裤子 苹果;梨子 电脑

我尝试过 VLOOKUP 但只返回一场比赛

excel indexing filter match vlookup
1个回答
0
投票

你可以用一个小的 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

© www.soinside.com 2019 - 2024. All rights reserved.