Prejsť k hlavnému obsahu

Ako extrahovať číslo iba z textového reťazca v Exceli?

Autor: Sun Posledná úprava: 2020-05-22

Metóda 1: Extrahujte číslo iba z textových reťazcov pomocou vzorca

Nasledujúci dlhý vzorec vám môže pomôcť extrahovať iba čísla z textových reťazcov, postupujte takto:

Vyberte prázdnu bunku, do ktorej chcete vypísať extrahované číslo, a potom zadajte tento vzorec: =SÚČETNÝ PRODUKT(STRED(0&A5, VEĽKÝ(INDEX(JE ČÍSLO(--MID(A5, RIADOK(NEPRIAME("1:"&DĹŽKA(A5))), 1)) * RIADOK(NEPRIAME("1:"&DĹŽKA(A5) )), 0), RIADOK(NEPRIAME("1:"&DĹŽKA(A5))))+1, 1) * 10^ROW(NEPRIAME("1:"&DĹŽKA(A5)))/10)a potom potiahnite rukoväť výplne, aby ste vyplnili rozsah, ktorý potrebujete na použitie tohto vzorca. Pozrite si snímku obrazovky:

výpis z dokumentu iba čísla 2

Poznámky:

  • 1. A5 predstavuje prvé údaje, ktoré chcete extrahovať čísla iba zo zoznamu.
  • 2. Ak reťazec neobsahuje žiadne čísla, výsledok sa zobrazí ako 0.

Extrahujte čísla iba z textových reťazcov:

s Kutools pre Excel'S EXTRACTNUMBERS môžete rýchlo extrahovať iba čísla z buniek textového reťazca. Kliknutím stiahnete Kutools pre Excel!

výpis z dokumentu iba čísla 14


Metóda 2: Extrahujte číslo iba z textových reťazcov pomocou kódu VBA

Tu je kód VBA, ktorý vám tiež môže urobiť láskavosť, postupujte takto:

1. Podržte stlačené tlačidlo Alt + F11 klávesy na otvorenie Microsoft Visual Basic pre aplikácie okno.

2, kliknite Vložiť > Modulya vložte nasledujúci kód do Moduly Okna.

Kód VBA: Extrahujte číslo iba z textového reťazca:

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. A potom stlačte F5 kľúč na spustenie tohto kódu a zobrazí sa okno s výzvou na pripomenutie výberu rozsahu textu, ktorý chcete použiť, pozri snímku obrazovky:

výpis z dokumentu iba čísla 3

4, Potom kliknite na tlačidlo OK, nasleduje ďalšie okno s výzvou, vyberte bunku na výstup výsledku, pozri snímku obrazovky:

výpis z dokumentu iba čísla 4

5. Nakoniec klikni OK a všetky čísla vo vybratých bunkách boli naraz extrahované.


Metóda 3: Extrahujte číslo iba z textového reťazca pomocou Kutools pre Excel

Kutools pre Excel má aj výkonnú funkciu tzv EXTRACTNUMBERS, pomocou tejto funkcie môžete rýchlo extrahovať iba čísla z pôvodných textových reťazcov.

Kutools pre Excel : s viac ako 300 praktickými doplnkami Excelu, ktoré si môžete bezplatne vyskúšať bez obmedzenia do 30 dní

Po inštalácii Kutools pre Excel, postupujte prosím takto:

1. Kliknite na bunku vedľa vášho textového reťazca, kam vložíte výsledok, pozri snímku obrazovky:

výpis z dokumentu iba čísla 5

2, Potom kliknite na tlačidlo Kutools > Kutools funkcie > text > EXTRACTNUMBERS, pozri snímku obrazovky:

výpis z dokumentu iba čísla 6

3. V Argumenty funkcie vyberte bunku, z ktorej chcete extrahovať čísla TXT textové pole a potom zadajte pravdivý or nepravdivý do N textové pole, pozri snímku obrazovky:

výpis z dokumentu iba čísla 7

Poznámky: argument N je voliteľná položka, ak zadáte pravdivý, vráti čísla ako číselné, ak zadáte nepravdivý, vráti čísla ako textový formát, predvolená hodnota je false, takže ho môžete nechať prázdne.

4, A potom kliknite na tlačidlo OK, čísla boli extrahované z vybratej bunky, potom potiahnite rukoväť výplne nadol k bunkám, na ktoré chcete použiť túto funkciu, získate nasledujúci výsledok:

