Перейти к основному содержанию

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


Метод 1. Извлечь число только из текстовых строк с формулой

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

Выберите пустую ячейку, в которую вы хотите вывести извлеченное число, затем введите эту формулу: = СУММПРОИЗВ (СРЕДНЯЯ (0 & A5; НАИБОЛЬШИЙ (ИНДЕКС (- СРЕДНЕЕ (A5; СТРОКА (КОСВЕННАЯ ("1:" & LEN (A5))); 1)) * СТРОКА (КОСВЕННАЯ ("1:" & LEN (A5) )), 0), СТРОКА (КОСВЕННАЯ ("1:" & LEN (A5)))) + 1, 1) * 10 ^ ROW (INDIRECT ("1:" & LEN (A5))) / 10), а затем перетащите маркер заполнения, чтобы заполнить диапазон, необходимый для применения этой формулы. Смотрите скриншот:

документ извлекает только номера 2

Ноты:

  • 1. A5 стоит первые данные, из которых вы хотите извлечь числа только из списка.
  • 2. Если в строке нет чисел, результат будет показан как 0.

Извлекать числа только из текстовых строк:

Доступно Kutools for ExcelАвтора ВЫДЕРЖКИ функция, вы можете быстро извлекать только числа из ячеек текстовой строки. Нажмите, чтобы загрузить Kutools for Excel!

документ извлекает только номера 14


Метод 2: извлекать число только из текстовых строк с кодом VBA

Вот код VBA, который также может оказать вам услугу, пожалуйста, сделайте следующее:

1. Удерживайте Alt + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

Код VBA: извлекать номер только из текстовой строки:

Sub ExtrNumbersFromRange()
    Dim xRg As Range
    Dim xDRg As Range
    Dim xRRg As Range
    Dim nCellLength As Integer
    Dim xNumber As Integer
    Dim strNumber As String
    Dim xTitleId As String
    Dim xI As Integer
    xTitleId = "KutoolsforExcel"
    Set xDRg = Application.InputBox("Please select text strings:", xTitleId, "", Type:=8)
    If TypeName(xDRg) = "Nothing" Then Exit Sub
    Set xRRg = Application.InputBox("Please select output cell:", xTitleId, "", Type:=8)
    If TypeName(xRRg) = "Nothing" Then Exit Sub
    xI = 0
    strNumber = ""
  For Each xRg In xDRg
    xI = xI + 1
    nCellLength = Len(xRg)
    For xNumber = 1 To nCellLength
      If IsNumeric(Mid(xRg, xNumber, 1)) Then
        strNumber = strNumber & Mid(xRg, xNumber, 1)
      End If
    Next xNumber
    xRRg.Item(xI) = strNumber
    strNumber = ""
  Next xRg
End Sub

3. А затем нажмите F5 нажмите клавишу для запуска этого кода, и появится окно подсказки, напоминающее о выборе текстового диапазона, который вы хотите использовать, см. снимок экрана:

документ извлекает только номера 3

4, Затем нажмите OK, следующее окно подсказки, выберите ячейку для вывода результата, см. снимок экрана:

документ извлекает только номера 4

5, Наконец, нажмите OK кнопку, и все числа в выбранных ячейках были извлечены сразу.


Метод 3: извлечь номер только из текстовой строки с помощью Kutools for Excel

Kutools for Excel также имеет мощную функцию, которая называется ВЫДЕРЖКИ, с помощью этой функции вы можете быстро извлечь только числа из исходных текстовых строк.

Kutools for Excel : с более чем 300 удобными надстройками Excel, бесплатно и без ограничений в течение 30 дней

После установки Kutools for Excel, пожалуйста, сделайте следующее:

1. Щелкните ячейку помимо текстовой строки, в которую вы поместите результат, см. Снимок экрана:

документ извлекает только номера 5

2. Затем нажмите Кутулс > Функции Kutools > Текст > ВЫДЕРЖКИ, см. снимок экрана:

документ извлекает только номера 6

3. В Аргументы функций диалоговом окне выберите ячейку, в которой вы хотите извлечь числа из Текст текстовое поле, а затем введите правда or ложный в N текстовое поле, см. снимок экрана:

документ извлекает только номера 7

Внимание: Аргумент N является необязательным элементом, если вы введете правда, он вернет числа как числовые, если вы введете ложный, он вернет числа в текстовом формате, значение по умолчанию - false, поэтому вы можете оставить его пустым.

4, Затем нажмите OK, числа были извлечены из выбранной ячейки, затем перетащите маркер заполнения вниз к ячейкам, которые вы хотите применить к этой функции, вы получите следующий результат:

документ извлекает только номера 8

Нажмите, чтобы загрузить и бесплатную пробную версию Kutools for Excel прямо сейчас!


Метод 4: извлечь десятичное число только из текстовой строки с формулой

Если текстовые строки содержат некоторые десятичные числа на вашем листе, как вы могли бы извлечь из текстовых строк только десятичные числа?

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

