文本和数字混合的列怎么排序?你看到的数值不是 Excel 认为的数值

Excel 的数据表排序,经常也会“不听话” , 我们人类认为的和计算机认为的,根本就不是同一回事 。比如“1月”、“2月”……“12月”,最后排序出来是“1月”、“10月”、“11月”、“12月”、“2月”……“9月” 。这是因为我们所看到的数字,在 Excel 中其实并不是真正的数字 。


可能大家觉得听起来有点绕,那就用一个案例来看一下吧 。


案例:



【文本和数字混合的列怎么排序?你看到的数值不是 Excel 认为的数值】下图 1 是某公司销售的业绩表,该公司的员工号是以 GH 开头 , 第三位字母代表不同的部门,第 4 位开始的数字是按入职先后顺序排的 。


请按员工号的顺序排序整个数据表,效果如下图 2 所示 。
文本和数字混合的列怎么排序?你看到的数值不是 Excel 认为的数值

文本和数字混合的列怎么排序?你看到的数值不是 Excel 认为的数值



解决方案:



1. 选中 A 列的任意单元格 --> 选择菜单栏的“数据”--> 在“排序和筛选”区域选择“升序”
文本和数字混合的列怎么排序?你看到的数值不是 Excel 认为的数值



A 列确实按升序排序了,但是跟我们期望的不一样,这是因为:
  • A 列是文本值,文本中即使出现数字,也还是被当作文本型数字对待;
  • 文本的排序规则就是先按文本的第一位排序,接下来第二位、第三位……以此类推;
  • 当排到数字时,并不是拿 12 和 7 比较,而是比较同等位数的“1”和“7”,因此就会出现下面这样的结果 。

文本和数字混合的列怎么排序?你看到的数值不是 Excel 认为的数值



如何解决这个问题?就要用到下面的方法了 。


2. 将 E 列设置为辅助列 --> 在 E2 单元内输入以下公式 --> 下拉复制公式:
=LEFT(A2,3)&TEXT(RIGHT(A2,LEN(A2)-3),"000")


公式释义:
  • LEFT(A2,3)&:提取 A2 单元格的左边 3 位字符,即字母部分 , 用连接符号“&”跟后面的公式结果相连接;
  • RIGHT(A2,LEN(A2)-3):
    • 将 A2 单元格的字符串从右向左提取若干位;
    • 位数为 A2 单元格的总长度减去 3 位,即只提取出数字部分
  • TEXT(...,"000"):将提取出来的数字显示成 3 位数,不足三位以 0 补充

文本和数字混合的列怎么排序?你看到的数值不是 Excel 认为的数值

文本和数字混合的列怎么排序?你看到的数值不是 Excel 认为的数值

文本和数字混合的列怎么排序?你看到的数值不是 Excel 认为的数值



3. 选中 E 列的任意单元格 --> 选择菜单栏的“数据”-->“升序”
文本和数字混合的列怎么排序?你看到的数值不是 Excel 认为的数值



现在 A 列就按需求排序好了 。
文本和数字混合的列怎么排序?你看到的数值不是 Excel 认为的数值



很多同学会觉得 Excel 单个案例讲解有些碎片化 , 初学者未必能完全理解和掌握 。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点 。
现在终于有了,以下专栏,从最基础的操作和概念讲起 , 用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手 。

相关经验推荐