Rechnen mit sec. Bruchteilen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Frame
Bild

Betrifft: Rechnen mit sec. Bruchteilen
von: Leckelt
Geschrieben am: 19.04.2005 03:35:08
Hallo,
Für eine Timecodeliste benötige ich bruchteile von sec. Leider aber nicht dezimal (also 9,5 sec) sondern eine Sekunde hat dabei 30 Frames.
aus meinem Programm bekomm ich nun eine Liste der Zeiten in dem Format hh:min:sec:fr
Wie bekomm ich Excel überredet in diesesm Format zu rechnen. - Ich benötige die Dauer der einzelnen Takes.
Bsp:
00:00:00:25
00:00:12:03 Dauer wäre hier 11 sec. 8 Frames
Bisher habe ich diesen Wert, der in dieser Form in einer Zelle steht, mit Links und Rechts umständlich in einzelne Zahlengruppen unterteilt und mit uferlosen wenn dann bedingungen dann die berechnungen nachvollzogen. Da es ja kein dezimalsystem ist, hab ich mir besonders bei den Übergängen immer einen Wolf gerechnet. Geht das denn nicht auch einfacher?
Der Hammer wäre, wenn ich in einer Zelle die unterteilung der Frames noch definieren könnte. Es gibt nämlich Systeme die arbeiten mit 30, 75, 90, 120 oder 960 Frames pro sekunde.
Danke Euch
Losche

Bild

Betrifft: Millisekunden
von: Beate Schmitz
Geschrieben am: 19.04.2005 07:36:47
Hallo Losche,
Format benutzerdefiniert: hh:mm:ss,000
Gruß,
Beate
Bild

Betrifft: AW: Rechnen mit sec. Bruchteilen
von: Harald Kapp
Geschrieben am: 19.04.2005 07:50:53
Hallo Losche,
mit der folgenden Funktion kannst Du aus den Timecodes die jeweilige Anzahl von Sekunden berechnen:

Function Fr2sec(ByVal inframes As String, ByVal framespersec As Integer) As Double
Dim hours As Long
Dim minutes As Long
Dim seconds As Double
Dim frames As Long
hours = Left(inframes, 2)
inframes = Right(inframes, Len(inframes) - 3)
minutes = Left(inframes, 2)
inframes = Right(inframes, Len(inframes) - 3)
seconds = Left(inframes, 2)
inframes = Right(inframes, Len(inframes) - 3)
frames = inframes ' 2 oder 3 stellig
seconds = seconds + frames / framespersec
Fr2sec = ((hours * 60) + minutes) * 60 + seconds
End Function

Der erste Parameter ist der Timecode hh:mm:ss:ff bzw hh:mm:ss:fff
Der zweite Parameter ist die Anzahl der Frames pro Sekunde, also z.B. 30
Gruß Harald
Bild

