excel单元格内有字母+数字混合时,按数字大小排序

最好也能给出当单元格内为汉字+数字混合时,按数字大小又该如何排序?我需要的结果是从小到大(自动排序不能按从小到大排列),如下图所示:

详细看了你的截图,实际上就是“字母+数字”组合,既要实现字母升序排列,又要实现数字的升序排列,所以,解决方案如下(字母长度不限,数字长度只要少于15位即可,但必须是“字母+数字”形式):

1、假设“所属AP分组”在A列,“# AP MAC地址”在B列,且C列、D列没有数据(如果有数据,将辅助列放在最后一列)

2、在D2输入:

=--MID(A2,MATCH(,0/MID(A2,ROW($1:$99),15),),15)

按【CTRL+SHIFT+回车】后 ,下拉填充公式。

3、C2输入

=SUBSTITUTE(A2,D2,"")

下拉填充公式(如上图)

4、选中A2:Dn(n指你A列最大数据行数),执行排序,第一关键字设置为C列,第二关键字设置为D列,确定,OK!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-19
查看“所属AP分组”列的规则,前面8位数为英文字母加其他非数字字符,第9位起是数字。
要想实现按数字大小排序的最简单办法是添加一个截取数字的辅助列,然后对辅助列进行排序,并扩展选定区域。
假如“所属AP分组”在A列,则在B2单元格输入=--MID(A2,9,4) 然后点击填充柄,实现快速向下填充公式,随后对该列进行排序。
公式表示:从A2单元格的第9个位置截取4个字符(防止不够用),并保留为数字格式。追问

1、这种方法我想过,如果字母长度不一样呢,那就不能用你这种方法了。
2、再说按照你这种方法,提取的数字如果相同,进行排序就会放在一起,可是前面的字母如果你按升序和降序排列是按字母的大小顺序,两者合并起来又会乱的,好像没这么简单。。。。

追答

现在给出一个不管你前面字母多少截取后面数字的公式,希望你运用采纳。

假如“所属AP分组”在A列,则在B2单元格输入

=--RIGHT(A2,COUNT(FIND({0,1,2,3,4,5,6,7,8,9},A2))

然后点击填充柄,实现快速向下填充公式,随后对该列进行排序。

 

获得字符串的末尾数据的方法如图。

第2个回答  2013-11-19
只有2种方式,
一是数据分列,按2关键字排序,再合并
二是VBA。
别无它法。追问

第一种,如果字母的长度不一样,就不能分列了。。。。
第二种,不太懂,求详解。

追答

第二种就是编程,编一段程序。
如果长度不一,就只能用公式提取出数字,然后再提取前面的字符,再排序。突然想起,排序后不用合并。

追问

用第二种,你不用按我提供的数据源(你自己设计一个,能说明问题即可),就按你说的字母长度不一+数字混合,然后按照你说的方法,最好能有附件。

相似回答