按字母顺序排序

问题描述:

我有一个具有多个值的列,我想按字母顺序排序名称,我该如何排序?例如: - 这是它现在的样子。按字母顺序排序

Name          | Code | Status 

Amanda, Bryan, Zoey, Albert, Macro, Johnny | 33  | Active 
Amanda, Bryan, Zoey, Albert, Jeniffer, Mac | 44  | Active 
+1

我把你们的名字是单个细胞内的多。你会考虑带有'''分隔符的文本到列,按字母顺序对列进行排序,然后用连接重新组合? – pnuts

最容易的是在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,", ")