按字母顺序排序
问题描述:
我有一个具有多个值的列,我想按字母顺序排序名称,我该如何排序?例如: - 这是它现在的样子。按字母顺序排序
Name | Code | Status
Amanda, Bryan, Zoey, Albert, Macro, Johnny | 33 | Active
Amanda, Bryan, Zoey, Albert, Jeniffer, Mac | 44 | Active
答
最容易的是在VBA中做到这一点。一个VBA模块中创建以下两个功能:
Public Function fSort(vValue As String, vDelimiter As String) As String
'Take a string, split it into an array based on the delimiter,
'sort it and finally convert it back into a string
fSort = Join(fSortArray(Split(vValue, vDelimiter)), vDelimiter)
End Function
Function fSortArray(vArray As Variant) As Variant
'Sort a one dimensional array of string values alphabetically
Dim vI As Long, vJ As Long
Dim vTmp As String
For vI = 0 To UBound(vArray)
For vJ = vI To UBound(vArray)
If UCase(vArray(vJ)) < UCase(vArray(vI)) Then
vTmp = vArray(vI)
vArray(vI) = vArray(vJ)
vArray(vJ) = vTmp
End If
Next
Next
fSortArray = vArray
End Function
一个单元格公式中像然后使用fSort
:
=fSort(A3,", ")
我把你们的名字是单个细胞内的多。你会考虑带有'''分隔符的文本到列,按字母顺序对列进行排序,然后用连接重新组合? – pnuts