Ich habe einen Datensatz mit mehreren Spalten, in denen das Datum wie folgt formatiert ist:
31. Mai 2014.
Ich versuche, einen Weg zu finden, das in ein nützliches Datumsformat umzuwandeln: 31.05.2014. Irgendwelche Ideen?
Antwort1
Um dies zu erreichen, sind mehrere Schritte erforderlich. Dies ist eine Möglichkeit, dies mithilfe von Formeln und Hilfszellen zu tun. Wenn Sie dies ohne Hilfszellen tun müssen (d. h. Sie möchten keine zusätzlichen Spalten), sollten Sie dies erwähnen, und ich könnte wahrscheinlich etwas VBA entwickeln, um die Aufgabe zu erledigen.
Die erste Aufgabe besteht darin, Ihr Datum in drei Teile aufzuteilen: Jahr, Monat und Tag. Sobald Sie diese drei haben, ist es ganz einfach, sie wieder zusammenzusetzen.
Dies setzt natürlich voraus, dass Ihre Datenstetsbefolgen Sie das ziemlich idiotische amerikanische Datumsformat© MMM-dd-yyyy.
Dies geschah mithilfe der Microsoft-SeiteTeilen Sie Text mithilfe von Funktionen auf mehrere Spalten auf.als Beispiel.
Austeilen des Monats:
Dies geschieht mit dersearch
Funktion zum Suchen des Ersten-
und dem TeilungswerkzeugLeft
zum Ausschneiden.=LEFT(A1, SEARCH("-",A1,1)-1)
May
was aus Ihrem Beispiel zurückkommt .Aufteilen des Tages:
Ist ähnlich, erfordert aber eine viel kompliziertere Verwendung derMID
Funktion. Wir müssen den ersten und zweiten Tag finden und-
dann die Position des ersten vom zweiten abziehen, um die erforderliche Textlänge zu erhalten. Das Ergebnis ist eine ziemlich lange Funktion:=MID(A1,SEARCH("-",A1,1)+1,SEARCH("-",A1,SEARCH("-",A1,1)+1)-SEARCH("-",A1,1)-1)
gibt
SEARCH("-",A1,SEARCH("-",A1,1)+1)-SEARCH("-",A1,1)-1)
die Länge zurück, währendSEARCH("-",A1,1)+1
einfach der erste Standort abgerufen wird. DasMID
Tool schneidet sie aus und kehrt23
von Ihrem Beispiel zurück.Aufteilung des Jahres:
Das letzte Werkzeug, das wir brauchen, ist dasRIGHT
Werkzeug.=RIGHT(A1,LEN(A1)-SEARCH("-",A1,SEARCH("-",A1,1)+1))
Dadurch wird einfach die Länge der Zeichenfolge ermittelt, diese dann zweimal durchsucht und alles zurückgegeben, was übrig (oder rechts) ist.
Das Problem ist nun, dass Sie den Monat immer noch in einem unbrauchbaren Textformat haben. Um ihn nutzbar zu machen, müssen wir das DATEVALUE
Tool verwenden, um ihn zu konvertieren. Dieses Tool akzeptiert keinen Monat allein, aber eine Zeichenfolge MMM YY
. Was wir tun können, ist, unseren Monatstext in eine Zahl zu zerlegen, nachdem wir ein Jahr daran angehängt haben.
Abrufen des Monats als numerischen Wert:
Nehmen wir der Argumentation halber an, wir hätten unsere erste Funktion in Zelle B1 gespeichert.
DATEVALUE(B1 &" 01")
Sie gibt die von Excel intern verwendete Datumszeichenfolge zurück. Diese können wir dann in eineMONTH
Funktion einbinden, die den numerischen Wert für den Monat zurückgibt:MONTH(DATEVALUE(B1 &" 01"))
Wir können diese dann alle in einer
DATE(year,month,day)
Funktion zusammenführen und so in ein echtes Datum umwandeln, das Excel verwenden kann. Der Monat steht in Zelle B1, der Tag in Zelle C1 und das Jahr in D1, und zwar im Stupid American Date Format™:DATE(D1, B1, C1)
23/05/2014
wird dann in die Zelle zurückgegeben .Wenn Sie es wirklich ausgefallener haben möchten, können Sie alle oben genannten Formeln zu einer einzigen kombinieren.
=DATE(RIGHT(A1,LEN(A1)-SEARCH("-",A1,SEARCH("-",A1,1)+1)),MONTH(DATEVALUE(LEFT(A1, SEARCH("-",A1,1)-1)&" 1")),MID(A1,SEARCH("-",A1,1)+1,SEARCH("-",A1,SEARCH("-",A1,1)+1)-SEARCH("-",A1,1)-1))
Antwort2
Ein anderer einfacher Ansatz besteht darin, eine Zeichenfolge wie folgt zu verwenden:31. Mai 2015und wandeln Sie es um in31. Mai 2015. Diese Konvertierung ermöglicht es uns, dieDATEVALUE()Formel.
Mit Daten inA1, InB1eingeben:
=DATEVALUE(SUBSTITUTE(MID(A1,FIND("-",A1)+1,2),"-","") & "-" & LEFT(A1,3) & "-" & RIGHT(A1,4))
Antwort3
Ich weiß, dass die Frage beantwortet wurde, und ich bin für alle Beiträge dankbar. Ich möchte diese weitere Option hinzufügen, falls sie für irgendjemanden hilfreich ist:
=DATEVALUE(CONCATENATE(MID(A1,5,2),"-",LEFT(A1,3),"-",RIGHT(A1,4)))
Dadurch wird das Datum vom Format 31. Mai 2014 in das Format 31.05.2014 konvertiert. Beachten Sie, dass in meinem speziellen Fall die Monate nur mit drei Buchstaben eingegeben wurden (z. B. Jul).
Danke!