Hur extraherar jag endast nummer från textsträng i Excel?
När du arbetar med Excel kan du stöta på situationer där du behöver extrahera siffror från textsträngar. Oavsett om siffrorna är i början, slutet eller inbäddade i texten, erbjuder Excel olika metoder för att uppnå detta. Den här guiden kommer att utforska olika metoder för att hantera olika scenarier, inklusive att extrahera decimaltal, siffror från specifika positioner eller siffror från början eller slutet av en sträng.
Extrahera nummer från valfri position från textsträngen
Extrahera endast decimaltal från textsträngen
Extrahera nummer från slutet av textsträngen
Extrahera nummer från början av textsträngen
Extrahera nummer från valfri position från textsträngen
För att hjälpa dig att extrahera siffror från valfri position inom en textsträng kommer vi att introducera flera praktiska och effektiva metoder.
♦ Extrahera nummer från valfri position från textsträng med formler
Följande formler kan hjälpa dig att 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, skriv sedan någon av formeln nedan och dra sedan formeln till andra celler. Se skärmdump:
● Alla Excel-versioner:
=IF(SUM(LEN(A2)-LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2,ROW(INDIRECT("$1:$"&LEN(A2))),1))* ROW(INDIRECT("$1:$"&LEN(A2))),0), ROW(INDIRECT("$1:$"&LEN(A2))))+1,1) * 10^ROW(INDIRECT("$1:$"&LEN(A2)))/10),"")
● Excel 365 eller Excel 2021 och senare versioner:
=TEXTJOIN("", TRUE, IFERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1, ""))
♦ Extrahera nummer från valfri position från textsträng med formler
Kutools för Excel erbjuder ett snabbt och användarvänligt sätt att extrahera siffror från textsträngar utan att komma ihåg någon formel, vilket hjälper dig att spara tid och effektivisera ditt arbetsflöde. Så här gör du.
- Klicka Kutools > text > Extrahera text, se skärmdump:
- I Extrahera text dialogrutan, gör följande:
(1.) Välj datalistan du vill extrahera siffror;
(2.) Välj Extrahera numret alternativ;
(3.) Kontrollera Infoga som en formel alternativ som du behöver;
(4.) Klicka slutligen OK knapp.
- I följande uppmaningsruta, välj en cell för att mata ut det extraherade resultatet, se skärmdump:
- Klicka OK, alla nummer från varje cell extraheras på en gång. Se skärmdump:
♦ Extrahera nummer från valfri position från textsträng med VBA-kod
Här är en VBA-kod som också kan göra dig en tjänst, gör så här:
- Håll ner Alt + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.
- 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
- 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:
- Klicka sedan OK, en annan snabbruta följer, välj en cell för att mata ut resultatet, se skärmdump:
- Äntligen klickar du på OK knappen och alla siffror i de valda cellerna har extraherats på en gång.
Extrahera endast decimaltal från textsträngen
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.
Kopiera och klistra in någon av följande formel i en tom cell och fyll sedan handtag ner till cellerna som du vill ska innehålla den här formeln, alla decimaltal extraheras från textsträngarna
● Alla Excel-versioner:
=LOOKUP(9.9E+307,--LEFT(MID(A2,MIN(FIND({1,2,3,4,5,6,7,8,9,0}, $A2&"1023456789")),999),ROW(INDIRECT("1:999"))))
● Excel 365:
=REGEXEXTRACT(A2,"[\d.]+")
Extrahera nummer från slutet av textsträngen
När du arbetar med textsträngar i Excel kan du behöva extrahera siffror som finns i slutet av strängen. För att isolera siffror i slutet av en sträng kan följande formel hjälpa dig.
Kopiera och klistra in formeln nedan i en tom cell, tryck Ctrl + Skift + Enter för att få det första resultatet:
=RIGHT(A2, LEN(A2) - MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0)))
Dra sedan fyllningshandtaget nedåt för att fylla den här formeln till andra celler. Den här formeln extraherar siffror uteslutande från slutet av textsträngen och ignorerar alla siffror som visas i början eller i mitten. Se skärmdump:
Extrahera nummer från början av textsträngen
För att extrahera siffror från början av en textsträng, använd följande formel.
Kopiera och klistra in formeln nedan i en tom cell, tryck Ctrl + Skift + Enter för att få det första resultatet:
=LEFT(A2, MATCH(FALSE, ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2)+1)), 1) *1), 0) -1)
Dra sedan fyllningshandtaget nedåt för att fylla denna formel till andra celler, bara startnumret extraheras. Se skärmdump:
Att extrahera siffror från textsträngar är en vanlig uppgift i Excel, och det finns flera effektiva metoder för att uppnå detta, beroende på dina behov och komplexiteten i dina data. Om du är intresserad av att utforska fler Excel-tips och tricks, vår webbplats erbjuder tusentals tutorials.
Relativa artiklar:
Bästa kontorsproduktivitetsverktyg
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...
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!