Excel中排序,1-9都好排,怎么10以后不能自动排呢?(意思是1-11,排出来结果是1,10,11,2,3,4,5,6,7,8,9)

如题所述

你要排成1,2,3,4,5,6,7,8,9,10,11就把他们的格式设成数字吧,如果排成1,10,11,2,3,4,5,6,7,8,9,则把它们设成文本格式再排序就行了追问

在竖排中从上到下胡乱输入:百花园1#——百花园11#,排后的顺序都是1#,10#,11#...不是1#,2#,3#...

追答

在EXCEL中ALT+F11 插入模块-复制以下代码至代码框
Public Function tqsz(n As String) As Double '提取数字
Dim b As String
b = ""
For y = 1 To Len(n)
If Asc(Mid(n, y, 1)) >= 40 And Asc(Mid(n, y, 1)) <= 57 Then
b = b & Mid(n, y, 1)
End If
Next
tqsz = Evaluate(b)
End Function
关闭Microsoft Visual Basic后回到EXCEL
假如你的数据是在A列,则在B1单元格中输入=tqsz(a1),向下填充,然后以B列排序,再把B列删除就满足你的要求了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-14
把1-9改成01-09,如果前面的0输不进去的话,在前面加“'”(西文单引号),即可
第2个回答  2011-11-14
可以正常排序啊,我用的2007版的,刚刚试过呢还,随便输入乱序的数字排列都没有问题的。追问

你不说我还没发现我用的是Excel2003呢,我在给地址排序,没成功,惠安花园1#-11#楼,结果顺序是(惠安1#,惠安10#,惠安11#,惠安2#)

追答

你写上文字和#就不行了。要是按照你的这种编码方法要想自己排序的话就比较麻烦,简单点的方法就是在1前面加0,这样就可以排序了。

第3个回答  2011-11-15
工具—数据—排序—按升降排
第4个回答  2011-11-14
改字体格式为上标,
相似回答