2017-02-03 3 views
-1

Ich muss eine Formel erstellen, die mir die längste Periode zeigt, die ein Mitarbeiter ohne Unterbrechung gearbeitet hat.Finden Sie die längste Periode ohne Lücken

erwartet outpud ist: - Agent1: - 21 Tage (10 verschiebt bei 8h Stunden, 5 Verschiebungen von BO (ilness); 6 Verschiebungen von VK (Wochenende)

ich brauche eine Formel oder VBA (i kippe verwenden manuelle Prüfung, weil es etwa 140 emplees ist, dass ich überprüfen soll :))

Example of table

+1

Wie sehen die Eingabedaten aus? Was hast du probiert? –

Antwort

0

VBA Lösung

Unter der Annahme, alles außer Werte ‚8‘, ‚BO‘ und ‚VK‘ sind eine Unterbrechung betrachtet, sollte dies die Gesamtzahl der Tage der längsten ununterbrochenen Arbeit bieten:

Option Explicit 

Function longestPeriod(rng As Range) As Integer 
    Dim k As Integer, cell As Range 
    k = 0 
    longestPeriod = 0 
    For Each cell In rng 
     If cell.Value = "8" Or cell.Value = "BO" Or cell.Value = "VK" Then 
      k = k + 1 
     Else 
      If k > longestPeriod Then 
       longestPeriod = k 
      k = 0 
      End If 
     End If 
    Next cell 
    If k > longestPeriod Then 
     longestPeriod = k 
    End If 
End Function 

Anwendungsbeispiel: = longestPeriod (B6: B500)

Verwandte Themen