Excel: как извлечь числа из строки
Вы можете использовать следующую формулу для извлечения чисел из строки в Excel:
=TEXTJOIN("",TRUE,IFERROR((MID( A2 ,ROW(INDIRECT("1:"&LEN( A2 ))),1)*1),""))
Эта конкретная формула извлекает все числа из строки в ячейке A2 .
Например, если ячейка A2 содержит выражение «25 велосипедов», эта формула просто вернет 25.
Следующий пример показывает, как использовать эту формулу на практике.
Пример. Извлечение чисел из строки в Excel
Предположим, у нас есть следующий список строк в Excel:
Предположим, мы хотим извлечь из каждой строки только числа.
Для этого мы можем ввести следующую формулу в ячейку B2 :
=TEXTJOIN("",TRUE,IFERROR((MID( A2 ,ROW(INDIRECT("1:"&LEN( A2 ))),1)*1),""))
Затем мы можем щелкнуть и перетащить формулу в каждую оставшуюся ячейку в столбце B:
Столбец B теперь содержит только числа из каждой совпадающей строки в столбце A.
Как работает эта формула?
Помните формулу, которую мы использовали для извлечения чисел из строк:
=TEXTJOIN("",TRUE,IFERROR((MID( A2 ,ROW(INDIRECT("1:"&LEN( A2 ))),1)*1),""))
Вот как работает эта формула:
Во-первых, ROW(INDIRECT(«1:»&LEN( A2 ))) возвращает серию чисел от 1 до длины строки.
Затем (MID( A2 ,ROW(INDIRECT(«1:»&LEN( A2 ))),1)*1) преобразует все символы в тексте в #VALUE! Ошибки.
Затем IFERROR((MID( A2 ,ROW(INDIRECT(«1:»&LEN( A2 ))),1)*1)»,») удаляет все $VALUE! Ошибки.
Наконец, TEXTJOIN(«»,TRUE,IFERROR((MID( A2 ,ROW(INDIRECT(«1:»&LEN( A2 ))),1)*1)»,»)) собирает все оставшиеся числа и игнорирует пробелы.
Конечным результатом является то, что мы можем извлечь только числа из каждой строки.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в Excel:
Excel: как извлечь текст между двумя символами
Excel: как извлечь текст после символа
Excel: как извлечь текст перед символом