Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Uhrzeit generieren

Forumthread: Uhrzeit generieren

Uhrzeit generieren
10.02.2025 11:08:10
Benjamin
Hallo Formel-Experten ,
ich möchte per Formel aus einem Text eine Uhrzeit generieren.
Das Problem ist für mich, aus den unterschiedlichen Textlängen und Inhalten das abzuleiten.
Die Text-Uhrzeiten sind in folgende. Angaben aufgelistet:
A1: 4h45m --> 04:45:00
A2: 30m10s --> 00:30:10
A3: 1h --> 01:00:00
A4: 55m --> 00:55:00

Könnt ihr mir hierbei helfen?
Herzlichen Dank im Voraus.

LG, Benjamin
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Uhrzeit generieren
10.02.2025 11:33:42
Yal
Hallo Benjamin,

Excel scheint
aus 1: ein 01:00:00 zu machen,
aus 1:5 -> 01:05:00
und aus 1:2:4 -> 01:02:04

Daher einfach suchen/ersetzen auf die Spalte, um "h", "m" in ":" und "s" in "" (nichts) zu erstezen.

VG
Yal
AW: Uhrzeit generieren, Teillösung
10.02.2025 11:47:01
MCO
Moin!

Für die Beispiele die du beschrieben hast, funktioniert das hier:



-ABCDEFG
14h45m44504:45:00
230m10s030100:30:10
31h1001:00:00
455m05500:55:00


-ABCDEFG
14h45m=WENNFEHLER(WENN(SUCHEN("h";A1);LINKS(A1;SUCHEN("h";A1)-1);0);0)=WENNFEHLER(WENN(SUCHEN("m";A1);TEIL(A1;SUCHEN("m";A1)-2;2);0);0)=WENNFEHLER(WENN(SUCHEN("s";A1);TEIL(A1;SUCHEN("s";A1)-2;2);0);0)=(WENNFEHLER(WENN(SUCHEN("h";A1);LINKS(A1;SUCHEN("h";A1)-1);0);0)+WENNFEHLER(WENN(SUCHEN("m";A1);TEIL(A1;SUCHEN("m";A1)-2;2);0);0)/60+WENNFEHLER(WENN(SUCHEN("s";A1);TEIL(A1;SUCHEN("s";A1)-2;2);0);0)/3600)/24
230m10s=WENNFEHLER(WENN(SUCHEN("h";A2);LINKS(A2;SUCHEN("h";A2)-1);0);0)=WENNFEHLER(WENN(SUCHEN("m";A2);TEIL(A2;SUCHEN("m";A2)-2;2);0);0)=WENNFEHLER(WENN(SUCHEN("s";A2);TEIL(A2;SUCHEN("s";A2)-2;2);0);0)=(WENNFEHLER(WENN(SUCHEN("h";A2);LINKS(A2;SUCHEN("h";A2)-1);0);0)+WENNFEHLER(WENN(SUCHEN("m";A2);TEIL(A2;SUCHEN("m";A2)-2;2);0);0)/60+WENNFEHLER(WENN(SUCHEN("s";A2);TEIL(A2;SUCHEN("s";A2)-2;2);0);0)/3600)/24
31h=WENNFEHLER(WENN(SUCHEN("h";A3);LINKS(A3;SUCHEN("h";A3)-1);0);0)=WENNFEHLER(WENN(SUCHEN("m";A3);TEIL(A3;SUCHEN("m";A3)-2;2);0);0)=WENNFEHLER(WENN(SUCHEN("s";A3);TEIL(A3;SUCHEN("s";A3)-2;2);0);0)=(WENNFEHLER(WENN(SUCHEN("h";A3);LINKS(A3;SUCHEN("h";A3)-1);0);0)+WENNFEHLER(WENN(SUCHEN("m";A3);TEIL(A3;SUCHEN("m";A3)-2;2);0);0)/60+WENNFEHLER(WENN(SUCHEN("s";A3);TEIL(A3;SUCHEN("s";A3)-2;2);0);0)/3600)/24
455m=WENNFEHLER(WENN(SUCHEN("h";A4);LINKS(A4;SUCHEN("h";A4)-1);0);0)=WENNFEHLER(WENN(SUCHEN("m";A4);TEIL(A4;SUCHEN("m";A4)-2;2);0);0)=WENNFEHLER(WENN(SUCHEN("s";A4);TEIL(A4;SUCHEN("s";A4)-2;2);0);0)=(WENNFEHLER(WENN(SUCHEN("h";A4);LINKS(A4;SUCHEN("h";A4)-1);0);0)+WENNFEHLER(WENN(SUCHEN("m";A4);TEIL(A4;SUCHEN("m";A4)-2;2);0);0)/60+WENNFEHLER(WENN(SUCHEN("s";A4);TEIL(A4;SUCHEN("s";A4)-2;2);0);0)/3600)/24


