Ladda ner exempelarbetsboken
Denna handledning kommer visa dig hur du skiljer text och siffror från en alfanumerisk sträng i Excel och Google Kalkylark.
Separat antal och text från sträng
Den här artikeln kommer att diskutera hur du delar upp tal och text om du har alfanumeriska data där den första delen är text och den sista delen är numerisk (eller vis-a-versa). Du behöver bara nummerdelen från. Mer komplexa fall finns i artikeln om hur man tar bort icke-numeriska tecken.
Extrahera nummer från höger
Det enklaste fallet att extrahera tal från en sträng är när numret kan hittas i den högra änden av den strängen. Först lokaliserar vi startpositionen för numret med FIND -funktionen och extraherar det sedan med HÖGER -funktionen.
1 | = HÖGER (B3, LEN (B3) -MIN (FIND ({0,1,2,3,4,5,6,7,8,9}, B3 & "0123456789"))+1) |
Låt oss gå igenom formeln ovan.
Hitta första nummer
Vi kan använda FIND -funktionen för att hitta nummerets startposition.
1 | = MIN (FIND ({0,1,2,3,4,5,6,7,8,9}, B3 & "0123456789")) |
För hitta_text -argumentet för FIND -funktionen använder vi arraykonstanten {0,1,2,3,4,5,6,7,8,9}, vilket gör att FIND -funktionen utför separata sökningar för varje värde i arrayen konstant.
Inom_text -argumentet för FIND -funktionen är cellvärde och “0123456789”. I vårt exempel "måndag010123456789".
Eftersom arraykonstanten innehåller 10 nummer blir resultatet en array med 10 värden. I vårt exempel: {7,8,11,12,13,14,15,16,17,18}. Sedan letar vi helt enkelt efter det minsta antalet positioner inom denna array och får därför platsen för det första numret.
Utdrag nummer del
När vi väl har startpositionen för numret som finns i slutet av vår alfanumeriska sträng kan vi använda HÖGER -funktionen för att extrahera det.
1 | = HÖGER (B3, LEN (B3) -C3+1) |
Extrahera textdel
Med nummerpositionens utgångsläge kan vi samtidigt bestämma slutet på textdelen. Vi kan använda VÄNSTER -funktionen för att extrahera den.
1 | = VÄNSTER (B3, C3-1) |
Ett mer komplicerat fall att extrahera tal från en sträng är när numret kan hittas i början (dvs vänster sida) av strängen. Uppenbarligen behöver du inte hitta sitt utgångsläge, snarare positionen där det slutar. Först hittar vi positionen för det sista numret med hjälp av SUBSTITUTE -funktionen och extraherar sedan numret med VÄNSTER -funktionen.
1 | = VÄNSTER (B3, SUM (LEN (B3) -LEN (ERSÄTTNING (B3, {"0", "1", "2", "3", "4", "5", "6", "7") , "8", "9"}, ""))))) |
Låt oss gå igenom formeln ovan.
Hitta sista nummer
Med funktionen SUBSTITUTE kan du ersätta varje nummer ett efter ett med en tom sträng och sedan summera hur många gånger du var tvungen att göra det.
1 | = SUMMA (LEN (B3) -LEN (BYTE (B3, {"0", "1", "2", "3", "4", "5", "6", "7", "8") , "9"}, "")))) |
När du ersätter varje nummer en efter en med en tom sträng får du varje gång en sträng vars längd är en mindre än originallängden. I vårt fall är längden 1-måndag och 0-måndag båda 8. Subtraherar denna längd från originallängden (9 i vårt fall) får du alltid 1. När du summerar dessa får du positionen för ditt sista nummer .
Utdrag nummer del
När vi har den sista positionen för numret som finns i början av vår alfanumeriska sträng, kan vi använda VÄNSTER -funktionen för att extrahera det.
1 | = VÄNSTER (B3, C3) |
Extrahera textdel
Med den sista positionen för numret som finns i början av vår alfanumeriska sträng, har vi redan startpositionen för vår textdel och kan använda HÖGER -funktionen för att extrahera den.
1 | = HÖGER (B3, LEN (B3) -C3) |
Separera text och siffror i Google Kalkylark
Alla exemplen som förklaras ovan fungerar på samma sätt i Google -blad som i Excel.