Как отсортировать числа в ячейке в Excel?
Для нас легко и часто сортировать числа в списке столбцов, но пробовали ли вы когда-нибудь сортировать числа в одной ячейке? Возможно, для вас нет хорошего способа, кроме как расположить их по одному, здесь я расскажу о том, как сортировать числа в ячейках в Excel.
Сортировка чисел в ячейках с помощью формулы
Сортировка чисел в ячейках с помощью функции, определяемой пользователем
Сортировка чисел, разделенных запятыми, в ячейках с кодом VBA
Сортировка чисел в ячейках с помощью формулы
Чтобы отсортировать числа в ячейках на листе, вы можете применить следующую длинную формулу, сделайте следующее:
1. Рядом со своими данными введите следующую формулу, в этом примере я введу ее в ячейку C1, см. Снимок экрана:
=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. Затем нажмите Shift + Ctrl + Enter вместе, затем перетащите маркер заполнения в диапазон, в котором вы хотите применить эту формулу, и вы увидите, что числа отсортированы от меньшего к большему. Смотрите скриншот:
Ноты:
1. Если цифра числа в ячейке больше 15, эта формула не даст правильного результата.
2. Если вы хотите отсортировать числа в порядке убывания, вы можете использовать эту формулу: =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. В приведенных выше формулах A1 указывает ячейку, содержащую числа, которые вы хотите отсортировать, вы можете изменить ее по своему усмотрению.
Сортировка чисел в ячейках с помощью функции, определяемой пользователем
Поскольку у формулы есть некоторые ограничения, вы можете использовать следующие Функция, определяемая пользователем для сортировки чисел в ячейках длиной более 15 цифр.
1. Удерживайте ALT + F11 ключи, и он открывает Окно Microsoft Visual Basic для приложений.
2. Нажмите Вставить > Модулии вставьте следующий код в Окно модуля.
Код VBA: сортировка чисел в ячейках
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. Затем сохраните и закройте этот код, вернитесь на свой рабочий лист и введите эту формулу = sortnumsincell (A1) в пустую ячейку рядом с вашими данными, см. снимок экрана:
4. Затем перетащите маркер заполнения в ячейки, которые вы хотите содержать эту формулу, и все числа в ячейках были отсортированы в порядке возрастания, как показано на следующем снимке экрана:
Внимание: Если вы хотите отсортировать числа в порядке убывания, введите эту формулу = sortnumsincell (A1,1).
Сортировка чисел, разделенных запятыми, в ячейках с кодом VBA
Если ваши числа разделены определенными символами, такими как запятая, точка с запятой, точка и т. Д., Как показано на следующем снимке экрана, как вы можете отсортировать их по ячейкам? Теперь я представляю вам код VBA, чтобы вы могли их отсортировать.
1. Удерживайте ALT + F11 , чтобы открыть Окно Microsoft Visual Basic для приложений.
2. Нажмите Вставить > Модулии вставьте следующий код в Окно модуля.
Код VBA: номера сортировки разделяются запятыми внутри ячеек
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, Затем нажмите F5 ключ для запуска этого кода, а затем выберите ячейки, которые содержат числа в всплывающем окне подсказки, см. снимок экрана:
4, Затем нажмите OK, все числа в ячейках отсортированы по возрастанию в исходном диапазоне.
Внимание: Вы можете заменить запятую «,» на любые другие символы в приведенном выше коде. И этот код может только сортировать данные по возрастанию.
Статьи по теме:
Как в Excel сортировать числа через дефис?
Как отсортировать данные в Excel по наиболее частому значению?
Как отсортировать адрес электронной почты по домену в Excel?
Как отсортировать строки, чтобы в Excel сверху были пустые ячейки?
Лучшие инструменты для офисной работы
Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!