Bryt ut delar av en text i Excel
När man jobbar med Excel så har man ofta en lista med text som är
systematisk Exempelvis så kan man ha en lista med e-postadresser där man vill
kunna bryta ut olika delar. De flesta e-postadresser följer en logik:
Namn.Efternam@Företagsnamn.Domän
För denna och många andra arbetsuppgifter så kan vi använda oss
av olika textformler som finns i Excel.
En cell i Excel som innehåll ett stycke text kallas för en
”Sträng” (String). En sträng består av ett antal tecken där varje tecken har en
position som refereras med en siffra. Det första tecknet har position 1 och det
andra har position 2 osv. Vi skall nu titta vidare på några Excelfunktioner som
behandlar strängar.
I bifogad fil finns det e-postadresser som är inlagda i kolumn A. Därefter finns det tre tabeller: Extraherade Strängar, Beräknade Positioner och Position som i bilden nedan.
Den sista tabellen Position bryter
upp varje textsträng i en bokstav per cell och den tabellen fyller endast ett
didaktiskt syfte att förtydliga vilken position varje tecken befinner sig på.
Tabellen Beräknade Positioner så har formeln
HITTA() och LÄNGD() används för att ta reda på var vissa nyckel positioner
finns som vi sedan använder oss av i tabellen Extraherade
Strängar där vi har lyft ut Förnamn,
Efternamn, Företagsnamn och Domän.
I tabell Extraherade Strängar så används följande
formler för att lyfta en textsträng:
VÄNSTER()
– Funktionen vänster lyfter ut ett angivet antal tecken ifrån första tecknet i
en textsträng. Ange först cellen sedan antalet tecken som skall returneras.
HÖGER()
– Kan sägas vara en motsats till vänster som extraherar ett angivet antal
tecken ifrån det sista tecknet i en textsträng. Ange först cellen sedan antalet
tecken som skall returneras.
EXTEXT() – Lyfter ut ett angivet antal tecken ifrån en startposition som du måste ange. Ange först cellen sedan från vilken startposition som text skall utvinnas ifrån. Det tredje argumentet är antalet tecken som skall returneras från vänster till höger.
I tabell Beräknade Positioner så används
följande formler för att returnera en siffra.
HITTA()
– Returnerar startpositionen av en angiven sträng inom en sträng från vänster
till höger. Du måste ange texten med citationstecken, t.ex. ”@”. Man kan även välja
att ange ifall den skall starta ifrån en valfri position inom strängen som söks
igenom. Detta är väldigt användbart att använda sig av när man har förekomst av
ett tecken flera gånger, som t.ex. punkter i en e-postadress.
LÄNGD() – Returnerar antalet tecken i en textsträng
Förnamn:
=VÄNSTER(A3;H3-1). Här anropar vi först den textsträng i cell A3 där vår
e-postadress finns, det är den textsträng som vi vill lyfta ut text ur. För att
få veta antalet tecken så söker vi efter första punkten. Den har vi i det här
fallet i position 5 vilket vi kan se i kolumn H. Notera att vi lägger in ett
-1. Gör vi inte det så får vi även med punkt, titta i tabellen Position
för att se hur positionerna ligger.
Efternamn: =EXTEXT(A3;H3+1;I3-H3-1). Efternamnet
är lite mer komplicerat eftersom det ligger mellan den första punkten och
@-tecknet. Därför behöver vi använda oss av EXTEXT(). Vi anropar först
textsträngen i A3 där vi har vår textsträng som vi vill utvinna texten ur.
Därefter anger vi startpositionen vilket är den första punkten. Vi behöver här +1
eftersom annars börjar den från själva punkten, position 5, men vi vill ju att
den skall börja med första bokstaven vilket är position 6, se tabell Position
för förtydning.
Vi behöver även ange antalet tecken som vi vill utvinna. Efternamnet ”Hansson” innehåller 7 tecken, det är det värdet vi vill mata in i formeln. Om vi tittar i tabellen Positioner så kan vi se att efternamnet ryms mellan @-tecknet och den första punkten. Om vi reducerar dom talen så får vi 8, vi reducerar därför med ytterligare ett för att få fram den rätta längden.