Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1448to1452
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
In Dezimal umrechnen
09.10.2015 11:34:26
Werner
Hallo Zusammen,
aus einer Anwendung bekomme ich dieses Datumsformat ausgegeben.
001t:18s:23m:00s also Tag, Stunde, Minute, Sekunde.
Ist es möglich das in eine Dezimalzahl umzurechnen?
Gruß Werner

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Lösung via Funktion
09.10.2015 12:24:50
MCO
Hallo!
In der Funktion nehme ich den String auseinander, rechne die Terme Tage um u. summiere alles wieder.
Siehe Anlage.
https://www.herber.de/bbs/user/100681.xlsm
Gruß, MCO
PS: Rückmeldung wäre nett

AW: Lösung via Funktion
09.10.2015 12:42:16
Daniel
Hi
das geht aber auch mit Excelstandard-Funktioinen recht einfach:
=WERT(LINKS(E8;3))+WERT(WECHSELN(WECHSELN(TEIL(E8;6;11);"s";"");"m";""))
Gruß Daniel

AW: Lösung via Funktion
09.10.2015 13:13:08
Werner
Hallo MCO und Daniel,
Habe mal eine Liste hochgeladen.
Die Liste der Daten ist immer unterschidlich lang und es ist auch nicht immer länger wie ein Tag.
Ich komme mit beiden Antworten noch nicht wirklich klar.
001t:18s:30m:00s
Bei 18s:30m:00s würde ja 18,50 raus kommen.
Wenn ich den Tag noch dazu nehme müssten es ja 42,50 sein oder habe ich da einen denkfehler?
Gruß Werner
https://www.herber.de/bbs/user/100683.xlsx

Anzeige
AW: Lösung via Funktion
09.10.2015 13:50:25
Daniel
Hi
ok wenn deine Daten mal mit und mal ohne Tag vorkommen (auf solche Variationen in den Daten bitte zukünftig gleich hinweisen!), dann folgende Formel in A2:
=WERT(WECHSELN(WECHSELN(RECHTS(A2;11);"m";"");"s";""))+WENN(LÄNGE(A2)>11;WERT(LINKS(A2;3));0)
das Ergebnis ist eine Dezimalzahl, bei der ein Tag mit 24h dem Wert 1 entspricht.
das ist konform mit der Excel-Datums- und Uhrzeitlogik, dh du kannst die so berechneten Werte mit den normaeln Uhrzeit- und Datumsfunktionen weiterverarbeiten oder formatieren.
wenn du einen Wert brauchst, in dem eine Stunde dem Wert 1 entspricht, musst du das Ergebnis noch mit 24 multiplizieren.
Gruß Daniel

Anzeige
AW: Lösung via Funktion
09.10.2015 14:00:31
Werner
Hallo Daniel,
Habe es mal in der Datei eingearbeitet.
in der Zeile 7 stimmt das Ergebnis nicht, da ist es weniger als eine Stunde.
Die Buchstaben könnte ich vorher per Makro beseitigen, wenn es dann besser geht=
Gruß Werner
https://www.herber.de/bbs/user/100684.xlsx

AW: Lösung via Funktion
09.10.2015 14:12:57
Daniel
Hi
nunja, du verwendest in der Tabelle ja auch zwei verschiedene Formeln.
von Zeile 2-6 verwendest du meine zweite Formelversion, welche berücksichtigt dass die Werte mit und ohne Tage ausgegeben werden können
ab Zeile 7 jedoch verwendest du die alte Funktion aus meiner ersten Antwort, in welcher ich noch davon ausging, das die Tage immer mit angegeben werden und die natürlich nicht funktioniert, wenn die Tage fehlen.
ziehe einfach die Formel aus Zeile 2-6 runter in die restlichen Zeilen, so dass du überall die gleiche Formel verwendest.
wenn du das Ergebnis auch ohne Buchstaben ausgeben lassen kannst, können die WECHSEL-Funktionen natürlich entfallen.
die Längenangaben in der Links- und Rechts-Funktion musst du dann natürlich anpassen.
Gruß Daniel

Anzeige
AW: Lösung via Funktion
09.10.2015 14:26:28
Werner
Hallo Daniel,
du hast recht ich habe nicht weitgenug nach unten gezogen. Su fuktioniert es.
Ich habe se mit der Formelumstellung mal Probiert
=WERT(RECHTS(F6;8))+WENN(LÄNGE(F6)>8;WERT(LINKS(F6;3));0)"
Da wird in der Zeile, wo der Tag mit angegeben ist richtig angezeit aber die anderen sint mit lauter Rauten gefüllt.
Gruß Werner
https://www.herber.de/bbs/user/100687.xlsx

AW: Lösung via Funktion
09.10.2015 14:45:07
Daniel
Hi
die Formel wandelt TEXTE !!!1 in das entsprechende Zeitwerte um.
in den Zellen, in denen die Rauten kommen, stehen aber schon die fertigen Zeitwerte, dh du brauchst diese Formeln gar nicht mehr anwenden.
Excel hat wahrscheinlich schon beim Übertragen der Werte diese als Zeitwerte erkannt und automatisch umgewandelt, weil die Texte ohne das "m" und "s" dem Excel-Standardschema für Zeiten entsprechen.
eine Wandlung per Formel ist dann nicht mehr erforderlich.
um jetzt alle Fälle abzudecken erweitere die Formel so:
=Wenn(IstZahl(F6);F6;WERT(RECHTS(F6;8))+WENN(LÄNGE(F6)>8;WERT(LINKS(F6;3));0))
hier wird erst geprüft, ob der Wert in der Zelle schon eine Zahl und damit eine Uhrzeit ist und die Umwandlungsformel nur eingesetzt, wenn nicht.
Gruß Daniel

Anzeige
AW: Lösung via Funktion
09.10.2015 14:49:18
Werner
Hallo Daniel,
danke für die Hilfe, hat mir sehr weiter geholfen.
Gruß Werner

Der Vollständigkeit halber: Funktion
13.10.2015 07:35:57
MCO
Hallo!
Hab den Threat leider nicht aktuell mitverfolgt, dennoch hier die VBA-Lösung als Funktion.
Public Function dez_Zeit(Zeitangabe As String)
Dim Zeiten As Variant
Dim str As String
str = Replace(Zeitangabe, "t", "")
str = Replace(str, "s", "")
str = Replace(str, "m", "")
Zeiten = Split(str, ":")
If InStr(Zeitangabe, "t") Then
dez_Zeit = Zeiten(0) * 1 + Zeiten(1) / 24 + Zeiten(2) / 24 / 60 + Zeiten(3) / 24 / 60 /  _
60
Else
dez_Zeit = Zeiten(0) / 24 + Zeiten(1) / 24 / 60 + Zeiten(2) / 24 / 60 / 60
End If
End Function
Gruß, MCO

Anzeige
AW: Lösung via Funktion
09.10.2015 14:11:48
Werner
Hallo MCO und Daniel,
Habe mal eine Liste hochgeladen.
Die Liste der Daten ist immer unterschidlich lang und es ist auch nicht immer länger wie ein Tag.
Ich komme mit beiden Antworten noch nicht wirklich klar.
001t:18s:30m:00s
Bei 18s:30m:00s würde ja 18,50 raus kommen.
Wenn ich den Tag noch dazu nehme müssten es ja 42,50 sein oder habe ich da einen denkfehler?
Gruß Werner
https://www.herber.de/bbs/user/100683.xlsx

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige