Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Wie Zeitdifferenzen aufgrund einer Bedingung summieren?





Frage

Hallo Exel-Freunde! Ich habe in meinem Arbeitsblatt mehrere Zeitdifferenzen aufgrund einer Bedingung zu summieren. Die Zeitdifferenzen stehen jeweils in einer Zeile hintereinander in der Abfolge ´Von-Zeit´ ´Bis-Zeit´. Der der Zeile darunter steht jeweils unter der ´Von-Zeit´ der ´Name´ und unter der ´Bis-Zeit´ die ´Gruppe´. In etwa so: [u]Von-ZEIT[/u] | [u]Bis-Zeit[/u] NAME | Gruppe Diese Vierergruppe gilt es durch den User auszufüllen. Es stehen 7 dieser Vierergruppen hintereinander und werden dann summiert. Es soll aber nun auch möglich sein, die Zeitdifferenzen für eine bestimmte Gruppe zu filtern. Wie kann ich das bewerkstelligen? Gruß Torsten

Antwort 1 von Saarbauer

Hallo,

ist vom Grundsatz her machbar, aber mit so angeordneten Daten funktioniert es nicht. Ist eine anderer Datenaufbau möglich? alle zusammengehörenden Daten in einer Zeile / Spalte

Gruß

Helmut

Antwort 2 von rainberg

Hallo Torsten,

ich würde Dir diese Struktur vorschlagen

Gruppe__5_____1_____3_____4_____1_____1_____2__
von___07:00_07:00_07:00_07:00_07:00_07:00_07:00
bis___08:00_08:00_08:00_08:00_08:00_08:00_08:00


dann würde schon folgende Formel reichen.

=SUMMENPRODUKT((B3:H3-B2:H2)*(B1:H1=1))

Mit Deiner bisherigen Struktur wird es erheblich schwerer und geht wahrscheinlich nicht ohne Hilfszeile ab.

Gruß
Rainer

Antwort 3 von rainberg

Hallo Torsten,

für die nebeneinander angeordneten Zeitgruppen habe ich mal ein Makro geschrieben, was derzeit 3 Gruppen auswertet (kann geändert werden).

Option Explicit

Private Sub CommandButton1_Click()
    Dim rngC As Range, intGruppe As Integer, intI As Integer
    Dim dblSum1 As Double, dblSum2 As Double
    For intI = 7 To 9
        intGruppe = Range("A" & intI).Value
        dblSum2 = 0
        For Each rngC In Range("A3:N3")
            If rngC.Value = intGruppe Then
                If Cells(rngC.Row - 1, rngC.Column - 1).Value > _
                    Cells(rngC.Row - 1, rngC.Column).Value Then
                    dblSum1 = 1 + Cells(rngC.Row - 1, rngC.Column).Value - _
                    Cells(rngC.Row - 1, rngC.Column - 1).Value
                Else
                    dblSum1 = Cells(rngC.Row - 1, rngC.Column).Value - _
                    Cells(rngC.Row - 1, rngC.Column - 1).Value
                End If
                dblSum2 = dblSum2 + dblSum1
            End If
        Next rngC
        Range("B" & intI).Value = Format(dblSum2, "hh:mm")
    Next intI
End Sub


Die Testdatei kannst Du hier downloaden

http://www.netupload.de/detail.php?img=e1026ff0d54f1552bd034a49e2ad...

Gruß
Rainer

Antwort 4 von Aliba

Hi Torsten,

unter gewissen Umständen funzt das auch mit Deinem Tabellenaufbau. Folgende Bedingungen müssen gewährleistet sein:

1.) Bis-zeiten sind immer grösser als von-zeiten.
2.) zu jeder von-Zeit gibt es auch eine Bis-Zeit.
3.) Die erste von-Zeit steht nicht in Spalte A

Dann geht das relativ einfach mit SUMMEWENN.

Siehe Beispiel:


http://www.netupload.de/detail.php?img=7e04e4b35188b6de1fd12bbd40db...

CU Aliba

Antwort 5 von fantalight

@Rainer:

Hm, jetzt hab ich mir die Tabelle so schon ´hin´ formatiert. Ursprünglich waren die 4 einzutragenden Felder in einer Zeile also
|_Von_|_Bis_|_Name_|Gruppe

Da dieser Datenkomplex im Maximalfall bis zu 7x täglich vorkommt, habe ich das Ganze 7x aneinandergereiht, was zur Folge hat, dass die Tabelle seeehr breit wird. Bei der von mir in meinem ersten Beitrag aufgezeigten Anordnung der Daten ist das ´schöner´, wobei man ja mit Schönheit in der EDV nur bedingt Preise gewinnt ;-)

Nachdem Helmut auch meint, dass ich die Daten umordnen muß, werde ich das wohl oder übel tun müssen. Es sind dann allerdings 4 zueinandergehörende Zellen in 4 unterschiedlichen Spalten in etwa so:

Name____A_____B_____C__
Gruppe__5_____1_____3__
von___07:00_07:00_07:00
bis___08:00_08:00_08:00


Dann ändert sich auch wieder die Zeitdifferenz-Formel (für alle Eintrage ohne Filterung), bei der mir Rainer schon im anderen Beitrag geholfen hat.

DAnke für Eure Beiträge!
Gruß
Torsten

Antwort 6 von fantalight

@Aliba:
Danke für Deine Hilfe und die Beispieldatei. Das ist genau das Richtige für mich!

Auch an Helmut und Rainer noch herzlichen Dank für Eure Anregungen und Beispiele. Ich scheine wohl in meinen Beiträgen immer wieder an die gleichen Exel-Profis zu gelangen!
;-)

Gruß
Torsten