展开全部
公式:b10 输入 =CONCATENATE(LARGE(A1:A10,1),",", LARGE(A1:A10,2),",", LARGE(A1:A10,3),",", LARGE(A1:A10,4)) ,然后向下填充即可
vba:Sub 宏1()
For i = 10 To Range("a65536").End(xlUp).Row
ss = ""
For j = 1 To 4
If ss <> "" Then ss = ss & ","
ss = ss & Application.WorksheetFunction.Large(Range(Cells(i - 9, 1), Cells(i, 1)), j)
Next
Cells(i, 2) = ss
Next
End Sub
额,没注意有重复值,修32313133353236313431303231363533e58685e5aeb931333335333662改如下:Sub 宏1() '关键在于large函数不区分重复数
Dim m(3), k 'm用来存储4个最大数
For i = 10 To Range("a65536").End(xlUp).Row '循环10到最后有数据的行
k = 2
m(0) = Application.WorksheetFunction.Large(Range(Cells(i - 9, 1), Cells(i, 1)), 1) '第1大的数