Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Aus String ein Datum machen
#1
Brick 
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!:)
Antworten Top
#2
Hallo


Code:
=--(TEIL([@Datum];9;2)&"-"&TEIL([@Datum];5;3)&"-"&RECHTS([@Datum];4)&" "&TEIL([@Datum];12;8))
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

[-] Folgende(r) 1 Nutzer sagt Danke an shift-del für diesen Beitrag:
  • Terades
Antworten Top
#3
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
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • Terades
Antworten Top
#4
Heart 
Sehr gut, danke!
Antworten Top
#5
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
Antworten Top
#6
Thumbs Up 
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. :)
Antworten Top
#7
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
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • Terades
Antworten Top
#8
Moin Terades,

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


Angehängte Dateien
.xlsx   Umformatiert per PQ.xlsx (Größe: 26,74 KB / Downloads: 4)
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Antworten Top
#9
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
Antworten Top
#10
=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.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste