Print side | Luk vindue

datoformat

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Generelt
Forum beskrivelse: Hjælp til generel daglig brug af programmet Excel
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=181
Udskrevet den: 05.Dec.2024 kl. 03:15


Emne: datoformat
Besked fra: peda
Emne: datoformat
Posteringsdato: 06.Jan.2011 kl. 13:26
Hej Gruppe
Er det muligt at indtaste 6 sammenhængende cifre i en celle f.eks. 180753 og FORMATERE sig frem til et datoformat f.eks. 18-07-53
 
mvh
Peda



Svar:
Besked fra: Allan
Posteringsdato: 06.Jan.2011 kl. 22:01
Hej Peda,
 
Både ja og nej....
Du kan ved at lave et brugerdefineret format (højreklik på celle / formater celler / Fanen Tal / Punktet Brugerdefineret.
Brug formatet: ##-##-##
 
Ulempen ved dette, er at det ikke genkendes af Excel som en dato, men i stedet som en tekst.
Skal du kun bruge tricket til at gøre din dato læsbar, er denne metode dog fin.
 
Ud over denne metode, kan man lave en formel som konverterer tallet til en dato, eller en stump VBA som ændrer tallet til en dato umiddelbart efter indtastning (En såkaldt Event)
 
//Allan
 


Besked fra: peda
Posteringsdato: 07.Jan.2011 kl. 13:15
Hej Allan
Det virker fint med Brugerdefineret formatering, som du skrev. Jeg er dog løbet ind i problemer med at sortere data, netop fordi de opfattes som tekst. Derfor blive det vist nødvendigt at få tallene konverteret til en rigtig dato, så sorteringen også kan virke.
Her skriver du noget om en formel eller en stump kode. Nu er jeg så på den igen. Kan du / I hjælpe
 
mvh
peda


Besked fra: Allan
Posteringsdato: 07.Jan.2011 kl. 13:25
Hej igen,
 
En formel kunne se således ud: =DATO(HØJRE(A1;2);MIDT(A1;3;2);VENSTRE(A1;2))
Alting har en begrænsning, og formlen har den svaghed at den ikke kan 'se' hvilket århundrede du mener.
180753 vil altså blive 18-07-1953
 
Alternativt, en cowboyløsning:
=VENSTRE(A1;2)&"-"&MIDT(A1;3;2)&"-"&HØJRE(A1;2)
Den virker, men bliver ikke genkendt af Excel som en dato Confused
 
Hvis du i stedet for taster 18071953 i dit ark, vil du kunne bruge formlen:
=DATO(HØJRE(A1;4);MIDT(A1;3;2);VENSTRE(A1;2))
 
//Allan


Besked fra: peda
Posteringsdato: 08.Jan.2011 kl. 21:53
Hej Allan
Det virker præcist som du skriver, og bliver IKKE genkendt som dato. Kunne det lade sig gøre at lave enkode der klarer problemet, så der kan sorteres og beregnes på værdierne.
mvh
peda


Besked fra: Allan
Posteringsdato: 08.Jan.2011 kl. 22:43
Hej peda,
 
Intet problem, bortset fra årstallet...
Hverken koden eller formlen kan gætte sig til om det er 1910 eller 2010, når man kun skriver f.eks 10 som årstal.
 
Hvis vi laver en regel som er følgende:
Hvis det tastede årstal er mindre eller lig med indeværende år (11), er der tale om århundrede 2000
Hvis det tastede årstal er større end indeværende år (11), er der tale om århundrede 1900
 
Eksempel:
53 bliver til 1953
01 bliver til 2001
99 bliver til 1999
11 bliver til 2011
 
Hvad siger du til den løsning?
 
Hvis ovenstående kriterie er iorden med dig, så kan følgende formel bruges:
=DATO(HVIS(HELTAL(HØJRE(A1;2))<=HELTAL(HØJRE(ÅR(IDAG());2));20&HØJRE(A1;2);HØJRE(A1;2));MIDT(A1;3;2);VENSTRE(A1;2))
 
Formlen tager selv højde for grænsen mellem 2000 og 1900 serien, næste år vil den selv korrigere kriteriet
 
//Allan
 


Besked fra: peda
Posteringsdato: 10.Jan.2011 kl. 09:26
Hej Allan
Så er den der. Nu virker det præcist som ønsket.
Mange tak for løsningen
mvh
peda


Besked fra: Allan
Posteringsdato: 10.Jan.2011 kl. 10:25
Super peda, tak for din tilbagemelding Wink
 
//Allan


-------------
MVH

Allan
https://www.excel-regneark.dk" rel="nofollow - Excel-regneark.dk - Gratis skabeloner til Excel
Få over 120 ekstra funktioner med Danmarks bedste add-in



Print side | Luk vindue