KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

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

АвторКеллиДата изменения

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


Найти первое число и его позицию в текстовой строке с помощью формулы

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

Найти и извлечь первое число в текстовой строке с помощью формулы массива

Выберите пустую ячейку, в которую нужно поместить первое число из текстовой строки, введите формулу =MID(A2,MIN(IF((ISNUMBER(MID(A2,ROW(INDIRECT("1:"&,LEN(A2))),1)+0)*ROW(INDIRECT("1:"&,LEN(A2)))),ISNUMBER(MID(A2,ROW(INDIRECT("1:"&,LEN(A2))),1)+0)*ROW(INDIRECT("1:"&,LEN(A2))))),1)+0 (A2 — это ячейка с текстом, в которой будет выполняться поиск первого числа) и нажмите одновременно Ctrl+Shift+Enter. Такой способ ввода формулы массива позволяет обрабатывать каждый символ строки по отдельности.
После подтверждения перетащите маркер заполнения вниз, чтобы применить формулу к дополнительным строкам при необходимости.
извлечь первое число с помощью формулы

После применения первые числа каждой текстовой строки будут найдены и извлечены, как показано ниже:
протяните формулу на другие ячейки

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

Выберите пустую ячейку, в которую нужно поместить позицию первой цифры, и введите следующую формулу:=MIN(IF(ISNUMBER(FIND({1,2,3,4,5,6,7,8,9,0},A2)),FIND({1,2,3,4,5,6,7,8,9,0},A2))) (здесь A2 — ячейка, которую необходимо проверить). Эта формула находит самое раннее вхождение любой цифры (0–9). При необходимости перетащите формулу вниз, чтобы заполнить соседние ячейки.
Найдите позицию первого числа в текстовой строке с помощью формулы

протяните формулу на другие ячейки

Примечание: В качестве альтернативы используйте эту формулу массива: =MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&,{0,1,2,3,4,5,6,7,8,9})). Не забудьте подтвердить её нажатием Ctrl+Shift+Enter. При копировании формул всегда обновляйте абсолютные ссылки на ячейки, если структура изменяется. Если строка не содержит цифр, эти формулы вернут ошибку. В таких случаях можно обернуть формулу функцией ЕСЛИОШИБКА, чтобы отображать собственные сообщения.


Найти все числа в текстовой строке, удалив все нечисловые символы

Если ваша цель — извлечь все цифры из ячейки, просто удалив все нечисловые символы, воспользуйтесь удобным решением от утилиты Kutools для Excel: функцией Удалить определенные символы. Она идеально подходит пользователям, которые часто работают с импортированными данными или нуждаются в быстрой массовой очистке ячеек и предпочитают простой интерфейс сложным формулам.

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

1. Выделите диапазон, из которого нужно извлечь все числа, и перейдите в меню: Kutools > Текст > Удалить определенные символы. См. скриншот для справки:
нажмите функцию «Удалить символы» Kutools

2. В появившемся диалоговом окне Удалить определённые символы убедитесь, что установлен только флажок Нецифровые, затем нажмите OK, чтобы продолжить.
установите флажок «Не цифры»

В результате инструмент удалит все нечисловые символы из выделенных ячеек, и вы получите только числовые компоненты из каждой ячейки.
все нечисловые символы удалены

Перед выполнением этой операции рекомендуется создать резервную копию диапазона на случай необходимости отката изменений. Для текстовых строк, содержащих числа, разделённые буквами (например, «A23B17»), все числа будут объединены в одну последовательность («2317»). Если вы ожидаете иной результат, рассмотрите возможность комбинирования этой функции с другими средствами.

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


Найти все числа в текстовой строке, извлекая только числовые символы

Если вам нужно извлечь все числа из текстовой ячейки (независимо от формата) в виде одного значения, функция EXTRACTNUMBERS в Kutools для Excel предлагает удобное и высокоэффективное решение. Это особенно полезно для пользователей, которым требуется массовая обработка, но которые предпочитают гибкий формульный подход, применимый ко всему листу.

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

1. Выберите пустую ячейку, куда нужно поместить извлечённые числа, затем нажмите: Kutools > Функции > Текст > EXTRACTNUMBERS. См. иллюстрацию ниже:
нажмите функцию «Извлечь числа» Kutools

2. В диалоговом окне «Аргументы функции» назначьте соответствующую текстовую ячейку полю Txt, а в поле N введите TRUE (чтобы получить числовое значение). Затем нажмите OK, чтобы подтвердить и извлечь числа.
укажите ссылки на ячейки в диалоговом окне

Примечания:
(1) Вы можете ввести TRUE, FALSE или оставить поле N пустым. Указание TRUE возвращает числовое значение; FALSE или пустое поле вернут числа в виде текста (это удобно для сохранения ведущих нулей).
(2) Эту функцию также можно использовать прямо на листе в качестве формулы: =EXTRACTNUMBERS(A2,TRUE). Введите её в нужную ячейку для вывода результата.
(3) При копировании формулы в соседние строки убедитесь, что ссылки на ячейки при необходимости скорректированы.

Извлечённые числа из каждой текстовой ячейки будут отображаться, как показано ниже:
все числа извлечены из каждой текстовой ячейки

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


