Přejít k hlavnímu obsahu

Jak extrahovat číslo pouze z textového řetězce v aplikaci Excel?


Metoda 1: Extrahujte číslo pouze z textových řetězců se vzorcem

Následující dlouhý vzorec vám pomůže extrahovat pouze čísla z textových řetězců, postupujte takto:

Vyberte prázdnou buňku, do které chcete vytisknout extrahované číslo, a zadejte tento vzorec: = 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)a potom tažením úchytu vyplňte rozsah, který potřebujete k použití tohoto vzorce. Viz screenshot:

pouze čísla výpisu dokumentu 2

Poznámky:

  • 1. A5 představuje první data, ze kterých chcete extrahovat čísla pouze ze seznamu.
  • 2. Výsledek se zobrazí jako 0, pokud v řetězci nejsou žádná čísla.

Extrahujte čísla pouze z textových řetězců:

S Kutools pro ExcelJe VÝTAŽKOVÁ ČÍSLA funkce, můžete rychle extrahovat pouze čísla z buněk textového řetězce. Klikněte a stáhněte si Kutools pro Excel!

pouze čísla výpisu dokumentu 14


Metoda 2: Extrahujte číslo pouze z textových řetězců pomocí kódu VBA

Zde je kód VBA, který vám také může udělat laskavost, postupujte takto:

1. Podržte Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující kód do Modul Okno.

Kód VBA: Extrahujte číslo pouze z textového řetězce:

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 pak stiskněte F5 klíč ke spuštění tohoto kódu a zobrazí se okno s výzvou k připomenutí výběru rozsahu textu, který chcete použít, viz screenshot:

pouze čísla výpisu dokumentu 3

4. Potom klepněte na tlačítko OK, následuje další okno s výzvou, vyberte buňku pro výstup výsledku, viz screenshot:

pouze čísla výpisu dokumentu 4

5. Konečně klikněte na tlačítko OK tlačítko a všechna čísla ve vybraných buňkách byla extrahována najednou.


Metoda 3: Extrahujte číslo pouze z textového řetězce pomocí programu Kutools pro Excel

Kutools pro Excel má také výkonnou funkci, která se nazývá VÝTAŽKOVÁ ČÍSLAPomocí této funkce můžete rychle extrahovat pouze čísla z původních textových řetězců.

Kutools pro Excel : s více než 300 praktickými doplňky Excel, můžete si je vyzkoušet bez omezení do 30 dnů

Po instalaci Kutools pro Excel, postupujte následovně:

1. Klikněte na buňku vedle textového řetězce, kam umístíte výsledek, viz screenshot:

pouze čísla výpisu dokumentu 5

2. Pak klikněte na tlačítko Kutools > Funkce Kutools > Text > VÝTAŽKOVÁ ČÍSLA, viz screenshot:

pouze čísla výpisu dokumentu 6

3. V Argumenty funkce V dialogovém okně vyberte buňku, ze které chcete extrahovat čísla z Txt do textového pole a poté zadejte pravdivý or nepravdivý do N textové pole, viz screenshot:

pouze čísla výpisu dokumentu 7

Poznámka: argument N je volitelná položka, pokud zadáte pravdivý, vrátí čísla jako numerická, pokud zadáte nepravdivý, vrátí čísla jako textový formát, výchozí hodnota je nepravdivá, takže můžete nechat prázdné.

4. A pak klikněte na tlačítko OK, čísla byla extrahována z vybrané buňky, poté přetáhněte úchyt výplně dolů do buněk, na které chcete použít tuto funkci, získáte následující výsledek:

pouze čísla výpisu dokumentu 8

Klikněte a stáhněte si zdarma zkušební verzi Kutools pro Excel!


Metoda 4: Extrahujte desetinné číslo pouze z textového řetězce se vzorcem

Pokud textové řetězce obsahující některá desetinná čísla v listu, jak můžete z textových řetězců extrahovat pouze desetinná čísla?

Níže uvedený vzorec vám pomůže rychle a snadno extrahovat desetinná čísla z textových řetězců.

Zadejte 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 poté vyplňte popisovač do buněk, které chcete tento vzorec obsahovat, všechna desetinná čísla byla extrahována z textových řetězců, viz screenshot:

pouze čísla výpisu dokumentu 13


Extrahujte číslo pouze z řetězců pomocí Kutools pro Excel

Kutools pro Excel: s více než 300 praktickými doplňky aplikace Excel, můžete vyzkoušet bez omezení do 30 dnů. Stáhněte si a vyzkoušejte zdarma hned teď!

Relativní články:

Nejlepší nástroje pro produktivitu v kanceláři

Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

karta kte 201905


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
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