Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Überprüfen ob es eine zeitliche Überschneidung gibt mit mehreren Bedingungen
#1
Hallo liebes Forum,

ich arbeite nun schon seit geraumer Zeit an meinem Problem und komme keinen Schritt voran.
Die angehangene Excel Datei spiegelt die Daten wider mit denen ich arbeiten möchte.
Diese besteht aus 6 Spalten: Maschinennummer, Status der Maschine, Start Tag und Start Zeit des Status und Tag Ende sowie Zeit Ende des Status. Hierbei gibt es Überschneidungen der jeweiligen Maschinen mit ihrem Status. Ich möchte eine Formel oder ein Makro schreiben, das mir die zeitliche Überschneidung berechnet, wenn Maschine 1,2 und 3 den selben Status zur selben Zeit am selben Datum haben. Ab dem Zeitpunkt wo eine Maschine ihrem Status wieder ändert, benötige ich keine Überschneidung mehr. Es geht wirklich nur um die Überschneidung wenn alle drei Maschinen die genannten Bedingungen erfüllen. Die originale Excel Datei ist erheblich größer als die Test Datei, dabei kann es auch vorkommen, dass die Maschinen nicht zwingend direkt untereinander stehen sondern auch mehrere andere Maschinen mit unterschiedlichem Status dazwischen liegen und dann erst die dritte Maschine kommt die den selben Status zur selben Zeit hat wie bereits zwei andere Maschinen weiter oben in der Tabelle.
In der Excel Datei müssten entsprechend für die Zeilen 6 bis 8 und 9-11 Zeiten berechnet werden, da hier Maschine 1,2,3 den selben Status zum selben Datum und Uhrzeit haben. 

Ich hoffe ich habe mein Problem verständlich erklärt und jemand hat zumindest einen Vorschlag wie man das ganze lösen könnte. Ich wünsche allen ein frohes schwitzen und trotzdem einen schönen Tag Blush


Angehängte Dateien
.xlsx   Test_sheet.xlsx (Größe: 9,17 KB / Downloads: 6)
Antworten Top
#2
Hallo,

bevor die Formelspezialisten kommen:

(ohne die Zeiten)

in G2 und nach untenziehen:

Code:
=SUMMENPRODUKT((B2=B1:B11)*(C2>=C1:C11)*(E2<=E1:E11))>1

mfg
Antworten Top
#3
Hallo B...,

zum Verständnis noch einige Fragen:

1. Hatte Einstein doch nicht recht?
Oder wie kann es sein, dass in deinem Beispiel der Start in vier Zeilen nach dem Ende ist?

2. Sind in der Liste mehr als drei verschiedene Maschinen und wenn ja, wir willst du die gesuchten Maschinen-ID vorgeben?

3. Kann ein Programm davon ausgehen, dass  die Liste wie im Beispiel nach Starttag + -uhrzeit sortiert ist?

4. Warum hast du Tag und Uhrzeit in verschiedenen Spalten?


ps. noch eine wichtige Frage: 5. Kann es sein, dass eine Maschine zu einem Zeitpunkt zwei verschiedene Stati hat?
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • Blytom
Antworten Top
#4
Hallo,

1. Die Daten sind lediglich ein Auszug, bzw. abgewandelt. Im original gibt es keine zeitlichen Lücken. 

2. Nein, es sind auch in der original Datei lediglich 3 unterschiedliche Maschinen die auch dort mit 1,2 und 3 gekennzeichnet sind.

3. Genau, davon kann ausgegangen werden. Im Hintergrund laufen eigentlich Unix Zeitstempel, welche aber in Datum und Uhrzeit umgerechnet werden.

4. Diese Aufteilung war für mich und die bessere Übersicht. Wenn Datum und Uhrzeit in einer Zelle einfacher bzw. besser ist, ist es auch kein Problem.

5. Nein das kann nicht passieren.

Mit freundlichen Grüßen
Antworten Top
#5
Hall B...,

in der Anlage einmal ein Programm und hier noch einige Bemerkungen

1. Anzahl der Maschinen
Sorry, als ich deine Antwort  zu 3  gelesen hatte, hatte ich schon begonnen das Programm zu schreiben.
In dieser Version des Programmes müssen die zu prüfenden Maschinen vorgegeben werden. Das ist einmalig ein wenig aufwendiger aber vielleicht in Zukunft ein wenig flexibler. Du kannst zB auch die Gleichzeitigkeit von zwei Maschinen prüfen oder, wenn es mehr Maschinen (n) geben sollte, auch die Gleichzeitigkeit von 2 bis n vorzugebenen Maschinen.

2. benannte Zellen und CurrentRegion
Da ich ungern in Programmen mit festen Adressen arbeite benötigt das Programm zur Zeit drei benannte Zellen ("Liste", "Maschinen" und "Ausgabe").
Ausserdem greife ich auf die Namen mit "CurrentRegion" zu. Das bedeutet, dass in den Zellen direkt neben, über oder unter den Listen keine Einträge sein dürfen. Insbesonder wichtig für die Ausgabe, da hier der gesamte Bereich gelöscht wird.

3. Daten
In deinen Testdaten waren in manchen Zellen sowohl Tageswerte als auch Uhrzeiten, das darf nicht mehr vorkommen.


Angehängte Dateien
.xlsm   Test_sheet.xlsm (Größe: 25,11 KB / Downloads: 5)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#6
Guten Abend,

vielen Dank! Ich bin begeistert. Ich schaue mir das ganze morgen im Detail an, auf dem ersten Blick sieht es aber sehr gut aus.

Wünsche dir ein schönes Wochenende und nochmals vielen Dank!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste