Excel之PowerQuery 追加查询后对表格按列去重
网友提问:



不管,你的文件来自何方,你现在是不是要做这件事?如果是,就把他们拷贝到一个文件夹下或者放到一个工作簿下。如果文件大到拷贝特慢,那PowerQuery根本无法处理,因为PowerQuery只能处理几十万行数据。
如果想连接公司服务器,请联系您公司IT人员,需要他受权,如遇公司共享文件夹,如果不会使用,请联系公司内部相关IT人员处理。
我只帮你处理表格。。。



以上三张表想做成:

追加查询在同一工作簿和不同工作簿我们都讲过

这位网友,没卡在追加查询这里,他卡在追加查询之后了,所以关于追加查询的知识,请到PowerQuery 107集合集中看相对应的视频。接下来我们只讲网友的问题。
我在PowerQuery中已经导入了3张表

鼠标右键~新建查询~其它源~空白查询

将3张表链接在一起,我用这个操作代替上面的追加查询

从现在开始是网友卡住的地方
接下来分组,现在x就代表数据列的每个Table

我们需要取第3~6列最大值,思考步骤如下:
已知:x代表数据列每个Table
Table.ToColumns(x) 按列转列表
List.Skip(Table.ToColumns(x),2) 跳过列表前2行,就是第3~6列数据
List.Transform(List.Skip(Table.ToColumns(x),2) ,each List.Max(_)) 遍历列表,取最大值
Table.FromRows({List.Transform(List.Skip(Table.ToColumns(x),2) ,each List.Max(_))},List.Skip(Table.ColumnNames(x),2)) 按行转成表,加表头
我们把它们写到我们上面公式中,代替x
以上每一个函数,我都在107集合集中详细讲过。
完整代码:

接下来做动态表头

然后展开分组那一步

最后修改一下利润率的数据类型

得到结果:


PowerQuery合集:https://www.bilibili.com/video/BV1oa4y1j75e