Print side | Luk vindue

Datoformatering

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=198
Udskrevet den: 05.Dec.2024 kl. 03:44


Emne: Datoformatering
Besked fra: Spotteck
Emne: Datoformatering
Posteringsdato: 18.Jan.2011 kl. 17:10
Hej Alle
 
Jeg har et lille problem med formatering af en dato.
 
Jeg har fra en CSV-fil fået nogle datoer, som er i formatet MM-DD-ÅÅÅÅ, men som jeg ønsker skal være i DD-MM-ÅÅÅÅ. Jeg plejer at tage en (måske) besværlig vej, hvor jeg først uddrager dele af den gamle dato (med formlerne VENSTRE,HØJRE og MIDT), som jeg sætter sammen igen på den ønskede måde.
 
I det pågældende ark giver de tre formler dog et resultat, som jeg ikke forstår og som jeg ahr forsøgt som en vanvittig at omformatere - men uden held.
 
Her er, hvad arket indeholder med dato først og resultatet af de tre formler derefter.
 
dato VENSTRE MIDT HØJRE
11-01-2010 40 89 0189
 
Er der nogen, der kan hjælpe? Har vedhæftet en snip af det pågældende ark:
/uploads/165/Datoformat.xlsx - uploads/165/Datoformat.xlsx
 
Mvh
Jesper



Svar:
Besked fra: Allan
Posteringsdato: 18.Jan.2011 kl. 17:53

Hej Jesper,

