[英]Excel formula to take string value from cell and sort its characters in alphabetical order
Can you please help me to make Excel formula that takes string value from cell and sorts its characters in alphabetical order? 您能帮我制作一个Excel公式,该公式从单元格中获取字符串值并按字母顺序对其字符进行排序吗?
Ex. 例如
original cell value: ' BACR ' sorted characters cell: ' ABCR ' 原始单元格值:“ BACR ”,已排序的字符单元格:“ ABCR ”
This UDF will sort numbers and Text character by character: 此UDF将按字符对数字和文本字符进行排序:
Function sortletter(rng As Range)
If rng.Count > 1 Then Exit Function
Dim srtArr() As String
Dim i&, j&, k&
ReDim srtArr(1 To Len(rng))
srtArr(1) = Mid(rng, 1, 1)
For i = 2 To UBound(srtArr)
For j = 1 To UBound(srtArr)
If srtArr(j) = "" Then
srtArr(j) = Mid(rng, i, 1)
Exit For
ElseIf IIf(Asc(Mid(rng, i, 1)) > 96, Asc(Mid(rng, i, 1)) - 32, Asc(Mid(rng, i, 1))) <= IIf(Asc(srtArr(j)) > 96, Asc(srtArr(j)) - 32, Asc(srtArr(j))) Then
For k = UBound(srtArr) To j + 1 Step -1
srtArr(k) = srtArr(k - 1)
Next k
srtArr(j) = Mid(rng, i, 1)
Exit For
End If
Next j
Next i
sortletter = Join(srtArr, "")
End Function
Put this is a module attached to the workbook, NOT in the worksheet or ThisWorkbook code. 将其放在工作簿中,而不是工作表或ThisWorkbook代码中。
Then it can be called like any other formula 然后可以像其他公式一样调用它
=sortletter(A1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.