excel筛选后进行升序排序时,顺序错乱是怎么回事?

excel筛选后进行升序排序时,顺序错乱是怎么回事?如图,1-10排序出来后10居然排在第二位了,有谁知道怎么回事呢?

你排序为准的那一列是文本格式,所以排序是已汉字的先后顺序来排的而不是数字。
你把这一排的文本格式的数字转为数字或者常规格式后排序,就会安排1 2 3……这个顺序来了。

改格式有一个简单的方法,首先把第一个单元格的【1】删掉,手动改成数值格式后再写一个【1】,然后复制这个1,选择一整列,鼠标在选择区域右键,选择性粘贴,乘,最后确定。就全部改成数值格式了。

    如图所示是一些字母与数字的混合数据,我们看到结果已经是进行了升序排列后的结果。这种结果与我们预期的结果出入太大。我们所希望的结果是首字母按照字母表顺序进行排列,后面的三位数字按照三位数的大小进行排列。即6肯定排在45和200的前面。

2.要做到这样的效果,我们需要对数据进行一些处理。将A6处理成A006的形式,这样Excel就为自动对三位数按大小顺序进行排序。在旁边一列中输入公式【=(LEFT(E7,1) & RIGHT(( "000" & RIGHT(E7,LEN(E7)-1)),3))】,不包括引号。

公式释义(以E3单元格为例):

(LEFT(E7,1):先截取单元格中左边第一位,即字母A

&:将内容进行连接,我们在前面的经验中已经有所介绍。

RIGHT(E7,LEN(E7)-1):对单元格数据截从右向左截取长度减1位,即6。

"000" & RIGHT(E7,LEN(E7)-1):在取出的后三位前面加上000.即0006。

RIGHT(( "000" & RIGHT(E7,LEN(E7)-1)),3)):再把上面得到的结果从右向左截取3位,即006。

最后把它们连接起来得到B006。

3.然后使用自动填充柄进行公式的填充,得到如图结果。

4.

然后,我们再对以上数据进行排序,就可以得到我们想要的结果。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-02

看楼层的显示格式应该是文本  不是数值  所以如果排序的时候按照默认的“分别将数字和以文本形式存储的数字排序”的话10就会排在2之前   重新排序选“将任何蕾丝数字的内容排序”

第2个回答  2014-04-01
你排序为准的那一列是文本格式,所以排序是已汉字的先后顺序来排的而不是数字。
你把这一排的文本格式的数字转为数字或者常规格式后排序,就会安排1 2 3……这个顺序来了。
改格式有一个简单的方法,首先把第一个单元格的【1】删掉,手动改成数值格式后再写一个【1】,然后复制这个1,选择一整列,鼠标在选择区域右键,选择性粘贴,乘,最后确定。就全部改成数值格式了。 有不明白的可以继续问我。追问

这个表不是我自己做的,是系统里面导出来,我觉得是版本的问题,原来重装系统以前,从系统导出来,排序就能正常拍,重装系统后,换了个版本的软件,就这样乱排了,有没有谁知道哪个版本的excel,排序是从1-10按顺序来的?

追答

可惜不能当面解释,语言表达能力有限还请见谅;重装系统后导出的文件格式与之前存在差异说明跟之前的系统存在细微的差异,并不是什么大问题。现在很多软件导出的EXCEL表格都是文本格式的,需要转换之后才能进行计算和排序。而这个跟软件一般关系不大,如果有关系那就是软件导出格式这块需要调整成非文本格式导出,一般是在软件导出设置里面,如果没有这个设置那就是软件升级后默认导出为文本格式;因为文本格式最稳定不会改变任何数字或者文字等,其他格式数据转变软件或者系统环境的时候容易导致内容变化从而错误。

本回答被提问者和网友采纳
第3个回答  2014-04-01
因为按在数字的内在编码上先从首位排序的,10第一位是1,肯定在2前面。能把2变成02,excel中加个字母把吧如”L02"表示楼层2.追问

原来都不是这样的,只从我重装系统后,就变成这样了。

追答

那是因为单元格里是数字格式,不是字符格式。转换下单元格格式就好了。

相似回答