• 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 conversie 01-Jan-12 naar 01-01-2012

Status
Niet open voor verdere reacties.

mysticsilent

Gebruiker
Lid geworden
10 okt 2008
Berichten
27
Hoi Allemaal,

Ik heb een misschien simpele vraag waar ik geen antwoord op kan vinden na verschillende Google/Forum zoekopdrachten.

Het pakket waar ik mee werk levert de datum als volgt aan: 01-Jan-12. Wat ik graag zou willen is een conversie om de datum om te bouwen naar 01-01-2012.
Veel zoekopdrachten gaan over 01-01-12 naar 01-01-2012 maar dit is voor mij niet van toepassing.
Eventueel waar ik ook mee kan leven is dat hij er 1-1-2012 van maakt of dit zo laat zien met de cel opmaak.
Hoe kan ik dit het beste doen?

Met vriendelijke groeten,

Dirk
 
mysticsilent,

Heb je het al geprobeerd met de eigenschappen?
Zet deze op Aangepast / dd-mm-jjjj en je krijgt 01-01-2012
 
Mocht de oplossing van "EA" niet lukken probeer het eens als volgt:
zet dan een 1 in een lege cel kopieer deze.
selecteer de cellen met de datum => Rmuisknop => plakkenspeciaal => vermenigvuldigen.
Daarna de celeigenschappen aanpassen op dd-mm-jjjj.

Niels
 
Bovenstaande oplossing van EA werkt helaas niet.
@Niels, Het werkt gedeeltelijk. Mocht nou net het programa de datum van bijv Oct (Oktober) en Mar (Maart) zo verschijnen. Deze slaat hij dus over.
 
Kun je geen voorbeeld hier plaatsen.
Het ptobleem is dan vaak duidelijker dan een verhaal.

Zet in het bestand wat de bedoeling is.
 
De essentie van de miljoenen datum topics die je kan vinden op het web ligt hem in het feit dat mensen het verschil niet weten tussen een datum waarde en een "tekst-met-datum-achtige-notatie" waarde. Ook helpers missen vaak genoeg de boot in dit verhaal. Simpelweg vanwege het feit dat de altijd lokaal op het systeem van de gebruiker worden bepaald, en dus niet exact te definiëren zijn.

Volg altijd dit 2-stappenplan:

Stap 1. is de waarde tekst of datum?

Is de waarde een datum?
ga naar stap 2

Is de waarde tekst?
Je zult de waarde moeten omzetten naar een datum, via een conversie functie.
Hier ligt uiteraard de "uitdaging"

De moeilijkheid hierin is de lokale systeeminstellingen voor datum. Zowel voor het inlezen van het systeem van jouw input, als het interpreteren van jouw formules van de output van (Excel)functies. Andere talen hanteren andere maandnamen, de volgorde dag-maand-jaar kan verschillen in de notatie, en zelfs het datum scheidingsteken varieert.
Wat je het beste kan doen is voor "datums als tekst" een paar formules maken die uit de geleverde tekst de waarden jaar, maand en dag halen, en deze via de functie DATUM() samenvoegen tot een datum waarde.

Om het gegeven voorbeeld ter hand te nemen:

De datum notatie is dd-mmm-jj, en de datum staat in cel A1.
Als dit consistent wordt gehanteerd zijn de twee linker tekens altijd de dag, en te bepalen met de formule
LINKS(A1;2)

En voila, we hebben de dag.

Nu zijn teken 4 tot en met 6 de maand. maar de maand is in korte tekstnotatie, oftewel "jan". Deze notatie is systeem afhankelijk. We kunnen dit eenvoudig oplossen als jouw systeem in dezelfde taal staat als het bronsysteem dat de informatie levert, maar anders moet je zoektabellen gaan gebruiken, wat het een en ander weer complexer maakt

We gaan nu natuurlijk van het eenvoudige scenario uit, en staan nu voor het probleem om de tekst "mmm" (bijvoorbeeld: "jan") om te zetten in het maandnummer(bijvoorbeeld: 1).

Op mijn systeem (en volgens Excel help "algemene excel datum notatie"(ik geloof het niet,maar het staat er wel)) is dit te verkrijgen door de maand van de tekst "dag maand jaar" te bepalen. MAAND("1 jan 2010") zou als op basis van het voorbeeld resultaat 1 moeten geven

Om die waarde te bepalen nemen we een fictieve dag, 1, en een fictief jaar, 2010 en plakken deze samen met een maand samen tot de "algemene Excel datumnotatie"(kuch)
"jan" isoleren:
MIDDEN(A1;4;3) ___________voorbeeld resultaat: "jan"

Samenvoegen met fictieve dag en jaar om een "dummy" datumtekst te maken:
TEKST.SAMENVOEGEN("1 ";MIDDEN(A1;4;3);" 2010") ___________voorbeeld resultaat: "1 jan 2010"

en vervolgens het maandnummer bepalen:
MAAND(TEKST.SAMENVOEGEN("1 ";MIDDEN(A1;4;3);" 2010"))___________voorbeeld resultaat: 1

Het maandnummer is nu bekend.

Nu rest ons nog het jaar te bepalen, het jaar is volgens het opgegeven tekstformaat de laatste 2 tekens, dus het jaar is eenvoudig te bepalen door de twee rechter tekens van de tekst te nemen(en daar 2000 bij op te tellen.)
RECHTS(A1;2) + 2000 het jaar is (2012)

Nu we het jaar, de maand en de dag hebben bepaald, kunnen we de datum bepalen door
=DATUM(jaar,maand,dag)
ofwel:
=DATUM(RECHTS(A1;2)+2000;MAAND(TEKST.SAMENVOEGEN("1 ";MIDDEN(A1;4;3);" 2010"));LINKS(A1;2))

om af te vangen dat je niet een waarde die al een datum is gaat omzetten, kun je nog een als formule gebruiken om jezelf te verzekeren dat de waarde een tekst is, voordat je de waarde naar datum converteert (de uitkomst van de formule is dan niet juist)
=ALS(ISTEKST(A1);[datumformule];A1)
ofwel
=ALS(ISTEKST(A1);DATUM(RECHTS(A1;2)+2000;MAAND(TEKST.SAMENVOEGEN("1 ";MIDDEN(A1;4;3);" 2010"));LINKS(A1;2));A1)

nu heb je een datum, deze datum kun je vervolgens via stap 2 naar de door jouw gewenste notatie wijzigen.

de hierboven beschreven methode is een voorbeeld en hoeft niet voor elk systeem te gelden, maar hopelijk biedt het een beetje inzicht.

Stap 2. is de waarde een datum?

Pas de datumnotatie aan met de celeigenschappen, gebruik de methode zoals omschreven door EA in post #2
Let op: de datum WAARDE blijft onveranderd, wat je wijzigt is de WEERGAVE

probeer het verschil te zien tussen een tekst en een datum.

succes,
Mark
 
Laatst bewerkt:
Hoi Allemaal,

Bedankt voor alle reacties. Ik ben er al achter wat het probleem was. De datums waren Engelstalig en de maanden Maart, Mei en Oktober konden niet goed geconverteerd worden door celopmaak. Wel moest ik eerst alle - tekens verwijderen tussen de datums. met de functie Tekst Naar Kolommen. Daarna kon ik met de vervang functie alle maanden "Mar" "May" en "Oct" vervangen voor "Maa" "Mei" en "Okt". Hierna werkt alles vlekkeloos! en heb ik een nette dd-mm-jjjj notatie.

Groeten Dirk
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan