Faq/Calc/Hvordan konverteres tal-tekst til numeriske data/da
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate
Hvordan konverteres tal-tekst til numeriske data
Det kan ske, at data, indsat fra udklipsholderen eller importeret fra CSV eller indtastet i en celle, som allerede var formateret som tekst, er af typen Tekst. Selv om det visuelt ligner et tal eller en dato, kan teksten ikke kan bruges i beregninger. Når cellen har tekst-indhold, der (senere) formateres som et tal, indledes celleindholdet i dette tilfælde med en input-linje som ikke er en del af celleindholdet, med en ' , apostrof, for at vise, at indholdet kunne fortolkes som et tal, hvis det altså ikke var tekst. Som en konsekvens kan aritmetiske beregninger, der omfatter sådanne celler, returnere en "#Værdi!"-fejl eller cellen ignoreres i funktioner, som behandler en række af tal i et område, som fx "SUM()". For at konvertere sådanne tekst-tal til numeriske data gør du det følgende, som antager, at teksten faktisk kan konverteres, dvs. bruger skilletegn (decimaler, dato, ...) fra din lokalisering. Bemærk, at ændring udelukkende af talformatet ikke ændrer indholdet; værdistrengene skal genindtastes for at blive konverteret, hvilket den følgende metode gør.
Find og Erstat tal som tekst
- marker celleområdet, som indeholder data, der skal konveres
- tryk på Ctrl+M eller højreklik på det markerede område, for at nå kontekstmenu og vælg Ryd direkte formatering
- Hvis din lokalisering ikke bruger adskiller(e), som kræves for at tekst kan konverteres til tal, skal du bruge et talformat i en lokalisering, som bruger de(t) ønskede skilletegn. fx Engelsk-US for at få . skilletegnet punktum; du kan så senere efter konverteringen bruge det ønskede endelige format fra din lokalisering. Enten det eller erstat decimal-skilletegnet og hop til det næste eksempel længere nede.
- tryk på Ctrl+H eller vælg Rediger > Søg og erstat på menuen
- tast Find: .+
- tast Erstat: $0
- under Andre indstillinger aktiverer du
- Kun det markerede
- Regulære udtryk
- og trykker på Erstat alle
Dette skriver celleindholdet på ny, i grunden som om det blev indtastet fra tastaturet, og detekterer numerisk/dato/tids-indtastning.
Find & Erstat med forskellige decimalskilletegn
Hvis tallet ikke blev genkendt, fordi din lokalering bruger en anden decimal-adskiller end data, fx , komma i stedet for datas . punktum (og Input-linken derfor ikke viser '-apostrof-præfikset), så
- marker celleområdet, som indeholder data, der skal konverteres
- tryk på Ctrl+M eller højreklik på det markerede område for at nå kontekstmenuen og vælg "Ryd direkte formatering"
- tryk på Ctrl+H eller vælg Rediger -> "Søg og erstat" på menuen
- indtast Find: .
- indtast Erstat: .
- under Andre indstillinger
- deaktiver Regulære udtryk.
- tryk på Erstat alle
Bemærk, at dette selvfølgelig ikke virker, hvis tallene indeholder en blanding af gruppe-adskillere og decimal-skilletegn og erstatningen ikke giver identiske skilletegn.
Find og Erstat forkert datorækkefølge
Hvis du har indtastet eller importeret datoer i en Måned/Dag/År-rækkefølge, fx 06/28/2021, der forskellig fra din lokalisering, der bruger Dag/Måned/År, fx 28/06/2021 og/eller nogle datoer som 06/01/3032 blev genkendt, men gav en forkert dato, mens andre som 06/28/2021 ikke blev genkendt, så
- tryk ikke på Ctrl+M og ryd ikke tal-/dato-formater i udvalgte celler, men lad alle datoformater være intakte, men hvis der er celler formateret med Tekst, så skift dem og kun dem til Generelt
- marker det celleområde, der inholder data, der skal konverteres
- tryk på Ctrl+H eller Vælg Rediger -> Find og Erstat på menuen
- skriv Find: (\d+)/(\d+)/(\d+)
- Skriv Erstat: $2/$1/$3
- Under Andre indstillinger aktiverer du
- Kun aktuelt udvalg
- Regulære udtryk
- tryk på Erstat alle
Forklaring af det regulære udtryk Find' :
- (\d+) en ciffergruppe, måned
- / datoskilletegnet
- (\d+) en ciffergruppe, dag i måneden
- / datoskilletegnet
- (\d+) en ciffergruppe, år
Forklaring af udtrykket Erstat:
- $2 den anden gruppe, ciffergruppe, dag i måneden
- / datoskilletegn
- $1 den første gruppe, ciffergruppe, måned
- / datoskilletegn
- $3 den tredje gruppe, ciffergruppe, år
Tekstkilden og mål-lokaliseringen kan have andre krav til rækkefølgen af dag, måned, år og datoskilletegn; så tilpas.
For at tilpasse til det internationale ÅÅÅÅ-MM-DD ISO 8601-datoformat, der forstås i enhver lokalisering, bruger du (med antagelse af den opringelige måned/dag/år-rækkefølge fra ovenfor)
- Erstat: $3-$1-$3
eller hvis året kun havde 2 cifre, så sæt århundredet foran, fordi resultatet eller ville være tvetydigt og ikke resultere i en ISO-dato, som
- Erstat: 20$3-$1-$2
Hvis du indsatte eller importerede datoer, der indeholder månedsnavne, fx April 1, 2021 og din lokalisering bruger en anden række følge, fx 1 April 2021, eller endda andre navne på et andet sprog, så
- marker celleområdet, der indeholder de data, der skal konverteres
- tryk på Ctrl+M eller højreklik på det markerede område for at få kontekstmenuen og vælg Ryd direkte formatering
- hvis din lokalisering ikke bruger de månedsnavne, der nødvendige til konvertering til datoer, så anvend midlertidigt en lokalisering, der bruger de ønskdede navne; du kan så senere efter konverteringen, anvende din (standard-)lokaliserings ønskede slutformatering.
- tryk på Ctrl+H eller vælg Rediger -> Find og Erstat på menuen
- skriv Find: ([\p{Letter}]+)\s+(\d+).*\s+(\d+)
- skriv Erstat: $2 $1 $3
- under Andre indstillinger aktiverer du
- Kun aktuelt udvalg
- Regulære udtryk
- tryk på Erstat alle
Forklaring af det regulære udtryk Find:
- ([\p{Letter}]+) en gruppe bogstaver som Unicode-tegn, måned
- \s+ mindst ét blanktegn
- (\d+) en gruppe cifre, dag i måneden
- .* ethvert tegn, 0 flere, matcher kommaet i eksemplet
- \s+ mindst ét blanktegn
- (\d+) en gruppe cifre, år
Forklaring af udtrykket Erstat:
- $2 den anden gruppe, ciffergruppe, dag i måneden
- et mellemrum
- $1 den første gruppe, ciffergruppe, måned
- et mellemrum
- $3 den tredje gruppe, ciffergruppe, år
Mållokaliseringen kan have andre krav til rækkefølgen dag, måned, år: så tilpas.
CT2N - Udvidelsen Konverter Tekst til tal
Hvis du tit har brug en sådan funktionalitet eller at konvertere data med separatorer, der er forskellige fra din lokalisering, installerer du udvidelsen CT2N - Konverter tekst til tal (og datoer).
CSV-import
Hvis dine data stammede fra en CSV-import, har du måske ikke lagt mærke til, at du i importdialogen kan vælge, at import-lokaliseringen skal matche data-lokaliseringen. Dette hjælper til med genkendelse af decimal- og gruppeskilletegn, valutasymboler samt ugedags- og månedsnavne far at give passende numeriske data. Nogle datoer og valutasymboler bliver også kun genkendt, hvis indstillingen Opdag specielle tal bliver aktiveret (hvilket så igen kunne konvertere noget tekst til tal, hvor konvertering ikke ønskes, derfor indstillingen).
Konverter med tekst til kolonner
Brug
▸ er også en mulighed: