Herbers Excel-Forum - das Archiv

Vergleich zweier Zeiträume(Stunden)

Bild

Betrifft: Vergleich zweier Zeiträume(Stunden)
von: Klaus M.

Geschrieben am: 02.01.2007 10:16:14
Hallo Forum,
ein frohes neues Jahr !
Ich stelle die Frage nicht in der Hoffnung, dass mir jemand die Arbeit
abnimmt,
das bekomme ich schon hin.
Nur manchmal sehe ich hier die tollsten Lösungen, die mit 2 Zeilen meine
eigenen 50 Zeilen Code ersetzen. Evtl. klappt es ja auch bei folgendem
Problem.
Ich muß 2 Zeiträume(Stunden) vergleichen. Der Vorgabezeitraum kann dabei
auch
über Mitternacht gehen.
Als Beispiel sei der Zeitraum A von 20 h bis 6 h gegeben.
Nun gibt es ja folgende Möglichkeiten für den Zeitraum B :
B beginnt und endet vollständig vor A, in A, nach A
B beginnt vor oder mit A, endet in A
B beginnt in A, endet mit oder hinter A
B beginnt vor A und endet hinter A
(etwas vergessen..? )
Da ich eine VBA-Lösung brauche um eine Function zu "bauen",
sehe ich schon 2 Seiten If - Verschachtelungen vor mir....
Sollte jemand zu diesem Thema eine kurze und knackige Lösung haben,
wäre ich sehr daran interessiert ;-)
Vielen Dank und Gruß
Klaus
Bild

Betrifft: AW: Vergleich zweier Zeiträume(Stunden)
von: Matthias G

Geschrieben am: 02.01.2007 10:25:30
Hallo Klaus,
eine Beispieldatei:
https://www.herber.de/bbs/user/39315.xls
Kern ist die Funktion ZeitIn(), die ich hier nochmal einstelle:
' Beginn, Ende: Zeitraum
' Z1, Z2: überschneidung mit diesem Zeitraum
Function ZeitIn(Beginn As Date, Ende As Date, Z1 As Date, Z2 As Date) As Date
' Über Nacht: Ende +24 Std.
If Z2 < Z1 Then Z2 = Z2 + 1
If Ende < Beginn Then Ende = Ende + 1
If Beginn <= Z1 Then
If Ende <= Z1 Then ZeitIn = 0
If Ende > Z1 And Ende <= Z2 Then ZeitIn = Ende - Z1
If Ende > Z2 Then ZeitIn = Z2 - Z1
ElseIf Beginn > Z1 And Beginn <= Z2 Then
If Ende <= Z2 Then ZeitIn = Ende - Beginn
If Ende > Z2 Then ZeitIn = Z2 - Beginn
ElseIf Beginn > Z2 Then
ZeitIn = 0
End If
End Function

Gruß Matthias
Bild

Betrifft: AW: Vergleich zweier Zeiträume(Stunden)
von: Klaus
Geschrieben am: 02.01.2007 10:45:28
Hallo Matthias,
gaaaanz klasse ;-)
Genau das gesuchte, herzlichen Dank dafür.
Bild

Betrifft: Problem (?)
von: Klaus

Geschrieben am: 03.01.2007 23:46:44
Hallo Matthias,
in der Hoffnung, dass Du in alten Beiträgen stöberst...
Wenn im Spätdienst der Zeitraum 0:00 bis 06:00 eingegeben wird, sollten
dann nicht in der Spalte F die 6 Stunden auftauchen ?
Wir rechnen tageweise ab, die zweite Nachtdiensthälfte geginnt halt um 0:0 Uhr;
als ergebnis werden keine Stunden ausgeworfen ( der Vorgabezeitraum ist 21 - 06 )
Alle anderen scheinen zu stimmen.
Hast Du eine Idee ?
Gruß, Klaus
Bild

Betrifft: AW: Problem (?)
von: Matthias G

Geschrieben am: 03.01.2007 23:54:29
Hallo Klaus,
du musst als Zeitraum 24:00 bis 6:00 eingeben:
Tabelle1
 ABCDEF
1Spätdienst  SoSaMo-So
2 Zeitraum0-24 Uhr12-24 Uhr20-6 Uhr
3 vonbis00:0012:0024:00
4   24:0024:0006:00
5Dienst:21:006:003:003:0006:00
Formeln der Tabelle
D5 : =zeitin(B5;C5;D3;D4)
E5 : =zeitin(B5;C5;E3;E4)
F5 : =zeitin(B5;C5;F3;F4)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Denn 0:00 bis 6:00 überschneidet sich nicht mit dem Zeitraum 21:00 bis 6:00.
(0-6 Uhr ist früh, 21-6 Uhr abends und nächster Tag)
Gruß Matthias
Bild

Betrifft: kein Problem
von: Klaus

Geschrieben am: 04.01.2007 17:04:05
Hallo Matthias,
natürlich hast Du recht und alles ist gut.
Offensichtlich hatte sich um die Uhrzeit und nach div. Stunden
am Rechner ein Teil des Kleinhirns schon zur Ruhe begeben ;-)
Nochmals Danke
Klaus
 Bild
Excel-Beispiele zum Thema "Vergleich zweier Zeiträume(Stunden)"
Zellen vergleichen und markieren Tabellen vergleichen
Tabellenvergleich und Übernahme der Doppel Spalten A und B vergleichen und Doppel in C listen
Werte vergleichen Bereiche auf Übereinstimmung vergleichen
Daten in jeweils einer Spalte zweier Tabellen vergleichen SVERWEIS, WVERWEIS, INDEX, VERGLEICH und Zielwertsuche
Werte vergleichen und Ergebnis in Tabelle eintragen Preisvergleiche