Hopp til hovedinnhold

Hvordan trekke ut tall bare fra tekststreng i Excel?

Forfatter: Sun Sist endret: 2020-05-22
doc-utdrag kun tall 1

Har du noen gang ønsket å trekke ut tall bare fra en liste med strenger i Excel? Her introduserer jeg noen måter for deg å trekke ut bare tall raskt og enkelt i Excel.

Metode 1: Trekk ut tall bare fra tekststrenger med formel

Metode 2: Trekk ut nummer kun fra tekststrenger med VBA-kode

Metode 3: Trekk ut nummer bare fra tekststreng med Kutools for Excel

Metode 4: Trekk ut desimaltall bare fra tekststreng med formel


Metode 1: Trekk ut tall bare fra tekststrenger med formel

Følgende lange formel kan hjelpe deg å trekke ut bare tallene fra tekststrengene, vennligst gjør som dette:

Velg en tom celle der du vil skrive ut det utpakkede tallet, og skriv deretter inn denne formelen: =SUMPRODUKT(MIDDEL(0&A5, STOR(INDEKS(ERNUMMER(--MIDDEL(A5, RAD(INDIREKTE("1:"&LENGE(A5))), 1)) * RAD(INDIREKTE("1:"&LEN(A5) )), 0), ROW(INDIRECT("1:"&LEN(A5))))+1, 1) * 10^RAD(INDIREKTE("1:"&LEN(A5)))/10), og dra deretter fyllhåndtaket for å fylle området du trenger for å bruke denne formelen. Se skjermbilde:

doc-utdrag kun tall 2

Merknader:

  • 1. A5 står de første dataene du vil trekke ut tall kun fra listen.
  • 2. Resultatet vil vises som 0 når det ikke er tall i strengen.

Trekk ut tall bare fra tekststrenger:

Med Kutools for Excel'S UTTREKKSNUMMER funksjon, kan du raskt trekke ut bare tall fra tekststrengcellene. Klikk for å laste ned Kutools for Excel!

doc-utdrag kun tall 14


Metode 2: Trekk ut nummer kun fra tekststrenger med VBA-kode

Her er en VBA-kode som også kan gjøre deg en tjeneste, vennligst gjør som følger:

1. Hold nede Alt + F11 nøkler for å åpne Microsoft Visual Basic for Applications vinduet.

2. Klikk innfelt > Moduler, og lim inn følgende kode i Moduler Vindu.

VBA-kode: Trekk ut nummer kun fra tekststreng:

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. Og trykk deretter F5 tasten for å kjøre denne koden, og en ledetekst vises for å minne om å velge tekstområdet du vil bruke, se skjermbilde:

doc-utdrag kun tall 3

4. Deretter klikker du OK, en annen meldingsboks følger, velg en celle for å sende ut resultatet, se skjermbilde:

doc-utdrag kun tall 4

5. Endelig, klikk OK -knappen, og alle tallene i de valgte cellene er trukket ut samtidig.


Metode 3: Trekk ut nummer bare fra tekststreng med Kutools for Excel

Kutools for Excel har også en kraftig funksjon som kalles UTTREKKSNUMMER, med denne funksjonen kan du raskt trekke ut bare tallene fra de originale tekststrengene.

Kutools for Excel : med mer enn 300 praktiske Excel-tillegg, gratis å prøve uten begrensning på 30 dager

Etter å ha installert Kutools for Excel, vennligst gjør som følger:

1. Klikk på en celle ved siden av tekststrengen din der du vil plassere resultatet, se skjermbilde:

doc-utdrag kun tall 5

2. Klikk deretter Kutools > Kutools funksjoner > tekst > UTTREKKSNUMMER, se skjermbilde:

doc-utdrag kun tall 6

3. på Funksjonsargumenter dialogboksen, velg en celle som du vil trekke ut tallene fra Tekst tekstboks, og skriv deretter inn sant or falsk inn N tekstboks, se skjermbilde:

doc-utdrag kun tall 7