Betrifft: wo geb ich die Funktionsdefinition ein?
von: Leckelt
Geschrieben am: 19.04.2005 10:24:59
Hallo Harald,
Deine variante klingt plausibel. Nur wo geb ich diese ein. Hab bisher noch gar nicht gewusst dass ich im excel benutzerdefinierte Funktionen eingeben kann oder ist das ein VB (von dem ich leider gar keine Ahnung habe ;-( )
Könntest Du vielleicht so nett sein und ein Sheet hochladen das ich dann modifizieren kann.
Würde mir echt weiterhelfen.
Danke
Losche
Bild

Betrifft: AW: wo geb ich die Funktionsdefinition ein?
von: Galenzo
Geschrieben am: 19.04.2005 10:32:09
Erstellen benutzerdefinierter Funktionen:
ALT+F11 - damit kommst du zum VBA-Editor
dort: Einfügen/Modul
dorthinein den Code einfügen
Editor schließen
nun kannst du diese Funktion wie alle anderen Excel-Funktionen in deiner Tabelle benützen
(du findest sie in der Rubrik "Benutzerdefiniert")
Viel Erfolg!
Bild

Betrifft: spielt - und rechnen??
von: Leckelt
Geschrieben am: 19.04.2005 10:47:23
Hab die Funktion reinbekommen. Jetzt kann ich es wenigstens in Sekunden umrechnen.
Gibt es jetzt eine ähnliche Lösung für das Problem:
00:00:12:03 - 00:00:10:15 = 00:00:01:18
Das Ergebniss kann ich ja jetzt mit deiner Funktion umrechen.
Ohne die 4. Doppelgruppe für die Frames kann ich im Zeitformat ja mit Excel arbeiten. Aber ich bekomm halt die letzte Gruppe nicht hin. Wenn ich Sie als Benutzerdefiniertes Format angebe, dann kann ich es zwar anzeigen aber nicht mehr damit Rechnen.
Gruß Losche
Bild

Betrifft: AW: spielt - und rechnen??
von: Galenzo
Geschrieben am: 19.04.2005 11:23:30
die Funktion ist nicht von mir (sondern von Harald Kapp)
daher Frage noch offen...
Bild

Betrifft: AW: spielt - und rechnen??
von: Harald Kapp
Geschrieben am: 19.04.2005 12:26:40
Hallo Losche,
einfach beide Eingansdaten in Sekunden umrechnen und dann damit weiter:
=Fra2sec(wert1)-Fra2sec(wert2)
Gruß Harald
Bild

Betrifft: Bekomm ich das in ne benutzerdedef. Formel?
von: Leckelt
Geschrieben am: 19.04.2005 20:29:34
Hallo harald,
Deine benutzerdefinierte Formel hat schon richtig weitergeholfen. Nun hab ich damit die Dauer berechnen lassen. Da diese Formel sehr lang geworden ist, hätt ich die auch gern benutzerdefiniert abgespeichert. Da ich wie gesagt von VBA keine Ahnung habe, wäre ich über Deine Hilfe nocheinmal dankbar.

=WENN(ABRUNDEN(Fr2sec(A7;30)-Fr2sec(A6;30);2)>60;VERKETTEN(ABRUNDEN(ABRUNDEN(Fr2sec(A7;30)-Fr2sec(A6;30);2)/60;0);":";ABRUNDEN(Fr2sec(A7;30)-Fr2sec(A6;30);2)-(ABRUNDEN(ABRUNDEN(Fr2sec(A7;30)-Fr2sec(A6;30);2)/60;0)*60));VERKETTEN(0;":";ABRUNDEN(Fr2sec(A7;30)-Fr2sec(A6;30);2)))
Wobei die Startspalte noch relativ einzugeben wäre, da meine exportierte Timecodetabelle nicht immer in A1 beginnt.
Vielen Dank
Losche
Bild

Betrifft: Syntaxberichtigung
von: Leckelt
Geschrieben am: 19.04.2005 20:42:42

Hallo harald,
Deine benutzerdefinierte Formel hat schon richtig weitergeholfen. Nun hab ich damit die Dauer berechnen lassen. Da diese Formel sehr lang geworden ist, hätt ich die auch gern benutzerdefiniert abgespeichert. Da ich wie gesagt von VBA keine Ahnung habe, wäre ich über Deine Hilfe nocheinmal dankbar.

=WENN(ABRUNDEN(Fr2sec(A7;30)-Fr2sec(A6;30);2)>60;VERKETTEN(ABRUNDEN(ABRUNDEN(Fr2sec(A7;30)-Fr2sec(A6;30);2)/60;0);":";ABRUNDEN(Fr2sec(A7;30)-Fr2sec(A6;30);2)-(ABRUNDEN(ABRUNDEN(Fr2sec(A7;30)-Fr2sec(A6;30);2)/60;0)*60));VERKETTEN(0;":";ABRUNDEN(Fr2sec(A7;30)-Fr2sec(A6;30);2)))
Wobei die Startspalte noch relativ einzugeben wäre, da meine exportierte Timecodetabelle nicht immer in A1 beginnt.

https://www.herber.de/bbs/user/21371.xls

vielen Dank
Losche
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Rechnen mit sec. Bruchteilen"