2016-08-22 8 views
0

セルから文字列値を取り込み、その文字をアルファベット順に並べ替えるExcel式を作成するのに手伝ってもらえますか?セルから文字列値を取り出し、その文字をアルファベット順にソートする数式

Ex。

元のセルの値: 'BACR' ソートされた文字セル: 'ABCR'

+4

のように呼び出すことができますが、あなたが試してみました、あなたがトラブルに実行したところ何我々を表示します。どのExcelのバージョンを使用していますか? –

+0

「無制限」の長さの文字列はすべてアルファですか? - そしてVBAは受け入れられますか? – pnuts

+0

これを行うために使用している関数/コードとは何ですか? – BruceWayne

答えて

1

は、この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 

をこのモジュールで入れワークシートまたはThisWorkbookコードではなく、ワークブックに添付されます。

そして、それは他のどの式

=sortletter(A1) 

enter image description here

+0

うわー!あなたはロック!ありがとう! –

関連する問題