Grunden til forvirringen er at Excel rent faktisk kender denne dato (1. januar 2010), og oversætter den til et serienummer (40189).
Når formatet er MM-DD-ÅÅÅÅ kan datoer se ud som: 01-31-2010, her kan Excel ikke se det er en dato (Fordi dag 1 i den 31 måned ikke findes.
Men situationen ændrer sig ved datoer som 11-01-2010, som nok i din fil betyder 1. november, men Excel ser det som 11. januar og oversætter til serienummeret: 40189.
Derfor virker dine formler ikke på disse datoer. (Prøv at formatere datoerne som tekst, og se hvad der sker.)
 
Når du importerer din CSV, åbner du den bare ved dobbeltklik, gør du det via Excel 'Hent Eksterne data' eller bruger til 'Tekst til kolonner'?
 
//Allan
 


Besked fra: Allan
Posteringsdato: 18.Jan.2011 kl. 21:47
Hej igen Jesper,
 
Som skrevet, ved jeg ikke hvordan du åbner din CSV, men denne formel kan måske hjælpe dig.
 
Formlen tager for givet, at formatet er MM-DD-ÅÅÅÅ og konverterer derefter dine tal til DD-MM-ÅÅÅÅ.
 
/uploads/1/Datoformat2.xlsx - uploads/1/Datoformat2.xlsx
 
//Allan


Besked fra: Spotteck
Posteringsdato: 19.Jan.2011 kl. 15:16
Hej Allan
 
Tak for et godt og hurtigt svar! Den pågældende opgave løste jeg ved at importere data via "Hent eksterne data" og markere dato kolonnerne som "Tekst" - derefter kunne jeg køre en formel, der inkluderede VENSTRE,MIDT og HØJRE - som jeg derefter kunne samle til en ny dato.
 
Tak for din formel også, som jeg dog har problemer med at få til at fungere med mine data, da de ikke kommer helt så pænt ud fra CSV-filen. Hvis jeg uploader min CSV, kan jeg så lokke dig til at se på den og give mig et svar på, hvordan jeg bedst kan behandle sådanne data (skal nemlig ofte lave denne opgave i fremtiden)?


Besked fra: Allan
Posteringsdato: 19.Jan.2011 kl. 15:29
Ja, da, intet problem.
Jeg skal gladeligt kigge på den.
 
//Allan


Besked fra: Spotteck
Posteringsdato: 20.Jan.2011 kl. 15:01
/uploads/165/Datoformat.zip">
Hej Allan
 
Super!
 
Jeg har uploadet rådata i CSV-format og lagt den i den vedhæftede Zip-fil.
 
Mvh
Jesper
 
 
uploads/165/Datoformat.zip


Besked fra: Allan
Posteringsdato: 20.Jan.2011 kl. 21:00
Hej igen,
 
Når du har importeret dato fra denne fil, så prøv at sætte denne formel i G2
 
=HVIS(ER.TAL(A2);DATO(ÅR(A2);DAG(A2);MÅNED(A2));HVIS(LÆNGDE(VENSTRE(A2;LÆNGDE(VENSTRE(A2;FIND(" ";A2;1)))))=11;DATO(HØJRE(VENSTRE(A2;FIND(" ";A2;1)-1);4);VENSTRE(VENSTRE(A2;FIND(" ";A2;1));2);MIDT(VENSTRE(A2;FIND(" ";A2;1));4;2));MIDT(VENSTRE(A2;FIND(" ";A2;1));3;2)&"-"&"0"&VENSTRE(VENSTRE(A2;FIND(" ";A2;1));1)&"-"&HØJRE(VENSTRE(A2;FIND(" ";A2;1)-1);4)))
 
Hvis dine data ligger i A til E, formoder jeg at formlen vil virke.
 
//Allan


Besked fra: Spotteck
Posteringsdato: 21.Jan.2011 kl. 12:03
Hej Allan
 
Jeg er sgu imponeret!
 
Formlen virker for 90% af datoerne, men jeg kan ikke rigtig overskue formlen og sige hvor fejlen ligger.
 
Har du et bud eller er vi nået derftil, hvor det ikke bliver bedre?
 
/uploads/165/DATOFORMAT_FORMEL.xlsx - uploads/165/DATOFORMAT_FORMEL.xlsx
 
Taknemmelige hilsner
Jesper


Besked fra: Allan
Posteringsdato: 21.Jan.2011 kl. 12:19
Hej Jesper,
 
Det er fordi jeg 'kun' har taget højde for at måneden (MM-DD-ÅÅÅ) kan være på 1 ciffer, jeg kan se at det kan dagen også Confused
Kombinationen af dag og måned med 1 ciffer kan jo også forekomme, så det giver lige lidt ekstra regnearbejde.
 
Jeg har ikke tid lige nu, men jeg kigger på den i aften. OK?
 
//Allan


Besked fra: Spotteck
Posteringsdato: 21.Jan.2011 kl. 12:40
Ok.
Jeg er glad for al den hjælp jeg kan få - Tusind tak!
 
Mvh
Jesper


Besked fra: Allan
Posteringsdato: 23.Jan.2011 kl. 20:24
Hej igen Jesper,
 
Kender du til makroer?
 
Jeg tror denne lidt mere brugervenlige metode er bedre i denne situation.
 
Efter du har importeret dine data, så marker alle dine 'datoer' og kør denne makro.
 
Sub Korriger_Datoer()
For Each c In Selection.Cells
If c.Value <> "" Then
    If c.NumberFormat = "General" And c.Value <> "N/A" Then
        c.Value = "'" & Month(c) & "-" & Day(c) & "-" & Year(c)
        c.NumberFormat = "dd-mm-yyyy"
        c.Value = Replace(c, "'", "", 1, 1)
    End If
    If c.NumberFormat = "m/d/yyyy h:mm" Then
        c.Value = "'" & Month(c) & "-" & Day(c) & "-" & Year(c)
        c.NumberFormat = "dd-mm-yyyy"
        c.Value = Replace(c, "'", "", 1, 1)
    End If
End If
Next c
End Sub

 
Prøv den lige af
 
//Allan


Besked fra: Allan
Posteringsdato: 23.Jan.2011 kl. 20:35
Alternativt, brug denne skabelon.
 
Sæt dine 'datoer' ind i arket (Dato1 til Dato5)
Klik på knappen 'Korriger datoer'
Jobbet er udført.
 
(Jeg har lagt data ind i arket, så prøv at klikke på knappen med det samme)
 
/uploads/1/datoer.xls - uploads/1/datoer.xls
 
//Allan


Besked fra: Spotteck
Posteringsdato: 28.Jan.2011 kl. 10:19
Hej Alan
 
Sorry, for den sene tilbagemelding.
 
Jeg har ikke ligefrem sort bælte i VBA og makroer, men efter at have set din sidste løsning, kan det da kun gå for langsomt med at komme på kursus i det.
 
Tusind tak for hjælpen.
 
Mvh
Jesper


Besked fra: Allan
Posteringsdato: 28.Jan.2011 kl. 10:27
Hej Jesper,
 
Velbekomme, det var dejligt du kunne bruge det.
VBA gør arbejdet meget lettere og ofte mere elegant, du vil ikke fortryde det.
 
//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