第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)