Separat text och siffror - Excel och Google Kalkylark

Ladda ner exempel på arbetsbok

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.

wave wave wave wave wave