AW: Berechnung von Zeitüberschreitungen
11.01.2008 13:03:00
Zeitüberschreitungen
Hallo Vici,
mit den Standardformel von Excel kann meines Wissens die Auswertung nicht oder nur mit Hilfe zahlreicher Hilfszeilen/-spalten berechnen.
Mit einer benutzerdefinierten Funktion ist die Auswertung fast kein Problem-wenn da nicht deine merkwürdige Eingabe/Formatierung der Uhrzeiten wäre.
Frage: Warum hast du die Zellen für die Zeitangaben als "mm:ss" formatiert und nicht als "hh:mm" obwohl du Eingaben als Uhrzeiten in hh:mm eingeben und auswerten willst?
In deinem Diagramm ist übrigens die Beschriftung unter der Zeitachse nicht korrekt.
Müsste sein: Zeit[hh:mm]
Möglicherweise ist dies ein Folgeproblem deiner Zellformatierung
Gruß
Franz
Function Gemeinsam(Hund1 As String, Hund2 As String, Fressdaten As Range) As Date
'Berechnung der überlappenden Freszeiten
Dim ZeileH1 As Integer, ZeileH2 As Integer
Dim ZeitHinH1 As Date, ZeitWegH1 As Date, ZeitHinH2 As Date, ZeitWegH2 As Date
Dim i As Integer, j As Integer
For ZeileH1 = 1 To Fressdaten.Rows.Count
If Hund1 = Fressdaten(ZeileH1, 1) Then Exit For
Next
For ZeileH2 = 1 To Fressdaten.Rows.Count
If Hund2 = Fressdaten(ZeileH2, 1) Then Exit For
Next
'Zeiten vergleichen
If IsEmpty(Fressdaten(ZeileH1, 2)) Or IsEmpty(Fressdaten(ZeileH2, 2)) Then
Gemeinsam = 0
Else
For i = 1 To 19
ZeitHinH1 = Fressdaten(ZeileH1, i * 2)
ZeitWegH1 = Fressdaten(ZeileH1, i * 2 + 1)
For j = 1 To 19
ZeitHinH2 = Fressdaten(ZeileH2, j * 2)
ZeitWegH2 = Fressdaten(ZeileH2, j * 2 + 1)
If Not (ZeitHinH2 >= ZeitWegH1 Or ZeitWegH2 = ZeitHinH1 And ZeitWegH2 ZeitWegH1 Then
Gemeinsam = Gemeinsam + ZeitWegH1 - ZeitHinH1 ' + CDate("00:01:00")
ElseIf ZeitHinH2 = ZeitHinH1 And ZeitWegH2 >= ZeitWegH1 Then
Gemeinsam = Gemeinsam + ZeitWegH1 - ZeitHinH2 ' + CDate("00:01:00")
End If
End If
Next
Next
End If
End Function
Formelbeispiel für Zelle D36:
=Gemeinsam($B36;D$35;$B$6:$AN$15)
Diese Formel kannst du für die anderen Hundepaare kopieren.