mengurutkan nilai dalam sel di excel

2

Saya bertanya-tanya apakah ada cara untuk mengurutkan nilai yang dipisahkan oleh koma dalam sel di microsoft excel. Misalnya, saya memiliki sel yang bertuliskan "49, 11" dan saya ingin membacanya "11, 49". Ada ide?

mark
sumber
Anda perlu VBA untuk melakukan ini tanpa mengubah struktur data.
Raystafarian

Jawaban:

2

Pertimbangkan yang berikut ini Fungsi Buatan Pengguna :

Public Function CellSort(r As Range) As String
    Dim bry() As Long, L As Long, U As Long
    ch = r(1).Text
    ary = Split(ch, ",")
    L = LBound(ary)
    U = UBound(ary)
    ReDim bry(L To U)
    For i = LBound(ary) To UBound(ary)
        bry(i) = CLng(ary(i))
    Next i

    Call BubbleSort(bry)

    For i = LBound(bry) To UBound(bry)
        ary(i) = CStr(bry(i))
    Next i
    CellSort = Join(ary, ",")
End Function


Sub BubbleSort(arr)
    Dim strTemp As Variant
    Dim i As Long
    Dim j As Long
    Dim lngMin As Long
    Dim lngMax As Long
    lngMin = LBound(arr)
    lngMax = UBound(arr)
    For i = lngMin To lngMax - 1
        For j = i + 1 To lngMax
            If arr(i) > arr(j) Then
                strTemp = arr(i)
                arr(i) = arr(j)
                arr(j) = strTemp
            End If
        Next j
    Next i
End Sub
Gary's Student
sumber
1

Fitur penyortiran Excel beroperasi pada seluruh sel. Untuk mengurutkan dalam sel Anda harus menggunakan skrip VB. Anda dapat mempertimbangkan memisahkan konten sel menjadi kolom menggunakan Teks Ke Kolom dan kemudian menyortir (kiri ke kanan).

Mike Fitzpatrick
sumber
Yakin teks ke kolom, transpos dan sort akan bekerja dengan sangat baik.
Raystafarian