výpis z dokumentu iba čísla 8

Kliknite na stiahnutie a bezplatnú skúšobnú verziu Kutools pre Excel teraz!


Metóda 4: Extrahujte desatinné číslo iba z textového reťazca pomocou vzorca

Ak textové reťazce obsahujú niektoré desatinné čísla vo vašom pracovnom hárku, ako by ste mohli z textových reťazcov extrahovať iba desatinné čísla?

Nižšie uvedený vzorec vám môže pomôcť rýchlo a jednoducho extrahovať desatinné čísla z textových reťazcov.

Zadajte tento vzorec:=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")))),a potom vyplňte rukoväť až k bunkám, v ktorých chcete tento vzorec obsahovať, všetky desatinné čísla boli extrahované z textových reťazcov, pozri snímku obrazovky:

výpis z dokumentu iba čísla 13


Extrahujte číslo iba z reťazcov pomocou Kutools pre Excel

Kutools pre Excel: s viac ako 300 praktickými doplnkami Excelu, ktoré si môžete bezplatne vyskúšať bez obmedzenia do 30 dní. Stiahnite si a bezplatnú skúšobnú verziu teraz!

Relatívne články:

Najlepšie nástroje kancelárskej produktivity

🤖 Kutools AI asistent: Revolučná analýza údajov založená na: Inteligentné prevedenie   |  Generovať kód  |  Vytvorte si vlastné vzorce  |  Analyzujte údaje a generujte grafy  |  Vyvolajte funkcie Kutools...
Populárne funkcie: Nájsť, zvýrazniť alebo identifikovať duplikáty   |  Odstrániť prázdne riadky   |  Kombinujte stĺpce alebo bunky bez straty údajov   |   Kolo bez vzorca ...
Super vyhľadávanie: VLookup viacerých kritérií    VLookup s viacerými hodnotami  |   VLookup cez viacero hárkov   |   Fuzzy vyhľadávanie ....
Pokročilý rozbaľovací zoznam: Rýchlo vytvorte rozbaľovací zoznam   |  Závislý rozbaľovací zoznam   |  Rozbaľovací zoznam s viacerými možnosťami ....
Správca stĺpcov: Pridajte konkrétny počet stĺpcov  |  Presunúť stĺpce  |  Prepnúť stav viditeľnosti skrytých stĺpcov  |  Porovnajte rozsahy a stĺpce ...
Hlavné funkcie: Zameranie mriežky   |  Dizajnový pohľad   |   Veľký Formula Bar    Správca zošitov a hárkov   |  Knižnica zdrojov (Automatický text)   |  Výber dátumu   |  Kombinujte pracovné listy   |  Šifrovať/dešifrovať bunky    Odoslať e-maily podľa zoznamu   |  Super filter   |   Špeciálny filter (filtrovať tučné/kurzíva/prečiarknuté...) ...
Top 15 sád nástrojov12 text náradie (doplniť text, Odstrániť znaky, ...)   |   50 + graf Typy (Ganttov diagram, ...)   |   40+ Praktické vzorca (Vypočítajte vek podľa narodenín, ...)   |   19 vloženie náradie (Vložte QR kód, Vložiť obrázok z cesty, ...)   |   12 Konverzia náradie (Čísla k slovám, Prepočet meny, ...)   |   7 Zlúčiť a rozdeliť náradie (Rozšírené kombinovanie riadkov, Split Cells, ...)   |   ... a viac

Obohaťte svoje excelové zručnosti pomocou Kutools pre Excel a zažite efektivitu ako nikdy predtým. Kutools for Excel ponúka viac ako 300 pokročilých funkcií na zvýšenie produktivity a šetrenie času.  Kliknutím sem získate funkciu, ktorú najviac potrebujete...

Popis


Karta Office prináša do balíka Office rozhranie s kartami a značne vám uľahčí prácu

  • Povoliť úpravy a čítanie na kartách vo Worde, Exceli, PowerPointe, Publisher, Access, Visio a Project.
  • Otvorte a vytvorte viacero dokumentov na nových kartách toho istého okna, nie v nových oknách.
  • Zvýši vašu produktivitu o 50 % a zníži za vás stovky kliknutí myšou každý deň!
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