Det är vanligt att flera uppgifter hamnar i samma cell. Det kan vara för- och efternamn, en hel adress med gata, postnummer och ort, eller en artikelkod där varje del betyder något. Så länge allt ligger i en enda cell går det inte att sortera på efternamn, filtrera på ort eller räkna per produktgrupp. Då behöver du dela upp texten.

Här går vi igenom två sätt att dela upp text i flera kolumner i Excel. Det första är verktyget Text till kolumner, som delar upp en hel kolumn på några sekunder. Det andra är formler, som tar lite längre tid att bygga men uppdateras automatiskt när källdatan ändras. Du får också veta när de passar bäst och vilka fallgropar du bör se upp med.

När behöver du dela upp text i kolumner?

Det vanligaste skälet att dela upp text i flera kolumner är att informationen har hamnat i en enda cell fast du behöver kunna sortera, filtrera eller räkna på delarna var för sig. Så länge allt ligger i samma cell kan du till exempel inte sortera på efternamn eller filtrera fram alla kunder i en viss ort.

Några typiska fall:

  • För- och efternamn i samma cell. En kundlista med Anna Lindqvist i kolumn A behöver bli två kolumner, Anna och Lindqvist, om du vill sortera på efternamn eller skriva personliga utskick som börjar med förnamnet.
  • Adresser med postnummer och ort. Ett register där det står Storgatan 12, 411 38 Göteborg i en cell blir mycket enklare att arbeta med när gatuadress, postnummer och ort ligger i egna kolumner. Då kan du filtrera på ort eller gruppera på postnummer.
  • Artikelkoder med flera delar. En kod som ABC-123-SE innehåller ofta tre uppgifter: produktgrupp, löpnummer och land. Delar du upp den vid bindestrecken får du kolumner du kan summera och filtrera på, till exempel all försäljning för produktgrupp ABC eller alla artiklar för den svenska marknaden.
  • Data som klistrats in från CSV-filer eller andra system. När du kopierar en export från ett affärssystem, en webbsida eller en CSV-fil hamnar ibland hela raden i kolumn A, till exempel 1001;Skrivbord;3495. Värdena skiljs bara åt av semikolon, komma eller tabb och måste delas upp innan du kan använda dem som en vanlig tabell.

Gemensamt för alla fallen är att texten har ett mönster. Antingen skiljs delarna åt av ett tecken, som mellanslag, komma eller bindestreck, eller så har varje del en fast längd. Det mönstret använder du sedan för att dela upp texten, oavsett om du väljer verktyget Text till kolumner eller formler.

Så använder du Text till kolumner

Text till kolumner är det snabbaste sättet att dela upp text i flera kolumner när du har en hel kolumn som ska delas på samma sätt. Verktyget är en guide i tre steg. Så här går du tillväga:

  1. Markera cellerna med texten som ska delas upp. Markera bara en kolumn åt gången.
  2. Gå till fliken Data och klicka på Text till kolumner i gruppen Dataverktyg.
  3. Guiden öppnas. Välj i steg 1 hur texten är uppbyggd: Avgränsade eller Fast bredd.

Steg 1 och 2 med avgränsare

Välj Avgränsade när delarna skiljs åt av ett tecken, till exempel ett mellanslag mellan för- och efternamn eller ett semikolon i en CSV-rad. Klicka på Nästa. I steg 2 kryssar du i vilket tecken som skiljer delarna åt:

  • Komma: vanligt i exporter från engelskspråkiga system.
  • Semikolon: standard i svenska CSV-filer, eftersom kommatecknet används som decimaltecken.
  • Blanksteg: för namn och andra ord som skiljs åt av mellanslag.
  • Annan: här skriver du ett eget tecken, till exempel bindestrecket i en artikelkod som ABC-123-SE.

Kryssa också i Behandla avgränsare i följd som en om det kan finnas flera avgränsare i rad, till exempel dubbla mellanslag mellan förnamn och efternamn. Annars skapar Excel en tom kolumn för varje extra mellanslag. Rutan Förhandsgranska data längst ned visar hur uppdelningen blir innan du går vidare.

Steg 1 och 2 med fast bredd

Välj Fast bredd när varje del alltid har samma antal tecken, till exempel när ett äldre system exporterar kundnummer i de fem första tecknen och postnummer i de fem nästa. I steg 2 sätter du ut brytlinjer i förhandsgranskningen:

  • Klicka där en ny kolumn ska börja för att skapa en brytlinje.
  • Dra i linjen för att flytta den.
  • Dubbelklicka på linjen för att ta bort den.

