数据在A列,增加辅助列B列,在B1输入
=IF(AND(CODE(MID(A1,1,1))>48,CODE(MID(A1,1,1))<65),CODE(MID(A1,1,1))+100,CODE(MID(A1,1,1)))+IF(AND(CODE(MID(A1,2,1))>48,CODE(MID(A1,2,1))<65),CODE(MID(A1,2,1))+100,CODE(MID(A1,2,1)))+IF(AND(CODE(MID(A1,3,1))>48,CODE(MID(A1,3,1))<65),CODE(MID(A1,3,1))+100,CODE(MID(A1,3,1)))+IF(AND(CODE(MID(A1,4,1))>48,CODE(MID(A1,4,1))<65),CODE(MID(A1,4,1))+100,CODE(MID(A1,4,1)))
回车并向下填充
点B列任一格——工具栏——升序排序
回答者: Stcxj - 十五级 2010-3-16 01:48
二楼的,就再补充了:
我之前的公式是“以事论事”,是按你提供的数据设置,只设置到左起第4个字符串,故“3个字母的”可以排列。但如果你还有一些更“乱”的数据,公式就得增加一些了:
=IF(AND(CODE(MID(A1,1,1))>48,CODE(MID(A1,1,1))<65),CODE(MID(A1,1,1))+100,CODE(MID(A1,1,1)))+IF(AND(CODE(MID(A1,2,1))>48,CODE(MID(A1,2,1))<65),CODE(MID(A1,2,1))+100,CODE(MID(A1,2,1)))+IF(AND(CODE(MID(A1,3,1))>48,CODE(MID(A1,3,1))<65),CODE(MID(A1,3,1))+100,CODE(MID(A1,3,1)))+IF(AND(CODE(MID(A1,4,1))>48,CODE(MID(A1,4,1))<65),CODE(MID(A1,4,1))+100,CODE(MID(A1,4,1)))+IF(AND(CODE(MID(A1,5,1))>48,CODE(MID(A1,5,1))<65),CODE(MID(A1,5,1))+100,CODE(MID(A1,5,1)))+IF(AND(CODE(MID(A1,6,1))>48,CODE(MID(A1,6,1))<65),CODE(MID(A1,6,1))+100,CODE(MID(A1,6,1)))
这样应该够了吧?
先在A列排序,再用楼上的公式就可以了
你的排序前和排序后根本就不一样特别那些A2A***这种形式你都没了
直接升序排就完了。