Registriert seit: 02.12.2017
Version(en): Office 365
Hallo
Ich bräuchte mal bitte wieder eure Hilfe!......
Ich mache neuerdings in meinem Bereich unsere Personalplanung mit! Die Planung ist dreischichtig (regulär 5Tage mit Mehrarbeit 6Tage) im 7 Tage betrieb. Nun bräuchte ich eine Formel, die prüft ob die Ruhezeiten zwischen den Schichtwechsel vorhanden sind. Ich komme leider nicht weiter...
Im Anhang habe ich die Bsp. Datei!
Vielen Dank im voraus!
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
würde es da nicht reichen, wenn Du z.B. mit ZÄHLENWENN prüfst, ob in der Folgespalte in der Folgeschicht der Name auftaucht? Da nimmst Du eine bedingte Formatierung und färbst den entsprechenden Namen.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 02.12.2017
Version(en): Office 365
Ich kann dir nicht folgen... Könntest du mir ein Beispiel machen bitte?
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
Arbeitsblatt mit dem Namen 'Tabelle1' |
| A | B | C | D |
1 | Früh | | | A |
2 | | | | B |
3 | Spät | A | | |
4 | | B | B | |
Zelle | bedingte Formatierung... | Format |
B3 | 1: ZÄHLENWENN(C$1:C$2;B3) | abc |
C3 | 1: ZÄHLENWENN(D$1:D$2;C3) | abc |
D3 | 1: ZÄHLENWENN(E$1:E$2;D3) | abc |
B4 | 1: ZÄHLENWENN(C$1:C$2;B4) | abc |
C4 | 1: ZÄHLENWENN(D$1:D$2;C4) | abc |
D4 | 1: ZÄHLENWENN(E$1:E$2;D4) | abc |
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016 |
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 02.12.2017
Version(en): Office 365
Ich glaube das wird ein Problem, da der Plan fortlaufend ist und der Name nicht nur einmal bis 6 Zellen lang in der Zeile vor kommt, sondern immer wieder..
Registriert seit: 12.03.2016
Version(en): Excel 2003
Hallo Frogger
liege ich mit meiner VBA Version richtig? Das Makro prüft on in einer Spalte der Name 2mal vorkommt.
Dann wird der Name lin der Doppelschicht Prüfzeile notiert. Ich hoffe mein Lösungsansatz ist richtig ....
Ich prüfe aber nicht jede einzelne Zeile, ob der Name mehr als 6 mal vorkommt.
mfg Gast 123
Code:
Option Explicit '21.10.2018 für Clever Forum
Const Grün = 43 '(Index)
Sub Doppelschicht_Prüfung()
Dim i As Integer, j As Integer
Dim n As Integer, Sum As Integer
Dim lsp As Integer, lze As Integer
Dim spa As Integer, Txt As String
'LastZell + LastSpalte ermitteln
lze = Cells(200, 1).End(xlUp).Row
lsp = Cells(2, 370).End(xlToLeft).Column
'Doppelschicht Zeile löschen
Cells(lze, 2).Resize(1, lsp).ClearContents
'Schleife für alle Spalten auswerten
For spa = 2 To lsp
'Doppel-Schleife für alle Zeilen auswerten
For i = 5 To lze - 1: n = 0
If Cells(i, spa).Interior.ColorIndex = Grün Then
ElseIf Cells(i, spa).Value <> Empty Then
'Prüfen ob Name in Spalte doppelt vorkommt
For j = i + 1 To lze - 1
If Cells(i, spa) = Cells(j, spa) Then n = n + 1
Next j
'ggf. Name in Prüfzeile auflisten
Txt = Cells(lze, spa): Sum = Sum + n
If Txt <> "" Then Txt = Txt & ", "
If n > 0 Then Cells(lze, spa) = Txt & Cells(i, spa)
End If
Next i
Next spa
If Sum > 0 Then MsgBox Sum & " mal - doppelte Schichten"
If Sum = 0 Then MsgBox "Doppelschicht Prüfung - Okay!"
End Sub
Registriert seit: 02.12.2017
Version(en): Office 365
Hallo Gast 123 danke für dein Beispiel, allerdings prüfe ich das bereits in der unteren Zeile mit einer Formel... ich bräuchte eben eine Lösung die Prüft ob nach 6 Tagen mindestens 1 Tag Pause dazwischen ist und das dann auch über alle 3 Schichten...
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
21.10.2018, 07:57
(Dieser Beitrag wurde zuletzt bearbeitet: 21.10.2018, 07:57 von schauan.)
Hallöchen,
hast Du es schon mal über mehr Spalten probiert?
Markiere B3 bis XFC4, trage dann die ZÄHLENWENN-Formel ein und prüfe, ab welcher Spalte es ein Problem gibt. Die schau ich mir dann genauer an. XFD4 brauchst Du nicht zu nehmen, danach kommt ja keine Spalte mehr
übrigens, das
ich bräuchte eben eine Lösung die Prüft ob nach 6 Tagen mindestens 1 Tag Pause dazwischen iststand nicht in der ursprünglichen Aufgabenstellung, sondern
Ruhezeiten zwischen den Schichtwechsel Das kann man auch anders auslegen … Man kann nicht an einem Tag Spätschicht machen und am nächsten Frühschicht, weil die dazwischen liegenden 8 Stunden auch nicht reichen.
Meine Lösung würde die 6 Tage indirekt berücksichtigen wenn ohne freien Tag die Schicht nach 7 Tagen auch wirklich gewechselt wird. Aber:
Wenn jemand 14 Tage hintereinander z.B. wegen Schichttausch die gleiche Schicht macht, würde das damit nicht auffallen.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 02.12.2017
Version(en): Office 365
soweit habe ich das schon...
Arbeitsblatt mit dem Namen 'Tabelle1 (2)' |
| A | B |
3 | Früh | Montag |
4 | | |
5 | OK | Klaus |
Zelle | Formel |
B3 | =B2 |
A5 | =WENN(AGGREGAT(14;6;ZÄHLENWENNS(B5:OK5;B5:OK5;B5:OK5;"<>""");1)>6;"Ruhezeit überschritten!";"OK") |
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016 |
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |
Allerdings fehlt mir die Möglichkeit beim Schichtwechsel.. D.h. ob dann eine Zelle Frei ist dazwischen...
Registriert seit: 02.12.2017
Version(en): Office 365
21.10.2018, 08:31
(Dieser Beitrag wurde zuletzt bearbeitet: 21.10.2018, 08:31 von Frogger1986.)
Tut mir leid schauan, wenn ich es etwas ungenau formuliert habe! Ich tue mir selber noch etwas schwer, mich darin zurecht zu finden! Deswegen auch die Unterstützung durch Excel..
zudem hast du mein letztes Problem auch noch erkannt:
Zitat:Schauan:
Man kann nicht an einem Tag Spätschicht machen und am nächsten Frühschicht, weil die dazwischen liegenden 8 Stunden auch nicht reichen.
Nur der Wechsel von Früh zur Nachtschicht (am Folgetag) ist Zeitlich noch möglich...
zudem sehe ich das Problem, dass die Namen in den Bereichen wahllos verschoben werden, d.h. die Bedingte Formatierung sieht danach wie ein Schweizer Käse aus.....