Excel 整列的单元格都有文字和数字混合,如何按数字升序排序?

B站影视 内地电影 2025-04-10 07:30 2

摘要:很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。

解答网友提问:单元格内容由文本+数字组成,如何在不改变数据表的前提下,按数字排序?

这种需求一听就是哪个领导天马行空的要求,没关系,当好打工人,领导要啥就是啥。

将下图 1 中的 A 列根据单元格中的数字升序排序,效果如下图 2 所示。

1. 在 B2 单元格中输入以下公式 --> 回车:

=SORTBY(A2:A21,--RIGHT(A2:A21,LEN(A2:A21)-(LENB(A2:A21)-LEN(A2:A21))))

如果这个公式让大家理解困难,那我先拆解并简化一下,你们就知道在说啥了。

在 C2 单元格中输入以下公式 --> 下拉复制公式:

=RIGHT(A2,LEN(A2)-(LENB(A2)-LEN(A2)))

公式释义:

LENB(A2)-LEN(A2):将 A2 单元格的字节数减去字符数,就得到文本数;因为文本占 2 个字节;LEN(A2)-...:用总字符数减去文本数,就是数字个数;RIGHT(A2,...):从 A2 单元格中从右向左提取出数字个数,即提取所有数字

那现在再回过头看 B 列的公式:

将 RIGHT 函数中的 A2 单元格全都变成了 B 列的内容区域,形成数组;--RIGHT(...):-- 的目的是将提取出来的文本数字转换为数值格式,这样才能排序;SORTBY(A2:A21,...):将 A2:A21 根据第二个参数中的数值升序排序解决方案 2:

如果没有 365 函数,那么还是用 PQ 最省事。

1. 选中数据表的任意单元格 --> 选择任务栏的“数据”-->“来自表格/区域”

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

表格已经上传至 Power Query。

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

4. 选中第二列 --> 选择任务栏的“主页”-->“拆分列”-->“按照从非数字到数字的转换”

5. 将最后一列的格式修改为整数。

6. 将最后一列按升序排序。

7. 删除最后两列。

8. 选择工具栏的“主页”-->“关闭并上载”-->“关闭并上载至”

9. 在弹出的对话框中选择“表”--> 选择“现有工作表”及所需上传至的位置 --> 点击“确定”

右侧绿色的表格就是排序结果。

来源:Excel学习世界

相关推荐