如何在Excel中匹配和合并查找结果?

如何在Excel中匹配和合并查找结果?

我是 Excel 新手,做这个的时候总是卡住。我猜肯定有一些关于“查找”功能的工作,但我不知道该用哪一个,也不知道该如何开始。

假设我的第一张表有两列:

项目A 项目B
飞机 苹果
公共汽车 香蕉
公共汽车 草莓

如您所见,第一列不包含唯一值(“bus”出现两次)

我有第二张表,其中包含两列:

项目A 项目B
飞机
公共汽车
飞机(回车)车

同样,第一列可以有重复项(这里是“car”),但单个单元格可以包含由 CR(回车)字符分隔的多个值。

我想要找到一个函数,它将从第一张表获取 (ItemB) 的所有值并将它们复制到第二张表的 ItemB 列中。

因此,“巴士”项目将具有“香蕉(回车)草莓”,两个“汽车”将具有“梨”填充,“飞机(回车)汽车”将在 ItemB 列中具有“苹果(回车)梨”值。

第二张表将是:

项目A 项目B
飞机 苹果
公共汽车 香蕉(回车)草莓
飞机(回车)车 苹果(回车)梨

这样的事可以做吗?

谢谢 !

答案1

数据选项卡包含完成此任务所需的所有工具。首先,将原始数据转换为表格。将第一个表命名为“SourceTable”,将第二个表命名为“TargetList”。现在创建一个新请求并将其代码替换为以下内容

let
    ListByRef = (celltext, table) =>
        let
            MakeTable = Table.FromList(Lines.FromText(celltext), Splitter.SplitByNothing(), null, null, ExtraValues.Error),
            MergeValues = Table.NestedJoin(MakeTable,{"Column1"},table,{"ItemA"},"NewColumn",JoinKind.Inner),
            Extract = Table.ExpandTableColumn(MergeValues, "NewColumn", {"ItemB"}, {"ItemB"}),
            ClearTable = Table.SelectColumns(Extract,{"ItemB"}),
            SingleCell = Lines.ToText(Table.Column(ClearTable , "ItemB"))
        in
            SingleCell, 
    Source = Excel.CurrentWorkbook(){[Name="SourceTable"]}[Content],
    Target = Excel.CurrentWorkbook(){[Name="TargetList"]}[Content],
    SingleColumn = Table.SelectColumns(Target,{"ItemA"}),
    Result = Table.AddColumn(SingleColumn, "ItemB", each ListByRef ([ItemA],Source))
in
    #"Result"

结果

(有关使用 PowerQuery 对表格数据进行各种转换的更多信息,请参阅YouTube 上的培训视频

相关内容