excel 中,一个单元格的数值怎样按升或降排列

来源:百度知道 编辑:UC知道 时间:2024/05/28 13:27:38
问题1:一单元格数值:A1:3590279,在b1变为:023579 从少到大排列,去掉重复,请问公式怎样表达。
问题2:如当A1单元格是123时,B1表示为01234,当A1是234时。B2是789,就是说,A1是0-9中的三个数, B1是0-9中的另外三个数,或是几个数。
用VB表达也可以,最好是用excel自带的公式。谢谢

1.用自定义函数
按下ALT+F11,菜单-插入-模块,复制下面代码,退出
然后在B1输入=ORDER(A1),就可以了.以后ORDER()就可以当作函数来用.只要输入=ORDER(要排序的单元格)就可以了.

Public Function order(ByVal n As String) As String
Dim a() As String
Dim b() As String
Dim sum As String
Dim m As Integer
m = 1
sum = ""
ReDim a(1 To Len(n)) As String
ReDim b(1 To Len(n)) As String
For x = 1 To Len(n)
a(x) = Mid(n, x, 1)
Next
For x = 1 To Len(n)
For y = 1 To Len(n)
If a(y) < a(x) Then
m = m + 1
End If
Next
b(m) = a(x)
m = 1
Next
For x = 1 To Len(n)
sum = sum & b(x)
Next
order = sum
End Function

2.你的例子我也不是太明白.我的公式的意思就是A1显示0-9的数字,B1显示A1中没有的数字.
在B1输入
=SUBSTITUTE("0123456789",A1,"")