Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

Как отсортировать числа внутри ячейки в Excel?

Author Xiaoyang Last modified

Нам легко и привычно сортировать числа в списке столбцов, но пробовали ли вы когда-нибудь сортировать числа внутри одной ячейки? Возможно, у вас нет другого варианта, кроме как расставлять их по одному. Здесь я расскажу, как отсортировать числа внутри ячеек в Excel.

Сортировка чисел внутри ячеек с помощью формулы

Сортировка чисел внутри ячеек с помощью пользовательской функции

Сортировка чисел, разделенных запятыми внутри ячеек, с помощью кода VBA


arrow blue right bubble Сортировка чисел внутри ячеек с помощью формулы

Чтобы отсортировать числа внутри ячеек на листе, вы можете применить следующую длинную формулу, сделайте следующее:

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. Затем нажмите клавиши Ctrl + Shift + 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 указывает на ячейку, которая содержит числа, которые вы хотите отсортировать, вы можете изменить её по своему усмотрению.

a screenshot of kutools for excel ai

Раскройте магию Excel с Kutools AI

  • Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
  • Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
  • Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
  • Интерпретация формул: Легко разбирайтесь в сложных формулах.
  • Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Улучшите возможности Excel с помощью инструментов на базе ИИ. Скачать сейчас и испытайте беспрецедентную эффективность!

arrow blue right bubble Сортировка чисел внутри ячеек с помощью пользовательской функции

Поскольку у формулы есть некоторые ограничения, вы можете использовать следующую пользовательскую функцию для сортировки чисел в ячейках длиннее 15 цифр.

1. Удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. Нажмите Insert > Module и вставьте следующий код в окно модуля.

Код 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).


arrow blue right bubble Сортировка чисел, разделённых запятыми внутри ячеек, с помощью кода VBA

Если ваши числа разделены определёнными символами, такими как запятая, точка с запятой, точка и т.д., как показано на следующем скриншоте, как можно их отсортировать в ячейках? Теперь я представлю вам код VBA для их сортировки.

1. Удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. Нажмите Insert > Module и вставьте следующий код в окно модуля.

Код 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?

Лучшие инструменты для повышения продуктивности в Office

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP по нескольким значениям | Многолистовой поиск | Распознавание нечетких соответствий ...
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ...
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгой и листами | Библиотека автотекста | Выбор даты | Объединить данные | Зашифровать/расшифровать ячейки | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр жирный/курсив/зачеркнутый...) ...
Топ15 наборов инструментов:12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...) |50+ типов диаграмм (Диаграмма Ганта, ...) |40+ полезных формул (Расчет возраста на основе даты рождения, ...) |19 инструментов для вставки (Вставить QR-код, Вставить изображение по пути, ...) |12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...) |7 инструментов объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...) | ... и многое другое
Используйте Kutools на предпочитаемом вами языке — поддерживает Английский, Испанский, Немецкий, Французский, Китайский и более40 других языков!

Повысьте свои навыки работы в Excel с помощью Kutools для Excel и ощутите эффективность на новом уровне. Kutools для Excel предлагает более300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы выбрать функцию, которая вам нужнее всего...


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

  • Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
  • Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!

Все надстройки Kutools. Один установщик

Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.

Excel Word Outlook Tabs PowerPoint
  • Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
  • Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
  • Совместная работа — максимальная эффективность между приложениями Office
  • 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
  • Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек