Regneark kan nogenlunde kende forskel på tal og tekst, men der er visse begrænsninger, f.eks. ved datoer og tal i højere baser end 10. Nogle funktioner konverterer også fra tal til tekst eller omvendt, som en del af algoritmen. For at kunne konvertere tilbage til det rette format, har regnearkene de to funktioner VALUE() og TEXT(). Man skal her være opmærksom på, at der er nogle små forskelle på Excel og Calc, ud over Excels fordanskning af kommando- og parameternavne, der godt kan give anledning til lidt forvirring.
Konverteringen fra tekst til tal gøres i Excel og Calc med
VALUE(). Har man en dansk version af Excel, hedder funktionen i stedet TALVÆRDI(). Det er en af de få funktioner, hvor der er lidt forskel på Excel og Calc, hvor Calc kun skal have test-strengen, mens Excel har mulighed for at man specificerer tusind- og decimaladskillerne, i den rækkefølge, adskilt med semikolon. Bruger man dette, skal adskillerne angives i ping'er (eksempel længere nede).
For
Microsoft Excel ser det således ud:
For
OpenOffice Calc ser det således ud:
Det er værd lige at bemærke, i forhold til de to konverteringer, at begge regneark betragter punktum som tusindadskiller og komma som decimaladskiller, så hvis man forsøger at konvertere f.eks. 50,000.5 som er den amerikanske, omvendte notation, er det kun Excel hvor det går godt, forudsat, at man husker at specificerer de to adskillere. I det viste eksempel skulle der så stå TALVÆRDI(C2;".";","), hvis der var anvendt notationen 50,000.5.
Fordi der ligger nogle skjulte forudsætninger i algoritmerne, skal man lige være opmærksom på en lille detalje, hvis man konverterer datoer. Datoer skal være i formatet dag-måned-år, det amerikanske måned-dag-år giver en fejlmeddelelse, og algoritmerne omregner datoen til antal dage fra 1. januar, 1900. Datoer før 01-01-1900 giver en fejlmeddelelse, algoritmen tillader ikke et negativt antal dage. Så, hvis vi konverterer datoen 31. december, 1900:
For
Microsoft Excel ser det således ud:
For
OpenOffice Calc ser det således ud:
Konverteringen fra tal til tekst gøres i Excel og Calc med
TEXT(). Har man en dansk version af Excel, hedder funktionen i stedet
TEKST(). Det er en funktion med mange facetter og valgmuligheder ved formatteringen, der ikke alle er lige indlysende eller godt beskrevet.
Syntaksen for funktionen er TEXT(Tal; "Tekstformat"). Tallet er, i sagens natur, det tal man vil have konverteret, hvadenten det er et fast tal, en celleværdi eller en funktion. Den del er ukompliceret. Tekstformatet, derimod, kan give nogle udfordringer.
Hvis vi starter fra en ende af, så bruges der til formatet de tre
placeholders
- # - valgfrit ciffer. Hvis der er færre ciffre end pladser, bliver de tomme pladser ignoreret. Hvis der er flere cifre end # før decimaladskilleren, bliver disse vist, mens der maksimalt vises antal det decimaler der er angivet med antallet af #.
- 0 - obligatorisk 0, hvis der ikke er et ciffer på den pågældende position, indsættes et 0. Fungerer ikke med andre tal. Bemærk: Foran decimaladskilleren fungerer det placeholderen som det minimale antal cifre, efter decimaladskilleren fungerer placeholderen som angivelse af antallet af decimaler.
- ? - mellemrum. Virker kun ved brøker. Bemærk: Når man konverterer decimaltal til brøk, giver algoritmen en tilnærmet approximation, og den er ikke konsekvent i sin konvertering, hvorfor anvendelsen af denne funktion må frarådes. Excel og Calc laver heller ikke de samme approximationer. 0,3 bliver således 2/7, i stedet for det korrekte 3/10, mens 1,3 bliver til 1 1/3 i Excel men 1 2/7 i Calc. Syntaksen er også bestemmende for, om man får en blanding af heltal og brøk, eller kun en brøk, som demonstreret i eksemplerne nedenunder.
Vi tager et par eksempler, så det giver mere mening:
Anvendelse | Kode | Resultat |
Tusindadskiller | TEXT(123; "##.###") TEXT(123456; "##.###") | 123 123.456 |
Bindestreger og mellemrum | TEXT(123456; "##-##-##") TEXT(123456; "## ## ##") | 12-34-56 12 34 56 |
Min. antal cifre | TEXT(123; "0000") TEXT(123456; "0000") | 0123 123456 |
Antal decimaler | TEXT(12,3; "0,000") TEXT(12,3456; "0,0") | 12,300 12,3 |
Decimal til brøk | TEXT(12,25; "# ?/?") TEXT(12,3; "# ?/?") TEXT(12,3; "?/?") | 12 1/4 12 1/3 37/3 |
Formatet tillader også at der tilføjes tekst til tallet, f.eks. enheder, både før og efter talstrengen. Her skal man være opmærksom på, at visse tegn, som f.eks. %, ikke kan anvendes direkte, fordi de har en funktion i koden. Her gør man det, at man sætter et backslash foran, dvs. \%, og så fungerer det. Har man flere tegn, f.eks. hvis man vil skrive "meter" efter tallet, skal hvert tegn have et backslash, dvs. \m\e\t\e\r. Skal man tilføje længere tekst, kan man her i stedet overveje at anvende en konkatanering med &, dvs. TEXT(123; "# ") & "meter".
Et par eksempler, så det giver mere mening:
Anvendelse | Kode | Resultat |
Valuta (Euro) med to decimaler | TEXT(123; "€ 0,00") | € 123,00 |
Temperaturer (°C) | TEXT(123; "# °C") | 123 °C |
Procenter | TEXT(123; "# \%") | 123 % |
Tekststreng | TEXT(123; "# \m\e\t\e\r") | 123 meter |
Man kan med formatet i begrænset omfang regne om på talværdierne. Tal kan omregnes til procenter og formateringen af tal kan laves om til videnskabelig notation.
Et par eksempler, så det giver mere mening:
Anvendelse | Kode | Resultat |
Omregning til procenter | TEXT(0,25; "# %") | 25 % |
Videnskabelig notation | TEXT(5500; "0.00E+00") | 5,50E+03 |
Datoer og tid er næsten et kapitel for sig selv, og der er en lille smule forskel på Excel og Calc.
Excel: Tal refererer til dage fra 1. januar, 1900, og ved konvertering til datoer, accepteres ikke negative tal. Dag 0 refererer til datoen 0. januar, 1900, så der returneres ikke en fejl, men en ikke-eksisterende dato. Har man en dansk version af Excel, skal man være obs på, at man skal bruge å istedet for y får år.
Calc: Tal refererer til dage fra 31. december, 1899, og ved konvertering til datoer, accepteres negative tal. Dag 0 refererer til datoen 30. december, 1899, som man ville forvente ud fra dag 1. Calc har af uransagelige grunde ikke 29. februar 1900 med i tællingen af dage, så fra 1. marts, 1900, giver Calc og Excel samme dato for et givent tal.
Til datoer anvendes d, m og y (eller å, hvis man har en dansk version af Excel), og antallet af de tre bogstaver der anvendes, bestemmer hvordan datoen skrives. Forskellene er:
Kode | Beskrivelse | Detaljer |
d | Månedens eller ugens dag | d - en- eller tocifret dato (1 til 31)
dd - tocifret dato med foranstillet nul (01 til 31)
ddd - ugedagens navn, forkortet til tre bogstaver (Man til Søn)
dddd - ugedagens fulde navn (Mandag til Søndag) |
m | Måneden, hvis det anvendes som en del af en dato | m - et- eller tocifret månedsnummer (1 til 12)
mm - tocifret månedsnummer, med foranstillet nul (01 til 12)
mmm - forkortet navn på måneden (Jan til Dec)
mmmm - månedens fulde navn (Januar til December) |
y | År | yy - tocifret årstal, uden specifikation af århundrede.
yyyy - firecifret årstal. |
Et par eksempler, så det giver mere mening:
Anvendelse | Kode | Resultat |
Dato på kort form | =TEKST(1000; "dd/mm/åååå") =TEXT(1000; "dd/mm/yyyy") | 26/09/1902 (Excel)
|
Dato på lang form | =TEKST(1000; "dddd \d. d. mmmm, åååå") =TEXT(1000; "dddd \d. d. mmmm, yyyy") | fredag d. 26. september, 1902 (Excel) fredag d. 26. september, 1902 (Calc) |
Tidsfunktionen i regneark arbejder i hele døgn, startende fra kl. 00.00.00, dvs. et heltal er ét døgn. Talværdierne 0,5 og 1,5 giver således den samme værdi: 12.00.00. Til tid anvendes t til Calc og h til Excel (eller t, hvis man har en dansk version af Excel), m og s, og antallet af de tre bogstaver der anvendes, bestemmer hvordan tiden skrives. Der er desuden en AM/PM-parameter til skifte om til 12-timers klokkeslet.
Antallet af de tre bogstaver der skrives, har betydning for hvordan tallene vises. Syntaksen er således:
Kode | Beskrivelse | Detaljer |
h (Excel) t (Calc) | Timer | h/t - en- eller tocifret timetal (0 til 24)
hh/tt - tocifret timetal med foranstillet nul (00 til 24) |
m | Minutter, hvis det anvendes som en del af en klokkeslet | m - et- eller tocifret minuttal (0 til 59)
mm - tocifret minuttal, med foranstillet nul (00 til 59) |
s | Sekunder | s - et- eller tocifret minuttal (0 til 59)
ss - tocifret minuttal, med foranstillet nul (00 til 59) |
AM/PM | Skift til 12-timers tidsværk | Ved angivelse af AM/PM skiftes til 12-timers visning, ellers anvendes 24-timers visning. |
Der er endnu en lille forskel på Excel og Calc, idet Calc accepterer negative talværdier og hh istedet for tt for tocifrede timer.
Et par eksempler, så det giver mere mening:
Anvendelse | Kode | Resultat |
¾ døgn | =TEXT(0,75; "hh:mm:ss") (Excel) =TEXT(0,75; "tt:mm:ss") (Calc) | 18:00:00 |
¾ døgn med AM/PM | =TEXT(0,75; "hh:mm:ss AM/PM") (Excel) =TEXT(0,75; "tt:mm:ss AM/PM") (Calc) | 06:00:00 PM |
¼ døgn | =TEXT(0,25; "h:m:s") (Excel) =TEXT(0,25; "t:m:s") (Calc) | 6:0:0 |