Avatar billede ulr Nybegynder
04. april 2007 - 15:12 Der er 7 kommentarer og
1 løsning

Sortering af dato fra tekstfil

Hej

Jeg fik for et par uges tid siden hjælp til hvordan jeg kunne sortere på dato fra en tekstfil.
Jeg havde en kolonne med datoer i følgende format 07JAN2006:08:01:59
og fik følgende formel som løsning på mit problem.
=DATO(ÅR(VENSTRE(N6;9));MÅNED(VENSTRE(N6;9));DAG(VENSTRE(N6;9)))

Umiddelbart syntes jeg jo ovenstående formel virkede indtil jeg nåede til nogle datoer som havde engelske månedsnavne, eksempelvis 07MAY2006:08:01:59 - så virkede formlen ikke længere..
Er der nogen der kan hjælpe?
04. april 2007 - 16:11 #1
Prøv med denne:
=HVIS(MIDT(A1;5;1)="Y";DATO(ÅR(MIDT(A1;6;4));5;DAG(VENSTRE(A1;2)));HVIS(MIDT(A1;3;1)="O";DATO(ÅR(MIDT(A1;6;4));10;DAG(VENSTRE(A1;2)));DATO(ÅR(VENSTRE(A1;9));MÅNED(VENSTRE(A1;9));DAG(VENSTRE(A1;9)))))

Den er ikke umiddelbart til at gennemskue; men den checker først om 5. tegn i datoen er et Y, og sætter månedsværdien til 5.
Herefter checkes om 3. tegn er et O, og sætter månedsværdien til 10.
Herefter den oprindelige formel.

Det er kun MAY og OCT, der afviger fra de danske månedsnavne.
04. april 2007 - 16:15 #2
Glemte at rette tilbage til N6 - havde testet med dato i A1:

=HVIS(MIDT(N6;5;1)="Y";DATO(ÅR(MIDT(N6;6;4));5;DAG(VENSTRE(N6;2)));HVIS(MIDT(N6;3;1)="O";DATO(ÅR(MIDT(N6;6;4));10;DAG(VENSTRE(N6;2)));DATO(ÅR(VENSTRE(N6;9));MÅNED(VENSTRE(N6;9));DAG(VENSTRE(N6;9)))))
Avatar billede excelent Ekspert
04. april 2007 - 16:19 #3
Ellers er her en kode til formålet
Marker din dato liste og kør subben

Sub Sorter()

For Each d In Selection
d.Value = Left(Replace(d, "MAY.OCT", "MAJ,OKT"), 9)
Next
Selection.Sort Key1:=Range(ActiveCell.Address), Order1:=xlAscending

End Sub
Avatar billede ulr Nybegynder
09. april 2007 - 21:49 #4
Formlen giver forkert dato når jeg forsøger med maj datoen. Den laver 07MAY2006:08:01:59 om til 07-05-1905..
09. april 2007 - 22:37 #5
=HVIS(MIDT(N6;5;1)="Y";DATO(MIDT(N6;6;4);5;VENSTRE(N6;2));HVIS(MIDT(N6;3;1)="O";DATO(MIDT(N6;6;4);10;VENSTRE(N6;2));DATO(ÅR(VENSTRE(N6;9));MÅNED(VENSTRE(N6;9));DAG(VENSTRE(N6;9)))))

Fjernet ÅR() og DAG() fra de 2 måneder.
Avatar billede ulr Nybegynder
10. april 2007 - 08:22 #6
Jeg kan desværre hverken få formlen eller subben til at give det rigtige..
Hvis jeg prøver på nedenstående, så giver de ikke de rigtige datoer..
07JUN2005:16:19:22
19JUL2005:14:39:47
23AUG2005:08:08:41
06JUL2005:10:21:07
06OCT2004:12:22:46
01SEP2005:19:29:58
27JUN2005:09:28:26
11APR2005:16:30:18
21JUN2005:19:38:14
26APR2004:13:18:04
01OCT2004:15:25:24
13MAY2005:15:13:08
10. april 2007 - 08:33 #7
Formlen virker upåklageligt hos mig på alle de ovennævnte data.

Har du formateret som dato? - hvilke resultater får du for ovennævnte?
Avatar billede ulr Nybegynder
10. april 2007 - 12:35 #8
Sorry - det er min fejl, det må have være formaterings skyld. Tak for hjælpen!
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