不加辅助列,如何排序Excel数据透视表中文本格式的行字段?

Excel学习世界 2025-04-15 22:28:50

制作数据透视表,如果行字段由数字和文本组合而成,在不添加辅助列的前提下,能否按单元格中的数字大小排序?

案例:

将下图 1 的数据表制作成数据透视表,要求姓名列必须按照名字前面的整段数字从小到大排序,效果如下图 2 所示。

解决方案:

1. 直接做透视表的话,只能按第一个数字排序。

当然可以加个辅助列,将数值提取出来,制作数据透视表的的时候按辅助列排序。但是这样的话就改变了数据表和数据透视表的构造。

最理想的结果就是不要额外增加辅助列,也要把事儿办了。

下面是正确的做法。

1. 选中数据表的任意单元格 --> 选择任务栏的“数据”-->“从表格”

2. 在弹出的对话框中保留默认设置 --> 点击“确定”:

表格已经上传至 Power Query。

3. 将“月份”列的格式修改为“文本”。

4. 在弹出的对话框中点击“替换当前转换”。

5. 选中“姓名”列 --> 右键单击 --> 在弹出的菜单中选择“重复列”

6. 选中最后一列 --> 选择任务栏的“主页”-->“拆分列”-->“按照从数字到非数字的转换”

7. 将拆分出来的数字列的格式修改为“整数”。

8. 删除最后一列。

9. 选择任务栏的“主页”-->“关闭并上载”-->“关闭并上载至”

10. 在弹出的对话框中选择“仅创建连接”--> 勾选“将此数据添加到数据模型”--> 点击“加载”

* 注意:务必要勾选项下方的选项,成败的关键就在这里。

11. 在 Excel 中选择任务栏的 Power Pivot -->“管理”

* 如果任务栏中没有 Power Pivot,可以参考 将多个Excel数据表连接起来透视分析,是时候祭出 Power Pivot 了​。

12. 选中“姓名”列 --> 选择任务栏的“主页”-->“按列排序”-->“按列排序”

13. 在右侧“依据”区域的下拉菜单中选择“姓名-复制.1”--> 点击“确定”

14. 选择任务栏的“主页”-->“数据透视表”

15. 选择“现有工作表”及所需上传至的位置 --> 点击“确定”

可以看到上方的区域中有两个表,一个是我们建模的表,另一个是原数据表。

16. 从建模的表中将“姓名”拖动到“行”区域,“业绩”拖动到“值”区域。

右侧的数据透视表,就很神奇地按整段数字升序排序了。

0 阅读:0

Excel学习世界

简介:Excel 学习交流