Ich habe mich gerade abgemüht Excel beizubringen wie der monatliche Beschäftigungsgrad jedes Mitarbeiters berechnet werden soll. Ich habe folgende Ausgangdaten:
- pro Beschäftigungsdauer einen Eintrag pro Mitarbeiter mit zugehörigem Pensum. Also z.B.
Jetzt kann es allerdings sein, dass ein Mitarbeiter untermonatig beschäftigt wurde, und zwar mit jeweils verschiedenen Pensen, z.B. so:
Nun möchte ich als Output eine Excel-Tabelle erstellen, die den durchschnittlichen Beschäftigungsgrad jedes Mitarbeiters pro Monat wiedergibt:
Wobei in der zweitletzten Spalte die Anzahl beschäftigter 100%-Äquivalente an Tagen eingetragen werden. Nun stellt die Formel aber ein Problemchen dar, und zwar muss ich ja aus obiger Tabelle alle Einträge herausgreifen und die Beschäfitungszeit aufrechnen die für den jeweiligen Monat gilt (eben weil innerhalb eines Monats auch mehrere Beschäftigungszeiträume anfallen können).
Mit gebastel habe ich folgende Formel erstellt:
Am besten in der Originaltabelle anzugucken (angehängt).
Die Formel hat aber das Problem, dass nur immer der erste Eintrag für den spezifischen Nutzer herausgelesen wird, ich müsste die Formel
aber für jede Zeile wiederholen und das Ergebnis dann zusammenrechnen. Wie mache ich das?
- pro Beschäftigungsdauer einen Eintrag pro Mitarbeiter mit zugehörigem Pensum. Also z.B.
Max Mustermann | 01.01.2023 | 31.12.2023 | 100% |
Jetzt kann es allerdings sein, dass ein Mitarbeiter untermonatig beschäftigt wurde, und zwar mit jeweils verschiedenen Pensen, z.B. so:
Xi Jingping | 10.07.2023 | 23.07.2023 | 40% |
Xi Jingping | 24.07.2023 | 27.08.2023 | 100% |
Nun möchte ich als Output eine Excel-Tabelle erstellen, die den durchschnittlichen Beschäftigungsgrad jedes Mitarbeiters pro Monat wiedergibt:
Max Mustermann | Jan | 31.00 | 100.00% |
Wobei in der zweitletzten Spalte die Anzahl beschäftigter 100%-Äquivalente an Tagen eingetragen werden. Nun stellt die Formel aber ein Problemchen dar, und zwar muss ich ja aus obiger Tabelle alle Einträge herausgreifen und die Beschäfitungszeit aufrechnen die für den jeweiligen Monat gilt (eben weil innerhalb eines Monats auch mehrere Beschäftigungszeiträume anfallen können).
Mit gebastel habe ich folgende Formel erstellt:
Code:
=LET(nameFiltered;FILTER(Arbeitsdaten[[Start]:[Pensum]];Arbeitsdaten[Name]=[@Mitarbeiter]);LET(row;INDEX(nameFiltered;1;0);MAX(MIN(INDEX(row;0;2);MONATSENDE([@Monat];0))-MAX(INDEX(row;0;1);[@Monat])+1;0)*INDEX(row;0;3)))
Am besten in der Originaltabelle anzugucken (angehängt).
Die Formel hat aber das Problem, dass nur immer der erste Eintrag für den spezifischen Nutzer herausgelesen wird, ich müsste die Formel
Code:
MAX(MIN(INDEX(row;0;2);MONATSENDE([@Monat];0))-MAX(INDEX(row;0;1);[@Monat])+1;0)*INDEX(row;0;3))
aber für jede Zeile wiederholen und das Ergebnis dann zusammenrechnen. Wie mache ich das?