Wenn du allerdings nur einstellige Minuten oder Sekunden hast, dann wirds schon wieder nix, da wird die Formel mit der ermittlung der zu lesenden Zeichenlängen schon wieder länger.

Ich hab alles auf 1 Tag hochgerechnet und addiert, die Formatierung erfolgt über die Zellformatierung.
Die Spalten C,D,E sind nur Zwischenergebnisse und werden in der Spalte G zusammengefasst.

Gruß, MCO
Anzeige
AW: Uhrzeit generieren
10.02.2025 20:19:17
Daniel
Hi
da würde ich mir eine kleine VBA-Funktion schreiben.
dieser Code in ein allgemeines Modul der Datei:
Function UhrZeit(txt As String) As Date

Dim h As Long, m As Long, s As Long
Dim x

For Each x In Array("h", "m", "s")
txt = Replace(txt, x, x & ":")
Next

For Each x In Split(txt, ":")
If x Like "*h" Then
h = Val(x)
ElseIf x Like "*m" Then
m = Val(x)
ElseIf x Like "s" Then
s = Val(x)
End If
Next
UhrZeit = TimeSerial(h, m, s)
End Function


und dann einfach in B1: =Uhrzeit(A1)

Gruß Daniel
Anzeige
AW: Uhrzeit generieren
10.02.2025 21:48:31
Yal
Hallo Daniel,

deine Beiträge sind mir immer inspirirend (wenn auch immer für den Fragenden nicht mehr relevant):

Public Function Uhrzeit(ByVal txt As String) As Date

Dim i
Dim tmp
Dim erg(1 To 3) As Long

For i = 1 To 3
tmp = Split(txt, Mid("hms", i, 1))
If UBound(tmp) > 0 Then
erg(i) = tmp(0)
txt = tmp(1)
End If
Next
Uhrzeit = TimeSerial(erg(1), erg(2), erg(3))
End Function
VG Yal
Anzeige
AW: Uhrzeit generieren, Teillösung
10.02.2025 12:14:34
BoskoBiati
Hi,

unter Berücksichtigung der Einschränkungen bzgl. einstelliger Werte und ohne die Sekunden zu berücksichtigen, ginge mit den vorliegenden Daten das:

=--WENNFEHLER(LINKS(A1;SUCHEN("h";A1)-1)&WENNFEHLER(":"&TEIL(A1;SUCHEN("h";A1)+1;SUCHEN("m";A1)-1-SUCHEN("h";A1))&":00";":00:00");"00:"&LINKS(A1;SUCHEN("m";A1)-1)&":00")


Gruß

Edgar
Anzeige
AW: Uhrzeit generieren, Teillösung
10.02.2025 12:30:44
BoskoBiati
Hi,

mit Sekunden:

=--WENNFEHLER(LINKS(A1;SUCHEN("h";A1)-1)&WENNFEHLER(":"&TEIL(A1;SUCHEN("h";A1)+1;SUCHEN("m";A1)-1-SUCHEN("h";A1))&WENN(RECHTS(A1;1)="s";":"&WECHSELN(RECHTS(A1;3);"s";"");":00");":00:00");"00:"&LINKS(A1;SUCHEN("m";A1)-1)&WENN(RECHTS(A1;1)="s";":"&WECHSELN(RECHTS(A1;3);"s";"");":00"))
Anzeige
AW: Uhrzeit generieren, Komplettlösung
10.02.2025 12:52:12
BoskoBiati
Hi

=--(WENN(ISTZAHL(SUCHEN("h";A1));LINKS(A1;SUCHEN("h";A1)-1);"00")&":"&WENN(ISTZAHL(SUCHEN("m";A1));WECHSELN(TEIL(A1;SUCHEN("m";A1)-2;2);"h";"");"00")

&WENN(ISTZAHL(SUCHEN("s";A1));":"&WECHSELN(WECHSELN(WECHSELN(RECHTS(A1;3);"s";"");"m";"");"h";"");":00"))


Gruß

Edgar
Anzeige
Denkfehler
10.02.2025 11:39:57
Yal
wenn die Stunde fehlt, könnte es zu einer Missinterpretation führen.

Verwende:
=WERT(WECHSELN(WECHSELN(WECHSELN(WENN(ISTFEHLER(FINDEN("h";N9));"00:";"")&N9;"h";":");"m";":");"s";""))
(das gleich wie vorher, aber mit Test auf fehlenden "h")

VG
Yal
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18