Excel,在表格中如何把两列数字 从小到大排列
推荐于2016-05-02 · 知道合伙人软件行家
两列排序在标准功能中是没有的。只能用万能的VBA来完成。
举例说明。例如有一数字序列在A1:A50,需要排序后输出在C1:D25中。程序大致分成以下几个步骤:1、读取数据到数组;2、对数组排序;3、将数组数据分两列输出到C1:D25中。代码如下:
Sub 两列排序()
'读取数据
Dim mYarr(1 To 100)
Dim I, J, K, L As Integer
Dim SS As Double
I = 1
Do While Cells(I, 1) <> ""
mYarr(I) = Cells(I, 1)
I = I + 1
Loop
I = I - 1 'I 记录数据的个数
'排序 从小到大
For J = 1 To I - 1
For K = J To I
If mYarr(J) > mYarr(K) Then
SS = mYarr(J)
mYarr(J) = mYarr(K)
mYarr(K) = SS
End If
Next K
Next J
'按两列输出
J = 1: L = 1
Do While J < I
For K = 1 To 2
Cells(L, 2 + K) = mYarr(J)
J = J + 1
Next K
L = L + 1
Loop
End Sub
运行结果如图:
第一列排序后,剪切到另一个sheet中;
再用第二列排序,再把刚才那组数据剪回来,放在第一列。
C1输入
=small(A:B,row(a1))
下拉公式
C列为你要求的。