online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon fantalight vom 17.01.2019, 19:27 Options

Wie Zeitdifferenzen aufgrund einer Bedingung summieren?

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:
Von-ZEIT | Bis-Zeit
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 schreiben

Antwort 1 von Saarbauer vom 17.01.2019, 20:50 Options

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 vom 17.01.2019, 21:33 Options

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 vom 18.01.2019, 08:45 Options

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 vom 18.01.2019, 11:06 Options

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 vom 18.01.2019, 16:19 Options

@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 vom 21.01.2019, 10:20 Options

@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

Ähnliche Themen

Abhängige Listenfelder
simbi  19.06.2007 - 114 Hits - 8 Antworten

Bedingte Formatierung mit UND-/ODER Funktion
caro.orac  27.06.2007 - 127 Hits - 1 Antwort

Acces Berechnetes Feld in Bericht summieren
Nathi  15.03.2008 - 98 Hits - 4 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026