Извлечь первое или все числа с помощью кода VBA (макрос-цикл)

Когда встроенные средства и формулы оказываются недостаточными — например, если нужно извлечь только первое число, первую полную последовательность цифр или все отдельные числа из строки, — на помощь приходит код VBA, обеспечивающий гибкость и автоматизацию. Этот метод особенно рекомендуется пользователям, которые регулярно сталкиваются с уникальными задачами по извлечению данных в больших массивах или хотят автоматизировать процесс с помощью многократно используемых макросов. Обратите внимание: для этого необходимо включить макросы, а также всегда создавать резервную копию файла перед запуском кода на объёмах данных.

1. В главном окне Excel нажмите: Разработчик > Visual Basic, чтобы открыть редактор VBA. В окне Microsoft Visual Basic для приложений выберите: Вставка > Модуль. Скопируйте и вставьте следующий код в новый модуль:

Извлечь первые числа: извлекает только первую непрерывную последовательность цифр в каждой строке (например, из «abc12def45» будет получено 12).

Sub ExtractFirstNumber()
    Dim rng As Range
    Dim cell As Range
    Dim txt As String
    Dim i As Integer
    Dim sNum As String
    Dim FirstNum As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select range", xTitleId, rng.Address, Type:=8)
    
    For Each cell In rng
        txt = cell.Value
        sNum = ""
        FirstNum = ""
        
        For i = 1 To Len(txt)
            If Mid(txt, i, 1) Like "[0-9]" Then
                sNum = sNum & Mid(txt, i, 1)
                
                If i = Len(txt) Or Not (Mid(txt, i + 1, 1) Like "[0-9]") Then
                    FirstNum = sNum
                    Exit For
                End If
            ElseIf sNum <> "" Then
                FirstNum = sNum
                Exit For
            End If
        Next i
        
        cell.Offset(0, 1).Value = FirstNum
    Next cell
End Sub

Извлечь все числа: последовательно извлекает все числа, разделяя отдельные числовые блоки пробелами (например, из «abc12def45» получится «12 45»).

Sub ExtractAllNumbers()
    Dim rng As Range
    Dim cell As Range
    Dim txt As String
    Dim i As Integer
    Dim arrNums As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select range", xTitleId, rng.Address, Type:=8)
    
    For Each cell In rng
        txt = cell.Value
        arrNums = ""
        
        For i = 1 To Len(txt)
            If Mid(txt, i, 1) Like "[0-9]" Then
                arrNums = arrNums & Mid(txt, i, 1)
            Else
                If arrNums <> "" Then
                    arrNums = arrNums & " "
                End If
            End If
        Next i
        
        arrNums = WorksheetFunction.Trim(arrNums)
        cell.Offset(0, 1).Value = arrNums
    Next cell
End Sub

2. В редакторе VBA нажмите кнопку Кнопка «Выполнить»Выполнить или клавишу F5, чтобы запустить код. После этого появится диалоговое окно с запросом на выбор целевого диапазона, и извлечённые числа будут записаны в столбец, расположенный сразу справа от исходных данных.

Убедитесь, что ваш лист не использует уже столбцы, расположенные непосредственно справа от ваших данных, чтобы избежать перезаписи. Если код, похоже, не работает, проверьте, включены ли макросы для вашей книги, и убедитесь, что ваши текстовые значения действительно содержат числа.


Извлечь числа из строки с помощью Быстрого заполнения

Встроенная функция Excel Быстрое заполнение автоматически извлекает числа из текстовых строк, обучаясь на примерах шаблонов. Этот метод особенно полезен для быстрых ручных операций с хорошо структурированными данными или когда нужно простое решение без формул и сложной логики.

Чтобы использовать Быстрое заполнение для извлечения чисел из строки:

  1. В ячейке Пустой столбец, расположенной рядом с вашими данными, вручную введите желаемый результат для первой ячейки. Например, если ячейка A2 содержит «OrderA12B3», введите «123» в ячейку B2, чтобы продемонстрировать результат извлечения.
  2. Перейдите в ячейку под вашим примером (например, B3) и начните вводить ожидаемый результат для следующей строки. Excel может показать предварительный просмотр распознанного шаблона. Если он соответствует вашим ожиданиям, просто нажмите Enter. В противном случае продолжайте задавать нужные шаблоны, добавив ещё несколько примеров.
  3. Кроме того, после ввода примера в первую ячейку выделите всю нужную область размещения списка и перейдите в меню: Данные > Быстрое заполнение(или нажмите)Ctrl + E). Excel автоматически заполнит извлечённые числа в соответствии с распознанным шаблоном.

Быстрое заполнение распознаёт согласованные зависимости между входными и выходными данными, поэтому убедитесь, что ваши примеры чёткие и точные. Эта функция лучше всего работает при регулярном формате данных — если структура ваших данных более изменчива или вам нужен точный контроль, рассмотрите возможность использования формулы или макроса.

Если Быстрое заполнение не появляется, убедитесь, что оно включено: перейдите в раздел Файл > Параметры > Дополнительно > Параметры правки и установите флажок Автоматически выполнять Быстрое заполнение.

Демонстрация: найти все числа в строке в Excel

 

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

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  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.

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