我正在尝试根据其他列中的值删除/压缩列中的重复行。我尝试做的是让Excel在A列中发现重复项,然后在这组重复项中,删除B和C列中不包含特定值(x)的项,并将B和C列中的冗余值压缩到一行中。但是,如果在B或C列中的一组重复项中没有包含值(x)的记录,则删除除一条之外的所有记录(参见列A中的第16/17行)。
编辑:附件是原始数据的示例(左表),以及我试图通过语句实现的结果(右表)。
感谢您对如何编写可执行此任务的语句的任何帮助。
发布于 2021-07-10 01:28:08
我会使用PowerQuery来实现这一点。
方法
A1:B19
,转到功能区中的Data选项卡,然后选择From /range以打开PowerQuery编辑器并将所选区域加载到查询中。将其重命名为"Load_Data".
Unique_ColumnA
let
Source = Load_Data,
KeepColumnA = Table.SelectColumns(Source ,{"Column A"}),
RemoveDuplicates = Table.Distinct(KeepColumnA)
in
RemoveDuplicates
Content_ColumnB_C
let
Source = Load_Data,
CheckIfEmpty = Table.AddColumn(Source, "IsEmpty", each if ([Column B] <> null) and ([Column C] <> null) then false else true),
FilterForNonEmpty = Table.SelectRows(CheckIfEmpty, each ([IsEmpty] = false))
in
FilterForNonEmpty
结果
let
Source = Table.NestedJoin(Unique_ColumnA, {"Column A"}, Content_ColumnB_C, {"Column A"}, "Content_ColumnB_C", JoinKind.LeftOuter),
Show_ColumnBC = Table.ExpandTableColumn(Source, "Content_ColumnB_C", {"Column B", "Column C"}, {"Column B", "Column C"})
in
Show_ColumnBC
https://stackoverflow.com/questions/68302474
复制相似问题