Merknader: argumentet N er et valgfritt element, hvis du går inn sant, vil den returnere tallene som numeriske, hvis du taster inn falsk, vil den returnere tallene som tekstformat, standarden er falsk, så du kan la den stå tom.

4. Og klikk deretter OK, tallene er trukket ut fra den valgte cellen, dra deretter fyllhåndtaket ned til cellene du vil bruke denne funksjonen, du får følgende resultat:

doc-utdrag kun tall 8

Klikk for å laste ned og gratis prøveversjon av Kutools for Excel nå!


Metode 4: Trekk ut desimaltall bare fra tekststreng med formel

Hvis tekststrengene som inkluderer noen desimaltall i regnearket, hvordan kan du trekke ut bare desimaltallene fra tekststrengene?

Formelen nedenfor kan hjelpe deg med å trekke ut desimaltallene fra tekststrengene raskt og enkelt.

Skriv inn denne formelen:=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")))),og fyll deretter håndtaket ned til cellene som du vil inneholde denne formelen, alle desimaltallene er trukket ut fra tekststrengene, se skjermbilde:

doc-utdrag kun tall 13


Trekk ut nummer bare fra strenger med Kutools for Excel

Kutools for Excel: med mer enn 300 praktiske Excel-tillegg, gratis å prøve uten begrensning på 30 dager. Last ned og gratis prøveversjon nå!

Relative artikler:

Beste kontorproduktivitetsverktøy

🤖 Kutools AI Aide: Revolusjonerer dataanalyse basert på: Intelligent utførelse   |  Generer kode  |  Lag egendefinerte formler  |  Analyser data og generer diagrammer  |  Påkalle Kutools-funksjoner...
Populære funksjoner: Finn, uthev eller identifiser duplikater   |  Slett tomme rader   |  Kombiner kolonner eller celler uten å miste data   |   Runde uten formel ...
Super oppslag: VLookup med flere kriterier    VLookup med flere verdier  |   VOppslag på tvers av flere ark   |   Fuzzy Lookup ....
Avansert rullegardinliste: Opprett rullegardinliste raskt   |  Avhengig rullegardinliste   |  Rullegardinliste med flere valg ....
Kolonnebehandler: Legg til et spesifikt antall kolonner  |  Flytt kolonner  |  Slå av/på synlighetsstatus for skjulte kolonner  |  Sammenlign områder og kolonner ...
Utvalgte funksjoner: Rutenettfokus   |  Designvisning   |   Stor formelbar    Arbeidsbok- og arksjef   |  Ressursbibliotek (Autotekst)   |  Datovelger   |  Kombiner regneark   |  Krypter/dekrypter celler    Send e-poster etter liste   |  Superfilter   |   Spesialfilter (filter fet/kursiv/gjennomstreking...) ...
Topp 15 verktøysett12 tekst verktøy (Legg til tekst, Fjern tegn,...)   |   50 + Figur Typer (Gantt,...)   |   40+ Praktisk Formler (Beregn alder basert på bursdag,...)   |   19 Innsetting verktøy (Sett inn QR-kode, Sett inn bilde fra bane,...)   |   12 Konvertering verktøy (Tall til ord, Currency Conversion,...)   |   7 Slå sammen og del verktøy (Avansert kombinasjon av rader, Del celler,...)   |   ... og mer

Utvid Excel-ferdighetene dine med Kutools for Excel, og opplev effektivitet som aldri før. Kutools for Excel tilbyr over 300 avanserte funksjoner for å øke produktiviteten og spare tid.  Klikk her for å få funksjonen du trenger mest...

Beskrivelse


Office Tab bringer fanebasert grensesnitt til Office, og gjør arbeidet ditt mye enklere

  • Aktiver faneredigering og lesing i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åpne og opprett flere dokumenter i nye faner i samme vindu, i stedet for i nye vinduer.
  • Øker produktiviteten din med 50 %, og reduserer hundrevis av museklikk for deg hver 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