Jak sortować liczby w komórce w programie Excel?
Sortowanie liczb na liście kolumn jest łatwe i powszechne, ale czy kiedykolwiek próbowałeś sortować liczby w jednej komórce? Być może nie ma dla ciebie dobrego sposobu, z wyjątkiem układania ich jeden po drugim, tutaj opowiem o tym, jak sortować liczby w komórkach w programie Excel.
Sortuj liczby w komórkach za pomocą formuły
Sortuj liczby w komórkach za pomocą funkcji zdefiniowanej przez użytkownika
Sortuj liczby oddzielone przecinkami w komórkach z kodem VBA
Sortuj liczby w komórkach za pomocą formuły
Aby posortować liczby w komórkach w arkuszu, możesz zastosować następującą długą formułę, wykonaj następujące czynności:
1. Obok danych wprowadź następującą formułę, w tym przykładzie wpiszę ją do komórki C1, zobacz zrzut ekranu:
=TEXT(SUM(SMALL(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),ROW(INDIRECT("1:"&LEN(A1))))*10^(LEN(A1)-ROW(INDIRECT("1:"&LEN(A1))))),REPT("0",LEN(A1)))
2. Następnie naciśnij Ctrl + Shift + Enter klucze razem, a następnie przeciągnij uchwyt wypełniania do zakresu, w którym chcesz zastosować tę formułę, a otrzymasz posortowane liczby od małych do dużych. Zobacz zrzut ekranu:
Uwagi:
1. Jeśli cyfra liczby w komórce jest większa niż 15, ta formuła nie da prawidłowego wyniku.
2. Jeśli chcesz posortować liczby w porządku malejącym, możesz użyć tej formuły: =TEXT(SUM(LARGE(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),ROW(INDIRECT("1:"&LEN(A1))))*10^(LEN(A1)-ROW(INDIRECT("1:"&LEN(A1))))),REPT("0",LEN(A1))).
3. W powyższych wzorach A1 wskazuje komórkę zawierającą liczby, które chcesz posortować, możesz ją zmienić według potrzeb.
Sortuj liczby w komórkach za pomocą funkcji zdefiniowanej przez użytkownika
Ponieważ formuła ma pewne ograniczenia, możesz użyć następującego wzoru Funkcja zdefiniowana przez użytkownika do sortowania liczb w komórkach dłuższych niż 15 cyfr.
1. Przytrzymaj ALT + F11 klucze i otwiera plik Okno Microsoft Visual Basic for Applications.
2. Kliknij wstawka > Modułi wklej następujący kod w Okno modułu.
Kod VBA: sortuj liczby w komórkach
Function SortNumsInCell(pNum As String, Optional pOrder As Boolean) As String
'Update 20140717
Dim xOutput As String
For i = 0 To 9
For j = 1 To UBound(VBA.Split(pNum, i))
xOutput = IIf(pOrder, i & xOutput, xOutput & i)
Next
Next
SortNumsInCell = xOutput
End Function
3. Następnie zapisz i zamknij ten kod, wróć do arkusza roboczego i wprowadź tę formułę = sortnumsincell (A1) do pustej komórki obok danych, zobacz zrzut ekranu:
4. Następnie przeciągnij uchwyt wypełniania do komórek, które chcesz zawrzeć w tej formule, a wszystkie liczby w komórkach zostały posortowane w kolejności rosnącej, jak pokazano na poniższym zrzucie ekranu:
Note: Jeśli chcesz posortować liczby w porządku malejącym, wprowadź tę formułę = sortnumsincell (A1,1).
Sortuj liczby oddzielone przecinkami w komórkach z kodem VBA
Jeśli twoje liczby są oddzielone określonymi znakami, takimi jak przecinek, średnik, kropka itp., Jak na poniższym zrzucie ekranu, jak możesz posortować je w komórkach? Teraz przedstawiam kod VBA, abyś mógł je sortować.
1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Okno Microsoft Visual Basic for Applications.
2. Kliknij wstawka > Modułi wklej następujący kod w Okno modułu.
Kod VBA: numery sortowania są oddzielone przecinkami w komórkach
Sub SortNumsInRange()
'Update 20140717
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Set objArrayList = CreateObject("System.Collections.ArrayList")
For Each Rng In WorkRng
Arr = VBA.Split(Rng.Value, ",")
For i = 0 To UBound(Arr)
xMin = i
For j = i + 1 To UBound(Arr)
If Arr(xMin) > Arr(j) Then
xMin = j
End If
Next j
If xMin <> i Then
temp = Arr(i)
Arr(i) = Arr(xMin)
Arr(xMin) = temp
End If
Next i
Rng.Value = VBA.Join(Arr, ",")
Next
End Sub
3. Następnie naciśnij F5 klucz do uruchomienia tego kodu, a następnie wybierz komórki zawierające liczby w wyskakującym okienku zachęty, zobacz zrzut ekranu:
4. A następnie kliknij OKwszystkie liczby w komórkach zostały posortowane rosnąco w pierwotnym zakresie.
Note: Możesz zmienić przecinek „,” na dowolne inne znaki, jak potrzebujesz w powyższym kodzie. Ten kod może tylko sortować dane rosnąco.
Podobne artykuły:
Jak sortować liczby z łącznikami w programie Excel?
Jak sortować dane według najczęstszej wartości w programie Excel?
Jak sortować adresy e-mail według domeny w programie Excel?
Jak sortować wiersze, aby umieścić puste komórki na górze w programie Excel?
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!