Перейти до основного матеріалу

Як витягти число лише з текстового рядка в Excel?


Спосіб 1: Витягнути номер лише із текстових рядків із формулою

Наступна довга формула може допомогти вам витягти лише числа з текстових рядків, будь-ласка, зробіть так:

Виберіть порожню комірку, куди потрібно вивести витягнуте число, а потім введіть цю формулу: = SUMPRODUCT (MID (0 & A5, BARGE (INDEX (ISUMBER (- 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), а потім перетягніть маркер заповнення, щоб заповнити діапазон, необхідний для застосування цієї формули. Дивіться знімок екрана:

doc витяг номерів лише 2

Примітки:

  • 1. A5 стоїть перші дані, які потрібно витягти лише зі списку.
  • 2. Результат відображатиметься як 0, коли в рядку немає цифр.

Витяг чисел лише з текстових рядків:

з Kutools для ExcelАвтора ЕКСТРАКТНІ ЧИСЛА функцію, ви можете швидко витягти лише числа з комірок текстового рядка. Клацніть, щоб завантажити Kutools для Excel!

doc витяг номерів лише 14


Спосіб 2: Витягнути номер лише з текстових рядків із кодом VBA

Ось код VBA, який також може зробити вам послугу, будь-ласка, зробіть наступне:

1. Утримуйте клавішу Alt + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.

2. Клацання Insert > Модуліта вставте наступний код у Модулі Вікно

Код 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 клавішу для запуску цього коду, і з'явиться підказка, щоб нагадати про вибір діапазону тексту, який ви хочете використовувати, див. знімок екрана:

doc витяг номерів лише 3

4. Потім натисніть кнопку OK, слідує інше вікно запиту, виберіть клітинку для виведення результату, див. знімок екрана:

doc витяг номерів лише 4

5. Нарешті клацніть OK , і всі числа у вибраних клітинках були вилучені одночасно.


Спосіб 3: Витягніть число лише з текстового рядка за допомогою Kutools для Excel

Kutools для Excel також має потужну функцію, яка називається ЕКСТРАКТНІ ЧИСЛА, за допомогою цієї функції ви можете швидко витягти лише числа з вихідних текстових рядків.

Kutools для Excel : з більш ніж 300 зручними надбудовами Excel, які можна спробувати без обмежень протягом 30 днів

після установки Kutools для Excel, будь ласка, виконайте наступне:

1. Клацніть на клітинку поряд із текстовим рядком, куди ви помістите результат, див. Знімок екрана:

doc витяг номерів лише 5

2. Потім натисніть Кутулс > Функції Kutools > текст > ЕКСТРАКТНІ ЧИСЛА, див. скріншот:

doc витяг номерів лише 6

3, в Аргументи функції діалоговому вікні виберіть клітинку, в яку ви хочете витягнути номери з Txt текстове поле, а потім введіть правда or false в N текстове поле, див. знімок екрана:

doc витяг номерів лише 7

примітки: аргумент N є необов’язковим елементом, якщо ви введете правда, якщо ви введете, це поверне цифри як числові false, він поверне цифри у текстовому форматі, за замовчуванням значення false, так що ви можете залишити це поле порожнім.

4. А потім клацніть OK, числа були витягнуті з вибраної комірки, а потім перетягніть маркер заповнення вниз до комірок, до яких ви хочете застосувати цю функцію, ви отримаєте такий результат:

doc витяг номерів лише 8

Натисніть, щоб завантажити та безкоштовну пробну версію Kutools для 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")))),, А потім заповніть ручку до клітинок, які ви хочете містити в цій формулі, усі десяткові числа були витягнуті з текстових рядків, див. Знімок екрана:

doc витяг номерів лише 13


Витягуйте число лише з рядків за допомогою Kutools для Excel

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

Відносні статті:

Найкращі інструменти продуктивності офісу

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

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

Опис


Вкладка Office Передає інтерфейс із вкладками в Office і значно полегшує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 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