Steg 3: kolumndataformat och mål

Det sista steget hoppar många över, men det är här du bestämmer hur resultatet hamnar i bladet. Klicka på en kolumn i förhandsgranskningen och välj dess kolumndataformat:

  • Allmänt: Excel gör om siffror till tal och datumliknande text till datum.
  • Text: innehållet behålls exakt som det står, till exempel inledande nollor i kundnummer och postnummer.
  • Datum: du väljer i vilken ordning år, månad och dag står i källan, till exempel ÅMD.
  • Importera inte kolumn (hoppa över): delen tas inte med alls.

I fältet Mål anger du den cell där resultatet ska börja. Som standard står den markerade cellen där, vilket betyder att originaltexten skrivs över. Vill du ha kvar originalet anger du en cell längre till höger, till exempel $B$2. Klicka sedan på Slutför.

I exemplet nedan har rader från en CSV-fil delats upp med semikolon som avgränsare och $B$2 som mål. Råtexten i kolumn A finns kvar, och kundnumret fick formatet Text i steg 3 så att de inledande nollorna inte försvann.

Excelblad där kolumn A innehåller råtext som 00451;Anna;Svensson;Göteborg och kolumnerna B till E visar resultatet efter Text till kolumner: kundnummer med inledande nollor, förnamn, efternamn och ort.
Råtexten delad med semikolon som avgränsare och B2 som målcell.

Dela upp text med formler

Text till kolumner ger ett fast resultat. Om källdatan ändras eller nya rader läggs till måste du köra guiden igen. Med formler blir uppdelningen i stället dynamisk: skriv ett nytt namn i kolumn A så uppdateras förnamn och efternamn direkt. Den grundläggande tekniken för att plocka ut delar av text med VÄNSTER, EXTEXT och HÖGER går vi igenom mer utförligt i pelarartikeln. Här använder vi den för att dela ett namn i två kolumner.

Hitta mellanslaget med HITTA

För att dela texten behöver du veta var förnamnet slutar. Det gör du med HITTA, som returnerar positionen för ett visst tecken. =HITTA(" ";A2) ger alltså platsen för det första mellanslaget i cell A2. I ”Anna Lindberg” ligger det på position 5.

Förnamn med VÄNSTER

Förnamnet är allt till vänster om mellanslaget. Ta lika många tecken som mellanslagets position minus ett:

=VÄNSTER(A2;HITTA(" ";A2)-1)

Efternamn med HÖGER och LÄNGD

Efternamnet är allt till höger om mellanslaget. Antalet tecken räknar du fram som textens totala längd minus mellanslagets position:

=HÖGER(A2;LÄNGD(A2)-HITTA(" ";A2))

Samma resultat får du med EXTEXT, som börjar på tecknet efter mellanslaget och tar resten av texten. Talet 100 räcker till och med för långa efternamn:

=EXTEXT(A2;HITTA(" ";A2)+1;100)

I exemplet nedan ligger formlerna i kolumn B och C och är kopierade nedåt. Varje rad delas upp automatiskt.

Excelblad med namn i kolumn A. Kolumn B visar förnamn med =VÄNSTER(A2;HITTA(" ";A2)-1) och kolumn C visar efternamn med =HÖGER(A2;LÄNGD(A2)-HITTA(" ";A2)). Cell C2 är markerad och visar Lindberg.
Förnamn och efternamn delas upp med formler som uppdateras när namnet ändras.

Formlerna utgår från det första mellanslaget. ”Anna Maria Lindberg” ger därför förnamnet ”Anna” och efternamnet ”Maria Lindberg”. Har dina namn flera delar behöver du bestämma vilken regel som gäller och anpassa formeln efter den. Saknar en cell mellanslag helt returnerar HITTA felet #VÄRDEFEL!. Det kan du fånga med OMFEL.

Formler som dessa returnerar alltid text. Vill du sätta ihop delarna igen tillsammans med tal i ett visst format kan du formatera tal med TEXT-formeln.

TEXTDELA i Excel 365

Har du Excel 365 finns en genväg. TEXTDELA (TEXTSPLIT på engelska) delar upp text i flera kolumner med en enda formel. =TEXTDELA(A2;" ") lägger varje ord i en egen kolumn. Resultatet spiller automatiskt ut åt höger, så cellerna bredvid måste vara tomma. Funktionen hanterar också valfritt antal delar, till exempel artikelkoden ”ABC-123-SE” med =TEXTDELA(A2;"-"). I äldre versioner av Excel finns funktionen inte. Där får du använda kombinationen av VÄNSTER, HÖGER, EXTEXT och HITTA.

