夜雨聆风学习资料网

ARTICLE · 1236199

明明只是点了个升序,为什么Excel要把139排在14前面?真相了……

明明只是点了个升序,为什么Excel要把139排在14前面?真相了……
引语:直接排序是按"字"比,不是按"数"比——这才是带分隔符文本排乱的根因。

你有没有遇到过这种编码列:TMCL1200-01-139、TMCL1200-01-14、TMCL1200-01-140……看着像是"前缀 + 序号",直接选中整列排序,结果却是下面这样:

直接排序后的顺序(错)
应该的顺序(对)
TMCL1200-01-139
TMCL1200-01-14
TMCL1200-01-14
TMCL1200-01-15
TMCL1200-01-140
TMCL1200-01-16
TMCL1200-01-141
TMCL1200-01-17
TMCL1200-01-15
TMCL1200-01-18
……
……
TMCL1200-01-22
TMCL1200-01-145

139 竟然排在了 14 前面,后面那串 140、141 也跟着乱。要拿去对单、编号、做目录,这顺序谁都不敢用。

问题不在你操作错了,而在于 Excel 默认把这类"带短横线的文本"当成一串字符来比,不是当成"末尾那个数字的大小"来比。

一、为什么直接排序会错

Excel 排序文本时,是逐字符比较的(字典序)。拿 TMCL1200-01-139 和 TMCL1200-01-14 比:

前面 "TMCL1200-01-1" 完全一致;

第 13 位,一个字符是 "3"(139 的),一个是 "4"(14 的);

因为 "3" 比 "4" 小,所以 139 被排到了 14 前面。

也就是说,它比的是"字符串",不是"数值"。只要末尾那段数字位数不同,就会出现 139 压在 14 头上这种荒唐结果。只有先把末尾那段数字按"数值"拎出来当排序依据,顺序才对。

二、老办法:加辅助列,绕一道

传统做法是先拆出末尾的数字,再排序:

用"数据"→"分列",按分隔符 "-" 拆分,把最后一段数字单独拆到一列(或加辅助列用公式取末尾数字);

选中"原编码 + 末尾数字"两列,按"末尾数字"这一列做升序排序;

排完再把辅助列删掉或隐藏。

能排对,但多了"拆列—排序—清理"好几步,数据一多就磨人,而且一旦分隔层级变了(比如前面多一段),辅助列公式又得改。

本案例把A列复制粘贴到B列,再选中B列,点击"数据"→"分列",按分隔符 "-" 拆分,拆分后的见B列D列,再按照D列升序排序即可。

三、更省事:让 AI 写一条公式

我这次直接把需求丢给 DeepSeek(豆包、腾讯元宝这类对话式 AI 都行),让它写公式,不用我自己套函数。提示词大概是这样一句:

A 列是一列形如"前缀-01-数字"的编码文本(例如 TMCL1200-01-139),请用一条 Excel 公式把整列按"最后一个短横线之后的数字"的数值大小排序,不要拆辅助列。

DeepSeek 返回了下面这条公式,我粘到 B1 就完事:

=SORTBY(A1:A15,--TEXTAFTER(A1:A15,"-",-1))

它是动态数组公式,结果会自动溢出填满 B1:B15,一行都不用往下拉。这条公式实际发生了三件事:

TEXTAFTER(A1:A15,"-",-1)

从每个编码里取"最后一个 '-' 之后的文本"。TMCL1200-01-139 取到 "139",TMCL1200-01-14 取到 "14"。参数 -1 表示"倒数第 1 个分隔符",这样无论前面有几段横杠,永远只抓最后那段。

前面加两个负号 "--"

把上一步拿到的"文本数字"转成真正的数值。"139" → 139,"14" → 14。这步是关键,不转成数值,排序又会回到字典序的老路。

SORTBY(A1:A15, 数值数组)

以 A 列为待排内容,按第 2 步算出的数值大小升序重排。

前后对比就是文章开头那张表:左边是 A 列直接排序的错序,右边是 B 列公式给出的正确数值顺序,一条公式搞定,不用拆列、不用辅助列。

小提醒:SORTBY 和 TEXTAFTER 是 Excel 365 / 2021 及以上才有的函数。如果你用的是旧版本,把同样的提示词发给 AI,它会换成"加辅助列取末尾数字再排序"那套老办法——同一个需求,AI 会按你的环境给你能跑的版本。

四、传统 vs AI,怎么选

传统辅助列法
让 AI 写公式
适合场景
老版本 Excel、偶尔处理
365/2021+、同类型反复做
你付出
拆列 + 排序 + 清理
一句提示词 + 粘公式
上手难度
要会分列/辅助列
会粘公式即可
复用性
每次重做
公式留着以后直接套

写在最后

带分隔符的编码排错序,根因就是"Excel 按字比、不按数比"。老办法加辅助列能解决,但绕;让 AI 写一条 SORTBY 公式,一步到位还能留着反复用。

我是聂老师,在公众号"EXCEL原来如此简单"里,持续写能直接上手用的 Excel 实战技巧。从函数、透视表,到用 AI 帮表格提效,都是干了多年数据分析、踩过坑之后留下的干货。

如果你也常被"编码排序""文本拆分"这类活儿卡住,欢迎评论区说说你的数据长什么样,我挑几个把提示词给你拆到能直接抄。想系统把 Excel 基本功和 AI 提效一起练起来的,也可以留意我后面的内容——基础顺了,AI 才真正帮得上忙。

你如果想跟着我持续学习AI+Excel,欢迎扫描二维码加入我的微信交流群。

欢迎光临我的微信小店,从微信小店下单的学员请下单后立即加我微信sunnynie联系发货。

相关学习资料