Hoppa till huvudinnehåll

Hur extraherar jag endast nummer från textsträng i Excel?

doc-utdrag nummer endast 1

Har du någonsin velat extrahera nummer endast från en lista med strängar i Excel? Här introducerar jag några sätt för dig att extrahera bara siffror snabbt och enkelt i Excel.

Metod 1: Extrahera numret endast från textsträngar med formel

Metod 2: Extrahera numret endast från textsträngar med VBA-kod

Metod 3: Extrahera endast nummer från textsträng med Kutools för Excel

Metod 4: Extrahera endast decimaltal från textsträng med formel


Metod 1: Extrahera numret endast från textsträngar med formel

Följande långa formel kan hjälpa dig att endast extrahera siffrorna från textsträngarna, gör så här:

Välj en tom cell där du vill mata ut det extraherade numret och skriv sedan denna formel: = SUMPRODUCT (MID (0 & A5, STOR (INDEX (ISNUMBER (- MID (A5, RAD (INDIRECT ("1:" & LENN (A5))), 1) * ROW (INDIRECT ("1:" & LEN (A5) )), 0), RAD (INDIRECT ("1:" & LEN (A5)))) + 1, 1) * 10 ^ RAD (INDIRECT ("1:" & LEN (A5))) / 10)och dra sedan fyllningshandtaget för att fylla det intervall du behöver för att tillämpa denna formel. Se skärmdump:

doc-utdrag nummer endast 2

Anmärkningar:

  • 1. A5 står de första uppgifterna som du bara vill extrahera nummer från listan.
  • 2. Resultatet visas som 0 när det inte finns några siffror i strängen.

Extrahera siffror endast från textsträngar:

Med Kutools för ExcelÄr EXTRAKTNUMMER funktion kan du snabbt bara extrahera siffror från textsträngcellerna. Klicka för att ladda ner Kutools för Excel!

doc-utdrag nummer endast 14


Metod 2: Extrahera numret endast från textsträngar med VBA-kod

Här är en VBA-kod som också kan göra dig en tjänst, gör så här:

1. Håll ner Alt + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.

VBA-kod: Extrahera numret endast från textsträngen:

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. Och tryck sedan på F5 nyckel för att köra den här koden och en snabbruta visas för att påminna om att välja det textintervall du vill använda, se skärmdump:

doc-utdrag nummer endast 3

4. Klicka sedan OK, en annan snabbruta följer, välj en cell för att mata ut resultatet, se skärmdump:

doc-utdrag nummer endast 4

5. Äntligen klickar du på OK knappen och alla siffror i de valda cellerna har extraherats på en gång.


Metod 3: Extrahera endast nummer från textsträng med Kutools för Excel

Kutools för Excel har också en kraftfull funktion som kallas EXTRAKTNUMMER, med den här funktionen kan du snabbt bara extrahera siffrorna från originaltextsträngarna.

Kutools för Excel : med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar

När du har installerat Kutools för Excel, gör så här:

1. Klicka på en cell förutom din textsträng där du kommer att lägga resultatet, se skärmdump:

doc-utdrag nummer endast 5

2. Klicka sedan Kutools > Kutools funktioner > text > EXTRAKTNUMMER, se skärmdump:

doc-utdrag nummer endast 6

3. I Funktionsargument Välj en cell som du vill extrahera siffrorna från Text textruta och ange sedan sann or falsk i N textruta, se skärmdump:

doc-utdrag nummer endast 7

Anmärkningar: argumentet N är ett valfritt objekt om du anger sann, kommer det att returnera siffrorna som numeriska, om du anger falsk, kommer siffrorna att returneras som textformat, standard är falsk, så du kan lämna den tom.

4. Och klicka sedan på OK, siffrorna har extraherats från den valda cellen, dra sedan påfyllningshandtaget ner till cellerna du vill använda denna funktion, du får följande resultat:

doc-utdrag nummer endast 8

Klicka för att ladda ner och prova gratis Kutools för Excel nu!


Metod 4: Extrahera endast decimaltal från textsträng med formel

Om textsträngarna som innehåller några decimaltal i kalkylbladet, hur kan du bara extrahera decimaltalen från textsträngarna?

Nedanstående formel kan hjälpa dig att extrahera decimaltalen från textsträngarna snabbt och enkelt.

Ange denna formel :=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")))), Och fyll sedan handtaget ner till cellerna som du vill innehålla denna formel, alla decimaltal har extraherats från textsträngarna, se skärmdump:

doc-utdrag nummer endast 13


Extrahera numret endast från strängar med Kutools för Excel

Kutools för Excel: med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar. Ladda ner och testa gratis nu!

Relativa artiklar:

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...

Beskrivning


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
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