Microsoft Excel

Herbers Excel/VBA-Archiv

VBA Datumsdifferenz mit Kriterien Summieren

Betrifft: VBA Datumsdifferenz mit Kriterien Summieren von: Chris
Geschrieben am: 11.11.2014 16:10:19

Hallo Zusammen!
Ich habe die folgende vereinfachte Tabelle

https://www.herber.de/bbs/user/93686.xlsx

Diese erzeuge ich aus einem anderen Tabellenblatt mittels Makro. Dabei errechne ich die Deltas indem ich das Anfangsdatum vom Enddatum abziehe.
Nun möchte ich die Summe dieser Deltas sowohl für Typ A als auch für Typ B berechnen.
Dabei muss ich jedoch beachten, falls es zu Zeitlichen Überscheidungen bei Typ A (Zeile 2 + 3) kommt, nur der höchste Wert genommen wird. Sprich bei gleichem Anfangsdatum nur das Delta zum größten Enddatum in der Aufsummierung verwendet wird.
Bei Typ B ist zu beachten, dass es bei Überschneidungen mit Typ A (Zeile 3 + 4) nur die Dauer zur Gesamtsumme gezählt wird, die nicht im Intervall des Typs A liegt. Das Bedeutet das die Dauer komplett in die Summe Typ A fließt, und die zusätzliche Dauer noch in die Summe des Typs B dazugezählt wird.

Also: Typ A : nur größtes Delta verwenden und nicht jedes Delta da es sonst bei der Summierung die Überschneidungen mehrfach summiert werden.
Typ B : das gleiche wie bei Typ A und zusätzlich noch die Bedingung das bei Überschneidung mit Typ A nur die zusätliche Zeit in die Summe mit einfließt.

Die Tabelle darf dabei an sich beliebig verändert werden.

Leider komme ich bei dieser Problematik nicht mehr weiter. Habe es bereits über Sortieren und Duplikate löschen versucht jedoch führt das nicht zum gewünschten Ergebniss. Ich hoffe jemand von euch könnte mir eventuell Helfen!

Viele Grüße

  

Betrifft: AW: VBA Datumsdifferenz mit Kriterien Summieren von: Daniel
Geschrieben am: 11.11.2014 18:04:29

Hi

entscheidend ist hier die Sortierung.
Wenn du mit Duplikate entfernen arbeiten willst, musst du so sortieren, das der Datensatz der stehen bleiben soll, obent steht.

dh wenn du die Tabelle so sortierst:
1. Anfang aufsteigend
2. Typ
3. Ende richtung: ABSTEIGEND
und dann die Duplikate mit den Kriterien "Typ" und "Anfang" entfernst, bleiben nur die Relevanten stehen und du kannst mit einfacher SummeWenn für den Typ Auswerten.

wenn du den Datensatz bestehen lassen willst, dann kannst du auch diese Matrixformel verwenden:

{=SUMME(WENN(B2:B7="A";WENN(B2:B7<>B3:B8;E2:E7;WENN(C2:C7<>C3:C8;E2:E7))))}

Eingabe ohne die {}, aber immer mit STRG+SHIFT+ENTER
aber auch sie funktioniert nur mit der richtigen Sortierung:

1. Anfang aufsteigend
2. Typ
3. Ende aufsteigend.

für unsortierte Daten könnte die Formel aufwendig und recheninstensiv werden.

gruß Daniel


  

Betrifft: AW: VBA Datumsdifferenz mit Kriterien Summieren von: Chris
Geschrieben am: 14.11.2014 12:44:59

Vielen Dank für die Antwort,

leider Funktionier diese Lösung bei mir nicht, da sich Teilweise Anfangs- und Enddatum unterscheiden können, der Zeitraum sich jedoch trotzdem überschneidet.
Gibt es denn eine andere Lösung für das Problem?
Ist es überhaupt möglich wenn Anfangs und Endwert in 2 Spalten stehen alle Überschneidungen aufsummiert zu erhalten? Finde dafür leider keine passende Lösung.
An sich benötige ich ja den Zeitraum (in Minuten, Stunden, Tagen) die für beispielsweise Typ A angegeben ist ohne dabei die Überschneidungen doppelt mit zu summieren.

Grüße Chris


 

Beiträge aus den Excel-Beispielen zum Thema "VBA Datumsdifferenz mit Kriterien Summieren"