Excel-Text zum Konvertieren des Datumsformats

Excel-Text zum Konvertieren des Datumsformats

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.

  1. Austeilen des Monats:
    Dies geschieht mit der searchFunktion zum Suchen des Ersten -und dem Teilungswerkzeug Leftzum Ausschneiden.

    =LEFT(A1, SEARCH("-",A1,1)-1)

    Maywas aus Ihrem Beispiel zurückkommt .

  2. Aufteilen des Tages:
    Ist ähnlich, erfordert aber eine viel kompliziertere Verwendung der MIDFunktion. 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ährend SEARCH("-",A1,1)+1einfach der erste Standort abgerufen wird. Das MIDTool schneidet sie aus und kehrt 23von Ihrem Beispiel zurück.

  3. Aufteilung des Jahres:
    Das letzte Werkzeug, das wir brauchen, ist das RIGHTWerkzeug.

    =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 DATEVALUETool 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.

  1. 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 eine MONTHFunktion einbinden, die den numerischen Wert für den Monat zurückgibt:

    MONTH(DATEVALUE(B1 &" 01"))

  2. 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/2014wird dann in die Zelle zurückgegeben .

  3. 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))

Bildbeschreibung hier eingeben

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!

verwandte Informationen