Sorting 对任意数字数据进行排序,并为缺少的值保留空白

Sorting 对任意数字数据进行排序,并为缺少的值保留空白,sorting,excel,vba,Sorting,Excel,Vba,我需要对行/列中的数字数据进行排序,同时以1-5的比例保留缺失值的空间 比如: 试试这个UDF: Function ModSort(Str As String) As String Res = "" For Iter = 1 To 5 If InStr(1, Str, CStr(Iter)) Then Hold = CStr(Iter) & "_" Else Hold = " _"

我需要对行/列中的数字数据进行排序,同时以1-5的比例保留缺失值的空间

比如:

试试这个UDF:

Function ModSort(Str As String) As String
    Res = ""
    For Iter = 1 To 5
        If InStr(1, Str, CStr(Iter)) Then
            Hold = CStr(Iter) & "_"
        Else
            Hold = " _"
        End If
        Res = Res & Hold
    Next Iter
    Res = Left(Res, 9)
    ModSort = Res
End Function
屏幕截图:


让我们知道这是否有帮助。

这不是一个严肃的答案(UDF似乎足够好),但似乎有一个公式:

=IF(LEN(SUBSTITUTE(A2,1,""))<LEN(A2),"1_"," _")  
&IF(LEN(SUBSTITUTE(A2,2,""))<LEN(A2),"2_"," _")  
&IF(LEN(SUBSTITUTE(A2,3,""))<LEN(A2),"3_"," _")  
&IF(LEN(SUBSTITUTE(A2,4,""))<LEN(A2),"4_"," _")  
&IF(LEN(SUBSTITUTE(A2,5,""))<LEN(A2),"5",)

=IF(LEN)(替换为(A2,1,”)那么…什么?你需要它,好吧。但是你做了什么?你尝试了什么?你需要使用什么逻辑,如果有的话?你确定它总是1到5吗?请更清楚地说明你想要什么,并提供有关数据的完整信息。+1!我的想法是使用基本字符串“1\u 2\u 3\u 4\u 5”并将所有不在
A1
单元格中的数字替换为空格(如OP所述)。但仍然无法仅使用内置公式来解决此问题:)@simoco:看到这样的结果真是太好了。不可否认,自从我学会VBA后,我就开始非常讨厌公式了,我甚至不能写一个数组公式来拯救我的生命。我还想到了
替代
替换
的方法。但我无法想象。:)非常感谢你的努力。。。。。如果答案对你有帮助,请将其标记为已接受。这就是我们在SO中表示感谢的方式。非常感谢您的努力。。。。。很好,很简单
=IF(LEN(SUBSTITUTE(A2,1,""))<LEN(A2),"1_"," _")  
&IF(LEN(SUBSTITUTE(A2,2,""))<LEN(A2),"2_"," _")  
&IF(LEN(SUBSTITUTE(A2,3,""))<LEN(A2),"3_"," _")  
&IF(LEN(SUBSTITUTE(A2,4,""))<LEN(A2),"4_"," _")  
&IF(LEN(SUBSTITUTE(A2,5,""))<LEN(A2),"5",)