乐于分享
好东西不私藏

EXCEL技巧 | 数字 + 文字排序总乱套?一个公式搞定

EXCEL技巧 | 数字 + 文字排序总乱套?一个公式搞定

不少朋友在 Excel 排序时都踩过坑:明明是1 楼、2 楼、12 楼、112 楼这类带文字的序号,直接排序却变成 1 楼、112 楼、12 楼、2 楼,数字越大越乱,完全不符合逻辑。 其实不用复杂操作,一个LEFT 提取数字公式,就能让文本按真实数值精准排序。

一、为啥带文字排序会乱?

像 “1 楼、2 楼、12 楼” 这类数据,Excel 会默认识别为文本格式

文本排序是逐字符对比,而非数字大小对比:先对比第一位数字,1 开头的全部排前面,再对比第二位,最终导致数字顺序错乱。

想要正确排序,核心思路只有一个:先提取纯数字,再按数字排序

二、1 个核心公式,提取纯数字

适用场景:数字在前、固定文字在后,如 1 楼、2 单元、3 号、5 栋等。以 A 列存放 “1 楼、2 楼、12 楼、112 楼” 数据为例,公式如下: 

=--LEFT(D2,LEN(D2)-1)  

公式拆解:

  1. LEN(A2):计算 A2 单元格字符总长度;
  2. LEN(A2)-1:减去最后 1 个固定文字 “楼”,得到数字长度;
  3. LEFT(A2,LEN(A2)-1):从左侧提取对应长度的数字文本;
  4. :将文本数字转为真正的数值,确保排序准确。

操作步骤:

  1. 在 E2 单元格输入公式,下拉填充整列,快速提取所有纯数字;
  2. 选中所有数据区域,点击【数据】-【排序】;
  3. 主要关键字选择辅助列(E 列),次序选择升序,点击确定。

排序完成后,数据就会按照1 楼、2 楼、12 楼、112 楼的正确顺序排列,辅助列后续可直接删除。

三、小贴士

  1. 公式必须加 **–** 或 * 1,否则提取的仍是文本数字,排序依旧会乱;
  2. 文字长度必须统一,公式才能通用,文字长短不一可以用快速填充;