Excel Power Query 按三个以上的条件依次排序,不好办啊
前一篇教程我分享了在 Power Query 中如何按两个条件排序,有同学提问:如果要排序条件达到三个以上呢?在设置上的有没有可参照格式?
那今天就给大家教一下升级版,学会了三条件排序,后面就可以举一反三,无论有多少个条件只要往后依样加就可以了。
案例:
下图 1 是各部门的收入明细表,要求:
- 先以“部门”为单位排序;
- 再按“底薪”从高到低降序排序
- 最后按“总收入”从高到低降序排序
效果如下图 2、3 所示。
解决方案:
1. 选中数据表的任意单元格 --> 选择菜单栏的“数据”-->“从表格”
2. 在弹出的对话框中保留默认设置,点击“确定”
表格就上传到 Power Query 中了。
3. 选择菜单栏的“主页”-->“分组依据”
4. 在弹出的对话框中按以下方式设置 --> 点击“确定”:
- 分组依据:从下拉菜单中选择“部门”
- 操作:选择“所有行”
5. 展开公式栏 --> 按以下方式修改代码:
- 将红框中的 “each_” 替换为 “each Table.Sort(_,{{"底薪", Order.Descending},{"总收入", Order.Descending}})”
代码释义:
- 以“部门”为分组依据的基础上,依次以“底薪”和“总收入”为第一、第二优先级降序排序。
6. 点击 Count 列标题右边的展开按钮 --> 在弹出的菜单中按以下方式设置 --> 点击“确定”:
- 选择“展开”
- 取消勾选“部门”
- 取消勾选“使用原始列名作为前缀”
7. 选择菜单栏的“主页”-->“关闭并上载”-->“关闭并上载至...”
8. 在弹出的对话框中选择“现有工作表”及需上传的位置 --> 点击“加载”
绿色区域是按需求排序后的表格,可能有的同学发现了,因为每个部门内部的底薪都没有重复值,所以无法判断第三优先级“总收入”是否正确排序。
那我们就修改一下源数据,再来看结果。
9. 以“客服部”为例,将底薪分别修改为 3000 和 4000 各两人。
10. 选中绿色表格的任意单元格 --> 右键单击 --> 在弹出的菜单中选择“刷新”
绿色的结果区域就同步刷新了结果。
从“客服部”的结果来看,确实是先按“底薪”,再按“总收入”降序排序,说明设置完全正确。
很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。
现在终于有了,文中专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。