
Dies ist eine sehr abgespeckte Version meines Projekts.
Ich habe eine Tabelle mit Daten, die ich aus täglichen Arbeitszeitnachweisen über PowerQuery berechnet habe. Diese stellt die Krankheitszeiten jedes Mitarbeiters in den letzten zwölf Monaten dar.
Ich führe eine Reihe weiterer Abfragen für diese Tabelle aus, die den Namen des Mitarbeiters, die Einrichtung, in der er arbeitet, und seine berechneteBradford-Ergebnis
Schließlich habe ich ein Blatt mit einer Formel, sodass ich nach Einrichtung filtern und an verschiedene Manager senden kann.
Die Spalten G:M
im Bild unten wären ein übergelaufener Bereich, obwohl in meinem Beispiel nur die erste Spalte überläuft.
Neben der obigen Tabelle möchte ich die Daten für jeden Abwesenheitszeitraum neben jedem Mitarbeiter hinzufügen. Die Idee dahinter ist, dass der Manager mich dann informieren kann, bestimmte Zeiträume aus der Bewertung zu entfernen, wenn die Angelegenheit bearbeitet wird.
Diese Formel erledigt das, aber ich müsste für jede Zeile in meinem übergelaufenen Bereich nach unten ziehen. Ich habe noch nicht entschieden, wie ich es präsentieren möchte, also gibt es zwei Rückgabewerte.
=LET(SickDates,TEXT(FILTER(FILTER(RollingSick,RollingSick[Emp No]=G2),{0,0,0,1,1}),"dd-mm-yy"),
JoinDates, INDEX(SickDates,,1) & " to " & INDEX(SickDates,,2),
Return1, TEXTJOIN(" | ",FALSE,JoinDates),
Return2, TRANSPOSE(JoinDates),
Return1)
Ich möchte, dass dies möglichst nach unten weitergegeben wird, aber ich komme nicht dahinter.
Einige meiner Versuche:
Gibt in jeder Zeile die gleichen Daten zurück.
=IF(G2#="","",
LET(SickDates,TEXT(FILTER(FILTER(RollingSick,RollingSick[Emp No]=G2),{0,0,0,1,1}),"dd-mm-yy"),
JoinDates, INDEX(SickDates,,1) & " to " & INDEX(SickDates,,2),
Return1, TEXTJOIN(" | ",FALSE,JoinDates),
Return2, TRANSPOSE(JoinDates),
Return1))
Gibt #N/A zurück
=LET(SickDates,TEXT(FILTER(FILTER(RollingSick,RollingSick[Emp No]=INDEX(G2#,SEQUENCE(COUNTA(G2#)))),{0,0,0,1,1}),"dd-mm-yy"),
JoinDates, INDEX(SickDates,,1) & " to " & INDEX(SickDates,,2),
Return1, TEXTJOIN(" | ",FALSE,JoinDates),
Return2, TRANSPOSE(JoinDates),
Return1)
Gibt nur die erste Zeile zurück:
=LET(SickDates,TEXT(FILTER(FILTER(RollingSick,RollingSick[Emp No]=INDEX(G2#,ROW()-ROW($G$1))),{0,0,0,1,1}),"dd-mm-yy"),
JoinDates, INDEX(SickDates,,1) & " to " & INDEX(SickDates,,2),
Return1, TEXTJOIN(" | ",FALSE,JoinDates),
Return2, TRANSPOSE(JoinDates),
Return1)