Hoe alleen getallen uit een tekststring in Excel te extraheren?
Bij het werken met Excel kun je situaties tegenkomen waarin je getallen moet extraheren uit tekststrings. Of de getallen nu aan het begin, einde of ingebed in de tekst staan, Excel biedt verschillende methoden om dit te bereiken. Deze handleiding verkent verschillende methoden om verschillende scenario's aan te pakken, inclusief het extraheren van decimale getallen, getallen van specifieke posities of getallen van het begin of einde van een string.
Getal extraheren vanaf elke positie uit een tekststring
Alleen decimaal getal extraheren uit tekststring
Getal extraheren vanaf het einde van een tekststring
Getal extraheren vanaf het begin van een tekststring
Getal extraheren vanaf elke positie uit een tekststring
Om u te helpen getallen te extraheren vanaf elke positie binnen een tekststring, introduceren we verschillende praktische en efficiënte methoden.
♦ Getal extraheren vanaf elke positie uit een tekststring met formules
De volgende formules kunnen u helpen om de getallen uit de tekststrings te extraheren, doe dit als volgt:
Selecteer een lege cel waar u het geëxtraheerde getal wilt uitvoeren, typ vervolgens een van de onderstaande formules, sleep dan de formule naar andere cellen. Zie screenshot:
● Alle Excel-versies:
=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 of Excel 2021 en latere versies:
=TEXTJOIN("", TRUE, IFERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1, ""))
♦ Getal extraheren vanaf elke positie uit een tekststring met formules
Kutools voor Excel biedt een snelle en gebruiksvriendelijke manier om getallen uit tekststrings te extraheren zonder dat u zich formules hoeft te herinneren, wat u tijd bespaart en uw workflow stroomlijnt. Hier is hoe het te doen.
- Klik Kutools > Tekst > Tekst extraheren, zie screenshot:
- In de Tekst extraheren dialoogvenster, voer de volgende handelingen uit:
(1.) Selecteer de datalijst waaruit u getallen wilt extraheren;
(2.) Kies Nummers extraheren optie;
(3.) Controleer Invoegen als formule optie indien nodig;
(4.) Klik ten slotte op de OK knop.
- In het volgende promptvenster selecteert u een cel om het geëxtraheerde resultaat uit te voeren, zie screenshot:
- Klik OK, alle getallen uit elke cel worden tegelijk geëxtraheerd. Zie screenshot:
♦ Getal extraheren vanaf elke positie uit een tekststring met VBA-code
Hier is een VBA-code die u ook kan helpen, doe het volgende:
- Houd de toetsen Alt + F11 ingedrukt om het Microsoft Visual Basic for Applications-venster te openen.
- Klik Invoegen > Module, en plak de volgende code in de Module Venster.
VBA-code: Alleen getal extraheren uit tekststring: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
- Druk vervolgens op de F5 toets om deze code uit te voeren, en er verschijnt een promptvenster om u eraan te herinneren de tekstreeks te selecteren die u wilt gebruiken, zie screenshot:
- Klik vervolgens op OK, er volgt nog een promptvenster, selecteer een cel om het resultaat uit te voeren, zie screenshot:
- Klik ten slotte op de OK-knop, en alle getallen in de geselecteerde cellen zijn tegelijk geëxtraheerd.
Alleen decimaal getal extraheren uit tekststring
Als de tekststrings in uw werkblad sommige decimale getallen bevatten, hoe kunt u dan alleen de decimale getallen uit de tekststrings extraheren?
De onderstaande formule kan u helpen om de decimale getallen snel en gemakkelijk uit de tekststrings te extraheren.
Kopieer en plak een van de volgende formules in een lege cel, en vul vervolgens de formule naar beneden in de cellen die u deze formule wilt bevatten, alle decimale getallen zijn geëxtraheerd uit de tekststrings.
● Alle Excel-versies:
=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.]+")
Getal extraheren vanaf het einde van een tekststring
Bij het werken met tekststrings in Excel moet u mogelijk getallen extraheren die zich aan het einde van de string bevinden. Om getallen aan het einde van een string te isoleren, kan de volgende formule u helpen.
Kopieer en plak de onderstaande formule in een lege cel, druk op Ctrl + Shift + Enter om het eerste resultaat te krijgen:
=RIGHT(A2, LEN(A2) - MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0)))
Sleep vervolgens de vulhendel naar beneden om deze formule naar andere cellen te vullen. Deze formule extraheert getallen uitsluitend vanaf het einde van de tekststring, waarbij getallen die aan het begin of in het midden verschijnen worden genegeerd. Zie screenshot:
Getal extraheren vanaf het begin van een tekststring
Om getallen te extraheren vanaf het begin van een tekststring, gebruik dan de volgende formule.
Kopieer en plak de onderstaande formule in een lege cel, druk op Ctrl + Shift + Enter om het eerste resultaat te krijgen:
=LEFT(A2, MATCH(FALSE, ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2)+1)), 1) *1), 0) -1)
Sleep vervolgens de vulhendel naar beneden om deze formule naar andere cellen te vullen, alleen het startgetal wordt geëxtraheerd. Zie screenshot:
Het extraheren van getallen uit tekststrings is een veelvoorkomende taak in Excel, en er zijn verschillende effectieve methoden om dit te bereiken, afhankelijk van uw behoeften en de complexiteit van uw data. Als u meer tips en trucs voor Excel wilt ontdekken, onze website biedt duizenden tutorials.
Gerelateerde artikelen:
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!