Как извлечь число из текста в Excel?
Нет встроенной функции. Универсальная формула: =ПРОСМОТР(2;1/ЕЧИСЛО(--ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));{1,2,3,4,5}));--ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));{1,2,3,4,5})).
Извлечение числа из строки вроде «Заказ №12345 от 01.01» — нетривиальная задача, так как встроенной функции нет.
Простой случай: только цифры в конце
=ПРАВСИМВ(A1; ДЛСТР(A1)-МАКС(ЕСЛИ(НЕ(ЕЧИСЛО(--ПСТР(A1;СТРОКА($1:$20);1)));СТРОКА($1:$20);0)))
Ввод через Ctrl+Shift+Enter.
Быстрый способ: ПОДСТАВИТЬ все нецифры
Последовательно убираем буквы:
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"а";"");"б";"");"в";"")...
Громоздко, но работает для конкретных символов.
Лучший способ: Google Sheets / Excel с VBA
В Google Sheets есть регулярные выражения:
=REGEXEXTRACT(A1; "\d+")
Практический подход
- Данные → Текст по столбцам
- С разделителями → Другой → укажите все нецифровые символы
- Из результата возьмите нужный фрагмент
Excel 365 — ТЕКСТРАЗД + ФИЛЬТР
=ОБЪЕДИНИТЬ("";ИСТИНА;ФИЛЬТР(ПСТР(A1;ПОСЛЕД(ДЛСТР(A1));1);ЕЧИСЛО(--ПСТР(A1;ПОСЛЕД(ДЛСТР(A1));1))))
Извлекает все цифры из текста в одну строку.