Clever-Excel-Forum

Normale Version: Formel gesucht !!Hilfe!!
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich suche eine Formel, die erkennt dass ein Mitarbeiter mehr als 7 Schichten hintereinander hat. Siehe Anhang!!!
Die Schichten sind  A=Früh B=Mittel  C=Spät. In Spalte P soll er mir den Mitarbeiter anzeigen der mehr als 7 Schichten hintereinander hat.
Hi,

mit einer UDF leicht machbar :)
ansonsten müsste das hier umgebaut werden
http://www.herber.de/excelformeln und bi...elcher=411

Anbei mit einer kleinen UDF.
Guten Morgen!
Mal ein ganz anderer Ansatz über bedingte Formatierung.
  1. Füge eine leere Spalte B ein und blende sie aus.
  2. Markiere C2:P7
  3. Start, bedingte Formatierung, neue Regel, Formel ist: =ANZAHL2(BEREICH.VERSCHIEBEN(D2;;-8;;8))=8
ACDEFGHIJKLMNOP
1Name 1234567891011121314
2Mitarbeiter AAABBCCCAAB
3Mitarbeiter BCCCAABBCCC
4Mitarbeiter CBBCCAACCCA
5Mitarbeiter DAABBBCCBBAAC
6Mitarbeiter EBBBBACCCCC
7Mitarbeiter FCBBCCAAAAA
Bedingte Formatierungen der Tabelle
ZelleNr.: / BedingungFormat
C21. / Formel ist =ANZAHL2(BEREICH.VERSCHIEBEN(D2;;-8;;8))=8Abc

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Nun wird Dir bereits beim Eintragen angezeigt, dass die Vorgabe verletzt ist.

Gruß Ralf
(29.09.2015, 03:23)chris-ka schrieb: [ -> ]Hi,

mit einer UDF leicht machbar :)
ansonsten müsste das hier umgebaut werden
http://www.herber.de/excelformeln und bi...elcher=411

Anbei mit einer kleinen UDF.

Super vielen vielen Dank Smile  hab aus Modul1 Code und die Formel in eine andere Excel Datei (Excel 2013) reinkopiert und mit Dateityp Excel Macro [b]Enabled Worksheet gespeichert und Voila es funktioniert Smile [/b]

Kannst du für Blonde Smile kurz erklären was das alles bedeutet:

Function LSerie(rng As Range) As Integer

For Each rng_cell In rng

    If rng_cell.Value <> "" Then

        int_sum = int_sum + 1

    Else

        LSerie = WorksheetFunction.Max(LSerie, int_sum)

        int_sum = 0

    End If

Next
End Function

(29.09.2015, 07:09)RPP63 schrieb: [ -> ]Guten Morgen!
Mal ein ganz anderer Ansatz über bedingte Formatierung.
  1. Füge eine leere Spalte B ein und blende sie aus.
  2. Markiere C2:P7
  3. Start, bedingte Formatierung, neue Regel, Formel ist: =ANZAHL2(BEREICH.VERSCHIEBEN(D2;;-8;;8))=8
ACDEFGHIJKLMNOP
1Name 1234567891011121314
2Mitarbeiter AAABBCCCAAB
3Mitarbeiter BCCCAABBCCC
4Mitarbeiter CBBCCAACCCA
5Mitarbeiter DAABBBCCBBAAC
6Mitarbeiter EBBBBACCCCC
7Mitarbeiter FCBBCCAAAAA
Bedingte Formatierungen der Tabelle
ZelleNr.: / BedingungFormat
C21. / Formel ist =ANZAHL2(BEREICH.VERSCHIEBEN(D2;;-8;;8))=8Abc

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Nun wird Dir bereits beim Eintragen angezeigt, dass die Vorgabe verletzt ist.

Gruß Ralf

Vielen Dank deine Variante hab ich für was anderes verwendet. Ihr seid die Besten Smile
(29.09.2015, 16:46)vanessamueller schrieb: [ -> ]Super vielen vielen Dank Smile  hab aus Modul1 Code und die Formel in eine andere Excel Datei (Excel 2013) reinkopiert und mit Dateityp Excel Macro [b]Enabled Worksheet gespeichert und Voila es funktioniert Smile [/b]

Kannst du für Blonde Smile kurz erklären was das alles bedeutet:
Hi,

Code:
Function LSerie(rng As Range) As Integer
Dim rng_cell As Range, int_sum As Integer
'jede Zelle im angegebenen Bereich wird durchlaufen
For Each rng_cell In rng
   'wenn etwas in der Zelle steht
   If rng_cell.Value <> "" Then
       'zähle jedes mal eins dazu
       int_sum = int_sum + 1
   Else
       'steht nichts in der Zelle
       'ermittle das maximum der jeweiligen Serien der gefüllten Zellen
       LSerie = WorksheetFunction.Max(LSerie, int_sum)
       'setze die Variable int_sum wieder auf Null
       int_sum = 0
   End If
Next
End Function

lg