excel 数据的指定位置排序

例子如下,
有数据123456,234245,563545,546123,654568等等
需要按第三至第五位三个数值的大小排序,即345,424,354,612,456,忽略数据中的其他数字,只按数中这三位数的大小排序,如何设置,谢谢~~~~

第1个回答  2010-11-15
假设值的位置在A1,且有5行,那么,选中B1:B5单元格,输入下面的公式:
=LOOKUP(LARGE(--RIGHT(--MID(A1:A5,3,3)*10000+ROW(1:5)),ROW(1:5)),ROW(1:5),A1:A5)

按Ctrl+Shift+Enter结束,即可~~~这是多单元格数组公式!

如果要从小开始排列,把上面的LARGE()改为SMALL()即可!
下拉也可以,把公式修改如下:
=LOOKUP(LARGE(--RIGHT(--MID(A$1:A$5,3,3)*10000+ROW($1:$5)),ROW(1:1)),ROW($1:$5),A$1:A$5)

对了,上面ytchun的公式里,对引用都没有加$,所以下拉会出现错误!!
第2个回答  2010-11-15
终于摸索出来了,假如数据在B2,在其他单元格输入:
=LEFT(B2,2)&LARGE(MID(B2,ROW(3:5),1)*1,3)&LARGE(MID(B2,ROW(3:5),1)*1,2)&LARGE(MID(B2,ROW(3:5),1)*1,1)& RIGHT(B2,LEN(B2)-5)
输入完后按ctrl+shift+enter,这样就是把3-5位按大小排序(从小到大)其他不变。如果是从大到小就是
==LEFT(B2,2)&LARGE(MID(B2,ROW(3:5),1)*1,1)&LARGE(MID(B2,ROW(3:5),1)*1,2)&LARGE(MID(B2,ROW(3:5),1)*1,3)& RIGHT(B2,LEN(B2)-5)
若只是要中间的3-5位则公式为:
LARGE(MID(B2,ROW(3:5),1)*1,1)&LARGE(MID(B2,ROW(3:5),1)*1,2)&LARGE(MID(B2,ROW(3:5),1)*1,3)
第3个回答  2010-11-14
假如原来为A列,从A1开始
在B1输入
=--mid(A1,3,3)
填充到底
选中AB两列,以B列为主要关键字排序
第4个回答  2010-11-14
在这一列后输入函数=--mid(a1,3,3),按所得新一列的数排序即可。本回答被提问者采纳
相似回答