如何解决Excel中以MAR开头的课程代码排序时始终排在首位的问题?
如何解决Excel中以MAR开头的课程代码排序时始终排在首位的问题?
我太懂你这种憋屈感了——明明想按正常字母顺序排课程代码,结果所有MAR开头的课硬生生挤在最前面,连A开头的ABE4231C都被压到第90行,改了文本格式也不管用,那个"阻止Excel评估单元格内容"的办法也只是临时凑活,根本达不到真正排序的效果对吧?
给你几个实用的解决思路,亲测能搞定这类问题:
先清理单元格里的隐形干扰字符
很多时候这种排序异常都是因为单元格里藏了看不见的非打印字符或者多余空格。你可以在旁边插个空白列,输入公式=TRIM(CLEAN(A2))(假设课程代码在A列),下拉填充整列,这个公式会同时去掉首尾空格和所有非打印字符。之后把清理后的内容复制,右键原列选"粘贴为值",再试试排序。彻底设置纯文本格式
光改单元格格式为"文本"可能不够,因为Excel有时候会保留之前的格式缓存。你可以:- 选中课程代码所在的整列,右键选择「设置单元格格式」→ 选「文本」→ 确定
- 逐个双击单元格(或者按F2再回车),让Excel重新识别内容为纯文本
- 再进行排序操作
用辅助列做精准排序依据
如果上面的方法还是不行,就加个辅助列来生成标准的排序值。比如输入=TEXT(A2,"@"),这个公式会强制把单元格内容转成纯文本格式,然后你按这个辅助列的A-Z顺序排序,就能得到真正的字母顺序了。排序完成后可以把辅助列删掉。检查排序的细节设置
排序的时候别着急点确定,点开「选项」按钮,确认:- 排序依据是「值」
- 次序是「A到Z」
- 没有勾选「区分大小写」(默认不勾,但万一误勾了也会影响)
另外要确保是按「列」排序,不是按行哦。
之前你看到的"阻止Excel评估"办法(比如在单元格开头加'),其实只是让Excel显示文本,但内部可能还是有识别偏差,不如上面这些方法来得彻底。
备注:内容来源于stack exchange,提问作者Joe U
相关产品推荐
相关产品推荐

