-----A------B-----------C------------
1 235
2 390
3 039
4 581
5 013 013,039,235;390,581
我想把A列中的数按从小到大重新排列成一行:013,039,235,390,581.能不能用公式实现?谢谢!
一、首先,打开Excel表格程序,打开要进行排序的Excel表格文件。
二、然后,在Excel程序主界面上方选择“数据”,点击打开。
三、然后,在下拉菜案中选择“排序”,点击打开。
四、最后,在窗口中选择“次序”为“升序”,即可让一列数据从小到大排列,问题解决。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-04-01
=INDIRECT("a"&MAX((RANK($A$1:$A$5,$A$1:$A$5,1)=COLUMN(A:A))*ROW(1:5)))
在B1输入,ctrl+shift+回车结束
再向右拉
RANK($A$1:$A$5,$A$1:$A$5)里面的范围自己根据数据改
row(1:5)里面跟RANK()对应改
如果数据有重复,且每个重复的数字不超过两个
可以=IFERROR(INDIRECT("a"&MAX((RANK($A$1:$A$9,$A$1:$A$9,1)=COLUMN(A:A))*ROW(1:9))),INDIRECT("a"&MAX((RANK($A$1:$A$9,$A$1:$A$9,1)=(COLUMN(A:A)-1))*ROW(1:9))))追问
在B1输入,ctrl+shift+回车结束
再向右拉
RANK($A$1:$A$5,$A$1:$A$5)里面的范围自己根据数据改
row(1:5)里面跟RANK()对应改
如果数据有重复,且每个重复的数字不超过两个
可以=IFERROR(INDIRECT("a"&MAX((RANK($A$1:$A$9,$A$1:$A$9,1)=COLUMN(A:A))*ROW(1:9))),INDIRECT("a"&MAX((RANK($A$1:$A$9,$A$1:$A$9,1)=(COLUMN(A:A)-1))*ROW(1:9))))追问
试了一下没有成功,013,097是不是有间题
追答……
你的数据是数字格式吗?
有的是文本。
追答要改成数字格式,
文本不能排大小……
如果你要保留012 018这样的方式
就在改成数字之后。设定选中你要改的区域,单元格格式--自定义-00#-确定
第2个回答 2013-04-01
数组公式:
=IF(SMALL(--IF($A1:$A10="",9E+307,$A1:$A10),COLUMN(A1))=9E+307,"",SMALL(--IF($A1:$A10="",9E+307,$A1:$A10),COLUMN(A1)))
按三键(CTRL+SHIFT+ENTER)完成公式,右拉。追问
=IF(SMALL(--IF($A1:$A10="",9E+307,$A1:$A10),COLUMN(A1))=9E+307,"",SMALL(--IF($A1:$A10="",9E+307,$A1:$A10),COLUMN(A1)))
按三键(CTRL+SHIFT+ENTER)完成公式,右拉。追问
我试了一下成功了,只是013,039的0不在了,能不能保留?当然能最好,不能关系也不大了。
本回答被提问者采纳第3个回答 2013-04-01
数据菜单有排序命令,不需要公式,然后复制的要排列的数据,在合适的地方,右键-选择性粘贴,选中转置,确定就行了
第4个回答 2013-04-01
看见有个向上向下的箭头了么。点击,就可以使一列数据从小到大,或者从大道到小排列。