excel排序问题

8*10
12*10
12*8
用Excel的排序,结果是
12*10
12*8
8*10
但是我要的结果是
8*10
12*8
12*10
除了用数据---分列或者MID之类的公式把单元格里的数据分开,逐个排序外,还有其他更简便的方法吗?
如果数据变成
8*10
12*10
12*8
20*8
20*100
倒序就成了
8*10
20*8
20*100
12*8
12*10
但我要的结果是
8*10
12*8
12*10
20*8
20*100

第1个回答  2011-04-01
原因是你输入的数据在EXCEL里面是不是按照数值,而是按照字符来处理的。
对应方法:
把你要排序的东西放到A列,
8*10
12*10
12*8
20*8
20*100
然后在B列
=8*10
=12*10
=12*8
=20*8
=20*100
然后B列应该能算出计算结果
然后选中B列排序
出现排序警告对话框,选择默认的“扩展选定区域”按排序按钮,
出现排序窗口,应该默认的选项就OK,这个时候可以选择升序还是降序
然后按确认就排序了。追问

不对
如果数据是
6*40
10*20
用你的方法就不对
6*40---240
10*20---200
显然240排到后面去了。

追答

不好意思,按照的你的问题,如果对
6*40
10*20
排序的话,结果不就应该是
10*20---200
6*40---240
吗?

第2个回答  2011-03-27
你的输入让电子表格认为是文本,而不是数值,你又是按照升序排列的,
在文本升序排列中,1>8,所以出现你说的情况,
按降序排列即可。
第3个回答  2011-03-27
假设这些数据在A列
8*10
12*10
12*8

选择这块区域,单击排序--主要关键字,列A,降序即可得到:
8*10
12*8
12*10
第4个回答  2011-03-28
格子里写A2,然后点第一个格子不放,拖到第二个格子上,放开,选中的大格子右下方有个小点,点它不放,往纵/横向拉就可以了
第5个回答  2011-04-02
=INDEX(A:A,MOD(SMALL(MMULT(MID(SUBSTITUTE(A$1:A$5&"*"&ROW($1:$5),"*",REPT(" ",15)),{1,16,31},15)*10^{4,2,0},{1;1;1}),ROW(A1)),100))
以上是数组公式。按ctrl+shift+enter 结束!

参考资料:http://www.ewu8.com/

相似回答