你好,我是小必,感谢与你在这里相遇。
我的第300篇原创Excel文章
今日内容:Excel Power Query
Excel Power Qeury真是一个强大的工具,对于数据,想怎么样转换就可以怎么样转换。这得益于Power Query的M函数。而常规的图形操作基本,有时候对于比较复杂的转换是无能为力的。
如图所示,将下面的左侧的数据转换至右侧的数据。
下面给大家介绍两种方法,一种是使用图形为主,辅助修改部分公式的方法;另外一种是使用纯M公式来完成。
方法一:
Step-1:先将数据加载至Power Query中。单击数据区域中的任意一个单元格,然后单击【数据】-【从表格/区域】选项,在弹出的对话框是勾选【表包含标题】复选框,最后单击【确定】按钮。如图所示。
Step-2:选中第一列,右键单击【向下填充】选项。如图所示。
Step-3:选择第一列,单击【分组依据】选项,在弹出的对话框中单击【确定】按钮。如图所示。
Step-4:然后将公式编辑栏中的公式中“Table.RowCount(_)”部分修改为“Text.Combine(_[经营区域],",")”,如图所示。
Step-5:选中第二列,单击【拆分列】-【按分隔符】选项,在弹出的对话框中选择分隔符,直接单击【确定】即可。如图所示。
最后结果如图所示。
但是使用上述的方法 效率十分地慢,并且如果有数据变动的时候,就会发生错误。所以这样的方法还是不太靠谱的。
下面介绍第二种方法,直接使用M公式一步完成。
在将数据加载至Power Query编辑器中,在公式编辑栏中输入以下公式。
该公式中重点使用了Table.Group函数的第4参数与第5个参数,即局部分组与对第二个参数进行判断分组的原理。
另外需要注意的一点就是将list转换成record时候要注意标题的命名。所以这一部分十分地重要。