Verktyg eller formel – vilket ska du välja?

Båda metoderna ger samma resultat på skärmen: texten hamnar uppdelad i flera kolumner. Skillnaden är vad som händer efteråt, när källdatan ändras eller nya rader tillkommer.

Text till kolumner Formler
Snabbhet Några klick, klart på under en minut Kräver att du bygger och testar formlerna
Resultat Statiska värden som inte påverkas av källcellen Dynamiskt, uppdateras när källdatan ändras
Nya rader Du måste köra guiden igen Kopiera ner formeln, eller låt en tabell fylla i den automatiskt
Originaldata Skrivs över om du inte väljer en annan målcell Ligger kvar orörd i sin kolumn
Oregelbunden text Fungerar bäst när avgränsaren är konsekvent Kan hantera undantag med OM, OMFEL och liknande
Datatyp Tal och datum kan bli riktiga tal och datum direkt Resultatet blir text och kan behöva omvandlas

Text till kolumner är alltså ett städverktyg. Du kör det en gång, får rena kolumner och går vidare. Formler fungerar mer som en maskin du bygger en gång och sedan återanvänder: det tar längre tid att sätta upp, men du slipper göra om jobbet varje gång datan ändras.

Min rekommendation

  • Engångsjobb, till exempel en lista du fått från en kollega och ska städa upp: använd Text till kolumner.
  • Återkommande import, till exempel en rapport som klistras in varje vecka i samma flik: bygg formler, eller använd TEXTDELA om du har Excel 365, så delas texten upp automatiskt varje gång.
  • Stora mängder rådata från CSV-filer: börja med Text till kolumner, eftersom du där kan styra kolumndataformatet och skydda inledande nollor redan vid importen.
  • Text med varierande struktur, till exempel namn där vissa har mellannamn: formler ger dig mer kontroll över undantagen.
  • När originalet måste finnas kvar: välj formler, eller ange en annan målcell i guiden så att källkolumnen inte skrivs över.

Vanliga fallgropar

Text till kolumner och textformler är enkla att använda, men några misstag återkommer ofta. Här är tre av de vanligaste och hur du undviker dem.

1. Data i kolumnerna till höger skrivs över

Text till kolumner lägger resultatet i cellen du delar upp och i så många kolumner till höger som behövs. Om de kolumnerna redan innehåller data skrivs den över. Excel frågar visserligen om du vill ersätta innehållet i målcellerna, men det är lätt att klicka OK av ren vana.

Lösning: Infoga tomma kolumner till höger om källkolumnen innan du startar guiden, en för varje ny del. Du kan också välja en tom målcell längre bort i steg 3 i guiden, så att originaldata ligger kvar orörd. Råkar det ändå gå fel kan du ångra direkt med Ctrl+Z.

2. Tal och datum tolkas om

När kolumndataformatet står på Allmänt gissar Excel vad varje del är. Det ger ofta oväntade resultat:

  • Kundnummer som 00123 blir talet 123, eftersom inledande nollor försvinner.
  • Koder som 1-2 eller 3/4 kan tolkas som datum.
  • Datum i fel ordning, till exempel amerikanska 04/03/2024, kan bli fel dag och månad eller stå kvar som text.

Lösning: Markera kolumnen i förhandsgranskningen i steg 3 och välj formatet Text för allt som ska se ut exakt som i källan, till exempel artikelkoder, kundnummer och postnummer. För datum väljer du Datum och anger ordningen som källdatan har, till exempel MDÅ för amerikanska datum. Delar du inte behöver kan du hoppa över med Importera inte kolumn (hoppa över).

3. Formelresultat blir text

VÄNSTER, EXTEXT och HÖGER returnerar alltid text, även när resultatet ser ut som ett tal. Plockar du ut 123 ur ABC-123-SE med =EXTEXT(A2;5;3) får du textsträngen ”123”. Den vänsterjusteras i cellen, och SUMMA och andra beräkningar hoppar över den.

Lösning: Omvandla resultatet till ett tal med VÄRDETAL, till exempel =VÄRDETAL(EXTEXT(A2;5;3)). Om du vill göra tvärtom och visa ett tal med ett visst utseende, till exempel med inledande nollor som =TEXT(B2;"00000"), kan du formatera tal med TEXT-formeln. Fler funktioner för att rensa och bearbeta text hittar du i guiden om effektiv texthantering i Excel.