Clever-Excel-Forum

Normale Version: Aus String ein Datum machen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Guten Morgen!

Ich habe ein kleines Problem, ich habe eine automatisch erstellte Tabelle, wo das Datum leider in Text form raus kommt. Jetzt möchte ich daraus gerne ein datum nach dem Schema: tt.mm.yy hh:mm:ss erstellen.

Bsp:


Code:
Tue Jan 02 20:59:28 CET 2018      -> 02.01.18 20:59:28
Tue Jan 02 21:39:55 CET 2018
Tue Jan 02 22:26:43 CET 2018
Tue Jan 02 23:07:41 CET 2018
Wed Jan 03 00:47:34 CET 2018
Wed Jan 03 01:02:53 CET 2018
Wed Jan 03 01:47:59 CET 2018
Wed Jan 03 02:23:33 CET 2018


Umformatieren geht ja leider nicht. Muss man das ganze mit "TEIL" lösen oder gibts da ne bessere variante?

Vielen dank!:)
Hallo


Code:
=--(TEIL([@Datum];9;2)&"-"&TEIL([@Datum];5;3)&"-"&RECHTS([@Datum];4)&" "&TEIL([@Datum];12;8))
da englische Notation:

=--(TEIL(A1;9;2)&WECHSELN(WECHSELN(WECHSELN(WECHSELN(TEIL(A1;5;3);"ar";"rz");"y";"i");"ct";"kt");"ec";"ez")&RECHTS(A1;4)&TEIL(A1;11;9)) 

oder kürzer nach Luc:

=--(TEXT(DATWERT(TEIL(A2;9;2)&TEIL(A2;5;3)&RECHTS(A2;2));"[$-809]TTMMMJJ")&TEIL(A2;11;9))

benDefFmt TT.MM.JJ hh:mm:ss
Sehr gut, danke!
Hallo,

als UDF:


Code:
Function F_Datum_aus_US(rng As Range) As Date
   DD = Split(rng.value)
   F_Datum_aus_US = CDate(DD(2) & " " & DD(1) & " " & DD(5) & " " & DD(3))
End Function


mfg
Auch cool Fennek, leider ist hier auch das Problem mit den Englischen Monats bezeichnungen. Mar anstatt Mrz. Dann kommt #Wert. Da hatte LCohen ja die Wechseln fnkt. für genutzt.

Aber dennoch, nicht schlecht. :)
Hallo,

die Internationalen Einstellungen sind leider nur "read-only" und können nicht in VBA geändert werden (wie für die Blattfunktionen.

Code:
Function F_Datum_aus_US(rng As Range) As Date
'ar = Application.GetCustomListContents(3) 'englische Monatsnamen "MMM"

   DD = Split(rng.Value)
   Mo = Switch(DD(1) = "Mar", "Mrz", DD(1) = "May", "Mai", DD(1) = "Oct", "Okt", DD(1) = "Dec", "Dez")
   If Mo <> "" Then DD(1) = Mo
   F_Datum_aus_US = CDate(DD(2) & " " & DD(1) & " " & DD(5) & " " & DD(3))
End Function



Zumindenst in meinem xl2016 kann man die englischen Monatsnamen, sowohl "MMM" als auch "MMMM" in einer custumList auslesen.

mfg
Moin Terades,

da du Excel 2016 nutzt / nutzen kannst, bietet sich auch eine Formellose Möglichkeit an.
Hi


ich werfe mal diese Formel ins Rennen:

=DATUM(RECHTS(A1;4);FINDEN(TEIL(A1;5;3);"xxJanFebMarAprMayJunJulAugSepOctNovDec")/3;TEIL(A1;9;2))+TEIL(A1;12;8)

solange der Monat mit drei buchstaben geliefert wird, lässt sich das relativ einfach an jede beliebige Ausgabesprache anpassen

Gruß Daniel
=DATUM(RECHTS(A1;4);FINDEN(TEIL(A1;5;3);"xxJanFebMarAprMayJunJulAugSepOctNovDec")/3;TEIL(A1;9;2))+TEIL(A1;12;8)

geht über neopa (aus meinem Link oben) auch kürzer als

=DATUM(RECHTS(A1;4);FINDEN(TEIL(A1;6;2);"xanebarprayunulugepctovec")/2;TEIL(A1;9;2))+TEIL(A1;12;8)

da die Stellen 2+3 im Englischen eindeutig sind.
Seiten: 1 2