Введите эту формулу :=LOOKUP(9.9E+307,--LEFT(MID(A5,MIN(FIND({1,2,3,4,5,6,7,8,9,0}, $A5&"1023456789")),999),ROW(INDIRECT("1:999")))),, А затем заполните дескриптор до ячеек, которые вы хотите содержать эту формулу, все десятичные числа были извлечены из текстовых строк, см. Снимок экрана:

документ извлекает только номера 13


Извлечь номер только из строк с помощью Kutools for Excel

Kutools for Excel: с более чем 300 удобными надстройками Excel, которые можно попробовать бесплатно без ограничений в течение 30 дней. Загрузите и бесплатную пробную версию прямо сейчас!

Относительные статьи:

Лучшие инструменты для офисной работы

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

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

Описание


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Comments (61)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
how to get a extract extact numbers from text
This comment was minimized by the moderator on the site
Hi, I'm looking to list all numbers in a string before a certain character. The string has letters and numbers, so I want to remove the letters and only list the numbers that appear before the second minus sign "-". Example:MUMUT-S941-22460991e002
I want that to isolate the numbers 941 in the above example.
This comment was minimized by the moderator on the site
How to use Index instead of Indirect to extract number from string. Indirect is volatile and Index can replace it as per http://www.excelhero.com/blog/2011/03/the-imposing-index.html. Thanks Ahead!
This comment was minimized by the moderator on the site
Hello! I found the following formula to extract only the numbers from text strings in Excel very useful

SUMPRODUCT(MID(0&A5, LARGE(INDEX(ISNUMBER(--MID(A5, ROW(INDIRECT("1:"&LEN(A5))), 1)) * ROW(INDIRECT("1:"&LEN(A5))), 0), ROW(INDIRECT("1:"&LEN(A5))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(A5)))/10)

Could you explain more on this formula as it seems quite complicated? Many thanks.
This comment was minimized by the moderator on the site
Reading ID: 3151346 BeatO User ID: 239930 Name: Mahesh Phone: 9823010759 Email: City: nashik State: Maharashtra Reading: 55 Meal Time: Random Meal Type: RANDOM Reading Time: 2020-03-01 00:15:57 View user readings in Portal



I want to extract numeric no. post Reading text
This comment was minimized by the moderator on the site
Hello, how can i extract the cheque no.only from the below text

OUTWARD CLEARING CLRG CHQ DEPOSIT CHQ. NO: 000123~700320456 ABCD ARAB PLAZ BRANC Value DATE, 01/02/2020 - S79519642

i tried below formula and its working but i need to change the 1:57 by calculating how many character before the first digit plus how many digits i want to extract.
=MIN(FIND({0,1,2,3,4,5,6,7,8,9},A3&"0123456789"))+5 im using this formula to know how many characters before the first number..

=TEXTJOIN("",TRUE,IFERROR(MID(A3,ROW(INDIRECT("1:57")),1)+0,""))
This comment was minimized by the moderator on the site
=Mid(A2,find("CHQ. NO", A2)+9,6)
This comment was minimized by the moderator on the site
Hi. I wonder to know is it possible to extract from the next string '102-105+106-10605-10605 -10631-10632-10633-10634-10635+107' all values of only three digits that have sign '-' (i.e. minus) before them (or plus - doesn't matter). Then extract extract all 5-digits values with the same rule? If this is possible to do I will save many many hours of manual work that I can devote to lot's of uselful tasks.

P.S.
I know that regular expressions are able to do that, BUT... I hate their syntax, so I'm searching any other method to complete this task.

Thanks in advance.
This comment was minimized by the moderator on the site
Hi, is it possible to extract the numbers before "g", for example : 25,20,15,25,300,40

Ali Baba Dark Chocolate 25g box 12 pcs
Ali Baba Dark Chocolate 20g*24 box
Cadbury 5 Star White Chocolate 15g
Kinder 2 White Chocolate 25g*24
ALpella Biscuits W/Marshmallow300g
Alpella Chocolate 40g
This comment was minimized by the moderator on the site
did anyone answer or did you figure this out? this is exactly my problem right - even down to the letter 'g'. the problem with the formula I am using now is that it returns the first number, if there are more than one, from the string and not the number I am wishing to return.
This comment was minimized by the moderator on the site
Hi, is it possible to extract the numbers before "g", for example : 25,20,15,25,300,40


Ali Baba Dark Chocolate 25g box 12 pcs
Ali Baba Dark Chocolate 20g*24 box
Cadbury 5 Star White Chocolate 15g
Kinder 2 White Chocolate 25g*24
ALpella Biscuits W/Marshmallow300g
Alpella Chocolate 40g
This comment was minimized by the moderator on the site
can any one answer this question, how to extract the no's
This comment was minimized by the moderator on the site
You may try select the number before g in the first cell, copy and paste it in new cell. Then press CTRL + E. All the number before g will be auto generated. 

This comment was minimized by the moderator on the site
Tkssssss you saved my day :) God bless you
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations