Avatar billede mikkel79 Nybegynder
31. marts 2005 - 14:33 Der er 27 kommentarer og
1 løsning

dato problemer

Jeg har en maget lang liste med over 20000 rækker hvor der er skrevet datoer. Nogle af disse er højrestillet og andre venstrestillet. Ens for alle dem der er højrestillet er at de er skrevet mm-dd-åååå og dem der er venstrestillet skrevet dd-mm-åååå. Det jeg ønsker er at alle skal konveteres til mm-dd-åååå
Avatar billede stewen Praktikant
31. marts 2005 - 15:13 #1
Er du sikker på at alle de venstrestillede datoer er korrekte i forhold til det indlæste? For det at de er venstrestillede kunne lyde som om det registreret som "tekst" og ikke som dato. Det kan ske når man indlæser at den ikke kan genkende det du indlæser som dato eller beløb - hvorfor den indlæser som tekst.

Jeg går ud fra at det ikke skyldes formateringen af cellerne (fordi der er tale om højre- og venstrestillede værdier)
Avatar billede mikkel79 Nybegynder
31. marts 2005 - 15:21 #2
Du han få et eksempel
30-04-2002 10.34.09    06-05-2002 h
30-04-2002 10.36.23    05-02-2002 h
30-04-2002 10.43.16    30-04-2002 v
30-04-2002 10.45.27    05-01-2002 h
30-04-2002 10.46.39    05-02-2002 h
30-04-2002 11.20.23    13-05-2002 v
30-04-2002 13.25.27    05-06-2002 h
30-04-2002 13.27.38    06-09-2002 h
30-04-2002 13.32.11    18-06-2002 v

Dem der står h ved var højrestillet i regnearket og datoen er mm-dd-åååå Og ja det ser ud til at det kun er de højrestillet der er forkerte
Avatar billede tobler Nybegynder
31. marts 2005 - 16:39 #3
Jeg et forslag, hvor du retter til i en "2-trins raket".
Du sorterer dine data, så du får alle dine "forkerte" datoer til sidst eller først.
Derefter kopier du denne formel ind i en hjælpecelle ved siden af: =DATE(MID(A4;7;4);MID(A4;1;2);MID(A4;4;2)) på dansk: =DATO(MIDT(A4;7;4);MIDT(A4;1;2);MIDT(A4;4;2)). Du retter A4 til den celle du referer til, og derefter kopier du den tilrettede formel til alle de forkerte "celler". Cellerne skal ha' det datoformat du ønsker, derefter kan du kopiere alle cellerne til f.eks. kolonne A og vælge indsæt værdi.
Avatar billede sjap Praktikant
31. marts 2005 - 16:53 #4
Du kan også lave en funktion, der tester om en celle er højrestillet:

Function ErHøjrestillet(TestRange As Range) As Boolean

Application.Volatile
If TestRange.HorizontalAlignment = xlRight Then
    ErHøjrestillet = True
Else
    ErHøjrestillet = False
End If

End Function

Derefter kan du bruge denne funktion sammen med toblers forslag til at lave rettelsen:

=Hvis(ErHøjrestillet(A4);DATO(MIDT(A4;7;4);MIDT(A4;1;2);MIDT(A4;4;2));A4)
Avatar billede sjap Praktikant
31. marts 2005 - 17:09 #5
Du kan selvfølgelig også lave det hele med en makro:

Function BytMånedDag()

For Each c In Worksheets("Ark1").Range("A4:A20000")
    If c.HorizontalAlignment = xlHAlignRight Then
        c = DateSerial(Mid(c, 7, 4), Mid(c, 1, 2), Mid(c, 4, 2))
    End If
Next

End Function
Avatar billede sjap Praktikant
31. marts 2005 - 17:17 #6
Jeg oplevede at funktionen drillede lidt indtil jeg satte .value på, så hvis det ikke virker, så skulle denne her være god nok:

Function BytMånedDag()
   
For Each c In Worksheets("Ark1").Range("A4:A20000")
    If c.HorizontalAlignment = xlRight Then
        c.Value = DateSerial(Mid(c, 7, 4), Mid(c, 1, 2), Mid(c, 4, 2))
    End If
Next

End Function
Avatar billede mikkel79 Nybegynder
31. marts 2005 - 17:22 #7
Nu spørger jeg måske lidt dumt men hvordan laver jeg en makro
Avatar billede sjap Praktikant
31. marts 2005 - 17:25 #8
Tryk på Alt-F11 og vælg så menuen Indsæt/Modul og så skal du faktisk blot kopiere nedenstående til det hvide område (som er det område, hvor du kan redigere makroerne).

Sub BytMånedDag()
   
For Each c In Worksheets("Ark1").Range("A4:A20000")
    If c.HorizontalAlignment = xlRight Then
        c.Value = DateSerial(Mid(c, 7, 4), Mid(c, 1, 2), Mid(c, 4, 2))
    End If
Next

End Function
Avatar billede mikkel79 Nybegynder
31. marts 2005 - 17:30 #9
Så har jeg kun et dumt spørgsmål. Når jeg sortere mine datoer vil den ikke sortere alle de oplysninger der passer til den enkelte dato.
Avatar billede sjap Praktikant
31. marts 2005 - 17:32 #10
Prøv at markere hele det område, der skal sorteres sammen med datoerne INDEN du vælger sorteringen.
Avatar billede bak Forsker
31. marts 2005 - 17:59 #11
Et forslag til test idet jeg tror stewen har ret i at de venstrestillede er tekst:
sæt et 0 i en tilfældig celle
kopier cellen
marker alle dine dato
højreklik og vælg "Indsæt speciel"
Vælg så "Adder" og tryk ok

Alt er nu lavet om til rå tal..
Formater så hele markeringen til dit datoformat.
Avatar billede sjap Praktikant
31. marts 2005 - 18:14 #12
Man kunne måske også bare prøve at ændre formatet for datoerne - så kan man jo se om de "forkerte" celler kan gøres "rigtige" blot med en formatering.
Avatar billede sjap Praktikant
31. marts 2005 - 18:41 #13
Pudsigt. Jeg har åbenbart også misforstået problemet (har nok svært ved at forstå at folk ved sine fulde fem vil vælge det amerikanske datoformat: mm-dd-yyyy), men jeg kan ikke blive helt klog på, hvad det er mikkel79 ønsker.

I det oprindelige spørgmål er
    højrestillede celler er skrevet med formatet mm-dd-åååå
    venstrestillede celler er skrevet med formatet dd-mm-åååå
    de vestrestillede er korrekte!

Men i mikkel79's kommentar 31/03-2005 15:21:47 er det lige omvendt (og det er det jeg lavede mit forlag ud fra).

Hvis mikkel79 vælger at holde fast i sit oprindelige udgangspunkt, så er bak's forslag klart det nemmeste.
Avatar billede mikkel79 Nybegynder
07. april 2005 - 11:08 #14
Ok noget tid siden jeg har skrevet. Har sidet med noget andet Sorry, men vender nu tilbage. Kan ikke få jeres løsninger til at fungere. Skyldes nok at jeg ikke har det store kendskab til Excel.
Et af problemerne er at den opfatter måneden som dag? så når der bliver lavet om på celle formatet bliver dagen betragtet som måned.
Avatar billede tobler Nybegynder
07. april 2005 - 12:34 #15
De data du har inde, hvor stammer de fra?
Har du kopieret to forskellige arks data sammen i et?
Avatar billede mikkel79 Nybegynder
07. april 2005 - 12:38 #16
De stammer fra et booking system tror at fejlen skyldes at det er 2 forskellige pc´er skriver til en database. og at den en af dem er sat forkert op, men ved det ikke. jeg har ikke adgang til dem men kun dataen
Avatar billede tobler Nybegynder
07. april 2005 - 12:43 #17
Kommer dataen løbende ind, og hvad vil gøre ved dem?
Laver du en kopi og arbejder videre derfra?
Avatar billede mikkel79 Nybegynder
07. april 2005 - 12:46 #18
Den forstod jeg ikke
Avatar billede tobler Nybegynder
07. april 2005 - 12:49 #19
De data fra booking systemet, bli'r løbende tilføjet data? Er det direkte i den database du vil have lavet ændringer?
Avatar billede mikkel79 Nybegynder
07. april 2005 - 12:52 #20
Nej jeg har været på virksomheden. Fundet de data jeg skal bruge til en analyse, men har problemer med at lave analysen da min excel tabel har rod i datoerne. Så hvordan deres database fungere i fremtiden vedkommer ikke mig.
Avatar billede tobler Nybegynder
07. april 2005 - 12:58 #21
Prøv at se mit indlæg fra: 31/03-2005 16:39:18

Ved at sortere dine datoer, får du de rigtige og "falske" datoer delt op i to grupper. Ved dine "falske" datoer, skal du så gøre som jeg har beskrevet.
Avatar billede mikkel79 Nybegynder
07. april 2005 - 13:00 #22
Har prøvet med din løsning, men den brokkede sig og gav en værdi fejl
Avatar billede sjap Praktikant
07. april 2005 - 13:02 #23
mikkel79 > Du skal være velkommen til at sende regnearket til mig, så skal jeg prøve at se på sagen. sjap9000 @ hotmail.com
Avatar billede mikkel79 Nybegynder
07. april 2005 - 13:03 #24
Super tak
Avatar billede tobler Nybegynder
07. april 2005 - 13:07 #25
Jeg vil da også godt kigge på det, hvis det kan hjælpe: petertobler1 snabela yahoo.dk
Avatar billede sjap Praktikant
07. april 2005 - 14:06 #26
Her fremsendt forslag med følgende:

Venstrestillede tekststrenge med datoer og tidspunkt er ændret til Excel-datoer uden tid:
=DATOVÆRDI(VENSTRE(C2;10))
To kolonner med højrestillede datoer (i Excel format) har fået byttet rundt på måned og dag
=DATO(ÅR(D2);DAG(D2);MÅNED(D2))

Venter så på tilbagemelding fra mikkel79, om hvorvidt dette forslag giver det ønskede resultat.
Avatar billede mikkel79 Nybegynder
07. april 2005 - 14:12 #27
super det virkede mange tak for hjælpen. Hvordan deler man points ud ?
Avatar billede sjap Praktikant
07. april 2005 - 14:15 #28
Ved at markere navnet på dem, der skal have point og derefter trykke accepter.

Husk at du højst må uddele 200 point pr. spørgsmål, så giv dig selv pointene på det spørgsmål, der dækker det samme som dette.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester