• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Datum uit een veld halen

Status
Niet open voor verdere reacties.

agronive

Gebruiker
Lid geworden
1 nov 2016
Berichten
5
Hallo Allemaal,

Ik heb een excel file waar alle datums als volgt in opgebouwd zijn.
Nu wil ik hiervan twee losse datums maken, is dit mogelijk?

Jan 23 - 24, 2017
moet dus worden

23-01-2017 - 24-01-2017

Alvast dank
 
Zoiets?

Code:
=TEKST(DATUMWAARDE(MIDDEN(A1;5;2)&"-"&LINKS(A1;3)&"-"&RECHTS(A1;4));"dd-mm-jjjj") & " - "&TEKST(DATUMWAARDE(MIDDEN(A1;10;2)&"-"&LINKS(A1;3)&"-"&RECHTS(A1;4));"dd-mm-jjjj")

MIDDEN() kan ook DEEL() zijn. Is versie afhankelijk.

Anders even een voorbeeldbestandje.
 
Hi VenA, Excel Koning!!

Krijg het in excel nog niet direct werkend. Zie bijlage, om de uitdaging nog iets groter te maken heb je soms ook een dubbele maandvermelding in de cel.

Bekijk bijlage Datums.xlsx
 
Laatst bewerkt:
wil u 2 losse datums in een cel of mag het ook in 2 cellen zijn
MVG mr0007
 
kunt u een klein excel voorbeeldje er bij doen hoe u het heeft

MVG mr0007
 
ik krijg dat niet geopend, het ziet er ook anders uit, excel bestanden kan ik normaal gesproken open, Sorry

MVG mr0007
 
Voor B1
Code:
=TEKST(DATUMWAARDE(MIDDEN(A1;5;2)&"-"&LINKS(SUBSTITUEREN(SUBSTITUEREN(SUBSTITUEREN(A1;"Mar";"mrt");"May";"Mei");"Oct";"Okt");3)&"-"&RECHTS(A1;4));"dd-mm-jjjj")

Voor C1
Code:
=TEKST(ALS.FOUT(DATUMWAARDE(MIDDEN(A1;10;2)&"-"&SUBSTITUEREN(SUBSTITUEREN(SUBSTITUEREN(LINKS(A1;3);"Mar";"mrt");"May";"Mei");"Oct";"Okt")&"-"&RECHTS(A1;4));DATUMWAARDE(MIDDEN(A1;14;2)&"-"&SUBSTITUEREN(SUBSTITUEREN(SUBSTITUEREN(MIDDEN(A1;10;3);"Mar";"mrt");"May";"Mei");"Oct";"Okt")&"-"&RECHTS(A1;4)));"dd-mm-jjjj")
 

Bijlagen

  • Datums-1.xlsb
    12,9 KB · Weergaven: 52
Ik dacht meer aan een UDF...
Code:
Function KnipDatums(sBron As String) 'As String

    Datum1 = Split(sBron, " - ")(0)
    Datum2 = Split(Split(sBron, " - ")(1), ",")(0)
    Dat2ZonderMaand = IsNumeric(Datum2)
    Jaar = Split(sBron, ", ")(1)
    
    KnipDatums = DateValue(Datum1 & " " & Jaar) & " - " & DateValue(IIf(Dat2ZonderMaand, Split(Split(sBron, " - ")(0), " ")(0) & " " & Datum2, Datum2) & " " & Jaar)

End Function
Maar die loopt helaas stuk op de afkortingen van maanden die niet in het nederlands kloppen.... Dus voor een deel werkt het en voor een deel niet.... :D
 
Super! Dankjewel ik heb de data nu juist in mijn excel staan! Nogmaals veel dank
 
Liet met toch niet los.... Nu een procedure (UDF) die de afgekorte maandnaam evalueert en dus altijd met het juiste terugkomt.
Code:
Function KnipDatums(sBron As String) As String

    Datum1 = Split(sBron, " - ")(0)
    Maand1 = Application.Evaluate("=MONTH(1&" & Chr(34) & Split(Datum1, " ")(0) & Chr(34) & ")")
    Dag1 = Split(Datum1, " ")(1)
    Datum2 = Split(Split(sBron, " - ")(1), ",")(0)
    If IsNumeric(Datum2) Then
        Maand2 = Maand1
        Dag2 = Datum2
    Else
        Maand2 = Application.Evaluate("=MONTH(1&" & Chr(34) & Split(Datum2, " ")(0) & Chr(34) & ")")
        Dag2 = Split(Datum2, " ")(1)
    End If
    Jaar = Split(sBron, ", ")(1)
    
    KnipDatums = Format(DateSerial(Jaar, Maand1, Dag1), "dd-mm-yyyy") & " - " & Format(DateSerial(Jaar, Maand2, Dag2), "dd-mm-yyyy")

End Function
Misschien kan je er nog iets mee en anders is de juiste procedure in dit draadje goed voor het archief. ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan