Gå till innehåll

Recommended Posts

****************************************************************************************************

I Eforum hade vi en Tråd med nya funktioner i Excel (som jag råkade döda när jag tog bort mina inlägg). Jag tänkte att vi skulle kunna starta något liknande här.

****************************************************************************************************

Textfunktioner:

Textmanipulation har aldrig varit Excels starka sida. Men nu finns det tre nya funktioner som hjälper till att splitta textvärden på olika sätt.
DELATEXT (text,col_delimiter,[row_delimiter],[ignore_empty], [Skiftägeskänsligt], [pad_with])

Delar upp texten till flera celler utifrån något tecken. Exempelvis genom att splita på kommatecken. Dvs något slag motsats till TextJoin

Exempeltext i cell A1: 
Ett, två, tre, fyra.  tio, elva, tolv

=DELATEXT(A1;",";;SANT;0)  Ger:

image.png.1bf81229ae1568f1b8fad17a3362b2d6.png

 

Man kan även lägga till flera "delare" i en matris. T.ex både komma och punkt {",";"."}
=DELATEXT(A1;{",";"."};;SANT;0)  Vilket ger
image.png.13213c76a806b5856456ec675b6fe8e1.png

Det finns även färdiga formler för att plocka ut delar till en cell. Textföre() hämtar allt till vänster om skiljetecknet

=TEXTFÖRE(text,avgränsare,[instance_num], [match_mode], [match_end], [if_not_found])

Där instance_num kan vara både positivt och negativt. Ett negativt nummer betyder att man räknar från slutet

=TEXTFÖRE(A1;",";1)  ger svaret  image.png.9aab8e9b90eb589a8fa82390a3e8e63a.png , dvs allt innan det första kommatecknet medan:

=TEXTFÖRE(A1;",";-1)  ger svaret image.png.e73e5b6f2eae7e28bc008a8612d62ba6.png, dvs man visar allt innan det sista kommatecknet (första från slutet) 

 

Det finns även en likadan formel som räknar från slutet.

=TEXTEFTER(A1;",";2) ger image.png.2ddd76b47f783032177d49d574e774f8.png, dvs allt efter det 2:a kommatecknet medan:

=TEXTEFTER(A1;",";-2) ger image.png.f74334daf98a6b332dc3ed07073aec0f.pngdvs allt efter det 2:a kommatecknet från slutet:

 

MATRISTILLTEXT gör att du kan slå ihop flera celler till en text på ett strukturerat sätt (tänk Mikael skapar skript). Antag att vi har en matris i A1:D2

image.png.9c4c8bb972da0d50ed1affce6a2e11bc.png

=MATRISTILLTEXT(A1:D2)  ger då resultatet (i en cell) image.png.c71d54cfa1ecad67c748d8877e5963bf.png. Men om man skrver in argumentet "Strikt format"

=MATRISTILLTEXT(A1:D2;1) Blir reultatet istället: image.png.6740a5771bbbb16ba6f572a100e4d81a.png. Vilket kan vara väldigt användbart om man vill bygger skript/former eller liknande.

=VÄRDETILLTEXT(A1;1)  gör samma sak för en cell i taget. Dvs 1 blir 1 medan Ett blir "Ett"

Hmmmm. Varför googla innan? Här är en sammanställning av textfunktioner:

https://support.microsoft.com/sv-se/office/textfunktioner-referens-cccd86ad-547d-4ea9-a065-7bb697c2a56e

exempelvis
=VALUTA(A1) som omvandlar talet i A1 till en textsträng med valutaformat, typ:  29.00 kr 
=FASTTAL(A1;5) som omvandlar talet i A1 till en textsträng med 5 decimaler
Men det kan man ju lika gärna göra med TEXT() och avrunda
INITIAL() gör så att alla ord börjar med stor bokstav. Ett bra komplement till VERSALER() och GEMENER()

 

Matrismanipulationer

Antag att du t.ex har matat in data på flera blad. Det har alltid varit extremt svårt att slå ihop data till en datatabell som man faktiskt kan räkna med (Och Monshi har på ett tålmodligt sätt förklarat varför det var ett dumt upplägg)

Men Nu kan du stapla ihop data till en enda lång vertikal kolumn(er) med hjälp av VSTACK 

Exempel om du har data i cell A4:B30 i blad 2 till Blad7

=VSTACK(Blad2:Blad7!A4:B30)

Nu får du all data efter varandra i 2 kolumner som du kan räkna på (tyvärr kan man inte använda VSTACK direkt i t.ex ANTAL.OM som inte stödjer 3:D formler)

Data du vill slå ihop kan naturligtvis finnas på samma blad också.  Typ:
=VSTACK(A1:A6;C1:C6;E4:E6)

Det finns en motsvarighet för horisontella data som heter Hstack()

Om man har data i en matris kanske man vill ha indata i en enda kolumn då kan man köra:

=TILLKOL(A1:E6)  som lägger hela matrisen som en kolumn (för att få en rad kör du istället TILLRAD)

Du kan även bestämma om vissa typer av värden skall hoppas över 0=Behåll alla värden (standard), 1=Ignorera tomma värden, 2=Ignorera fel,3=Ignorera tomma värden och fel

=TILLKOL(A1:E6;1) tar t.ex inte med  tomma celler (annars blir de 0)

Det här är användbart om man behöver räkna på alla siffror i en tabell  och behöver ha data liggande i samma kolumn

Man kan även köra motsatsen till TILLKOL

 

BRYTKOLUMN(matris; bryt efter)

gör om en kolumn med data till en matris. Exempel där den bryter efter 3 siffror och börjar på nästa kolumn

image.png.34106cc3e4b50e1cd612e30c72790ef1.png

 

 

Det finns även nya formler för att hämt ut bestämda kolumner/rader ur en matris:

TA()  väljer de första/sista rader/kolumner man vill se (+-)

=TA(A1:E6;2)  ger de två första raderna
=TA(A1:E6;-2)  ger de två sista raderna
=TA(A1:E6;;-3   ger de tre sista Kolumnerna)

Och motsatsen är UTESLUT

Eller välj ut precis vilka kolumner du behöver, och i vilken ordning, med Väljkol. Det här ger t.ex kolumn 3, 1, 5

=VÄLJKOL(A1:E6;3;1;5)

 

 

 

 

Redigerad av MH_
språk och extrabilder
  • Like 3
Länk till kommentar
Dela på andra webbplatser

Delta i dialogen

Du kan skriva svaret nu och registrera dig senare, Om du har ett konto, logga in nu för att svara på inlägget.

Gäst
Svara i detta ämne...

×   Du har klistrat in innehåll med formatering.   Ta bort formatering

  Only 75 emoji are allowed.

×   Din länk har automatiskt bäddats in.   Visa som länk istället

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Skapa nytt...