如图所示
1.先做定一个排序区域与原数据区域相对应
2.在排序区域填上序号
3.在输出区域第一个单元格输入=SMALL($A$2:$D$3,F2)
4.向右拉,向下拉动。
缺点:同样大小的数无法排序。
1. 首先对数据按需要分类汇总的列(本例为“城市”列)进行排序。
选择“城市”列中的任意单元格,在Excel 2003中单击工具栏中的排序按钮如“A→Z”。在Excel 2007中,选择功能区中“数据”选项卡,在“排序和筛选”组中单击“A→Z”按钮。
2. 选择数据区域中的某个单元格,在Excel 2003中单击菜单“数据→分类汇总”。如果是Excel 2007,则在“数据”选项卡的“分级显示”组中单击“分类汇总”。
3. 在弹出的“分类汇总”对话框中,在“分类字段”下选择“城市”,在“汇总方式”中选择某种汇总方式,可供选择的汇总方式有“求和”、“计数”、“平均值”等,本例中选择默认的“求和”。在“选定汇总项”下仅选择“销售额”。
4.单击确定,Excel将按城市进行分类汇总。
1、选中A7:D9;
2、输入公式:"=SMALL(A3:D5,COLUMN()+(ROW()-7)*4)";
3、按快捷键:Ctrl+ALT+Enter;
4、完成;
注:
1、选择的区域要和你排序的区域大小一致;
2、row()-7 ,这里7是可以变动的就是你写公式的首行行号;
3、(row()-7)* 4 这里4是可以变动的也就是你的列数,排序区域总共有多少列数;
4、如果要降序排列,将SMALL 改成LARGE就行了;
5、注意,输入完公式后,一定要按快捷键CTRL+ALT+ENTER,因为这是数组公式,和一般的公式不同;
你是想
1 2 3 4 5
6 7 8 9 10
这样的顺序是吗?
用VBA处理吧,这样的数据无法直接在表中排序
代码如下
Sub test()
Dim arr, brr, i&, x&, y&
arr = Range("A3:D13")
ReDim brr(1 To UBound(arr) * UBound(arr, 2))
For x = 1 To UBound(arr)
For y = 1 To UBound(arr, 2)
i = i + 1
brr(i) = arr(x, y)
Next y
Next x
For x = 1 To UBound(brr) - 1
For y = x + 1 To UBound(brr)
If brr(y) < brr(x) Then
k = brr(x)
brr(x) = brr(y)
brr(y) = k
End If
Next y
Next x
i = 0
For x = 1 To UBound(arr)
For y = 1 To UBound(arr, 2)
i = i + 1
arr(x, y) = brr(i)
Next y
Next x
Range("A3").Resize(UBound(arr), UBound(arr, 2)) = arr
End Sub
点击“数据”菜单,然后'排序",选择你自己想要的排序方式