[Excel] Stundenabrechnung verschiedene Werte gruppieren (Excel 365)

tombe

Erfahrenes Mitglied
Hallo zusammen,

ich bin gerade dabei, in Excel eine Stundenabrechnung für unsere Werkstatt zu erstellen und stehe nun vor einem für mich unlösbaren Problem.

Folgende Situation ist gegeben:
  • Es gibt für jeden Mitarbeiter ein Arbeitsblatt, in welchem neben den persönlichen Daten (Mitarbeiternr. Name, ...) auch die Arbeitsdaten (Datum, Anzahl Stunden und Arbeitstyp [1]) erfasst werden.
  • Es gibt ein Arbeitsblatt, in welchem die Arbeitstypen [1] zusammen mit einem Kennzeichen [2] zur Gruppierung aufgeführt sind.
  • Es gibt ein Arbeitsblatt in welchem dann die Berechnung pro Monat durchgeführt wird.

Mein Problem ist nun die Gruppierung der verschiedenen Arbeitstypen, denn die Arbeitstypen welche das gleiche Kennzeichen haben, sollen in der Abrechnung zusammengeführt werden, hier im Beispiel:

Tabelle 1
A​
B​
1Arbeitstyp [1]Kennzeichen [2]
2URLAUBUR
3KRANKKR
4ZEITKONTOZK
5UDST
6ODSTO
7INT UDST
8INT ODSTO
9WSTST
10INT WSTST

Die beim Arbeiter hinterlegten Stunden sehen so aus:

Tabelle 2​
A​
B​
C​
1DatumAnzahl StundenArbeitstyp [1]
201.02.20228UR
302.02.20224UD
402.02.20222OD
502.02.20223WST
603.02.20226OD
704.02.20223INT OD
804.02.20224OD

Das Arbeitsblatt wo berechnet wird sieht vereinfacht so aus:

Tabelle 3​
A​
B​
C​
D​
E​
F​
1Datum
ST [2]​
STO [2]​
KR [2]​
UR [2]​
ZK [2]​
201.02.2022
Formel
8
302.02.202272
403.02.20226
504.02.20227

Am 02.02. werden also die in der Zeittabelle erfassten 4 Stunden "UD" und 3 Stunden "WST" zusammengezählt, die 2 Stunden "OD" werden separat ausgewiesen.

Theoretisch könnte ich die Zusammenzählung mit Hilfe von SUMMEWENNS oder SUMMENPRODUKT lösen, da ich aber den Arbeitstyp erst in das Kennzeichen umschlüsseln muss, hat bisher nichts geklappt was ich versucht habe. Deshalb löse ich das Problem zur Zeit mit einer Hilfsspalte, welche per VBA die korrekten Werte einträgt, was aber wegfallen soll.

Meine bisherigen Versuche waren z.B.

Code:
SUMMENPRODUKT([Tabelle 2]!B:B; A:A=$A2; C:C=SVERWEIS($B$1; [Tabelle1]!$A$2:$B$10; 2; FALSCH))

oder

Code:
SUMMEWENNS([Tabelle 2]!B:B;[Tabelle 2]!A:A;$L2;[Tabelle 2]!C:C;SVERWEIS($B$1;[Tabelle 1]!$A$2:BI$10; 2; FALSCH))

Irgendwie wird hierbei aber immer der SVERWEIS nicht oder nicht richtig ausgewertet.

Dann hatte ich noch die Idee, ich könnte den Feldern für die Kennzeichen einen Namen (hier werden mögliche Leerzeichen durch einen Unterstrich ersetzt, z.B. INT_UD) geben und es dann so auswerten:

Code:
SUMMENPRODUKT([Tabelle 2]!B:B; A:A=$A2; C:C=WENN(INDIREKT(WECHSELN(C:C;" ";"_");FALSCH)=$B$1; 1; 0))

aber auch das klappt nicht.

Die Formeln um den jeweiligen Arbeitstyp zu erweitern geht nicht, da es hier neue geben kann. Auch kann ich die Gruppierung nicht fest hinterlegen, da sich auch da mal was ändern kann.

Ich hoffe, ich konnte das Problem zumindest halbwegs verständlich erklären, damit ihr mir damit weiterhelfen könnt.

Vielen Dank schonmal fürs Lesen!
 
Ich empfehle PowerQuery von Excel zu verwenden. Oder die Arbeitstabelle um eine versteckte Spalte zu erweitern, in der du die Zeilen mit einem lookup um das Kennzeichen erweiterst.
Als Endtablle rate ich dir von Formeln ab. Verwende dazu die Pivot-Funktion.
 
Auf den ersten Blick sollte das mit Summenprodukt gehen, müsste mich aber selbst wieder reinarbeiten.
Worauf es hinauslauft ist, dass du einen Vergleich machen musst, welcher Wahr/Falsch (bzw. 1/0) zurückgibt und dieses Ergebnis mit deinem Wert multiplizierst, und dann am Ende aufsummierst.
In deinem Beispiel: 1 x 4 + 0 x 2 + 1 x 3 = 7
 
Hallo ihr beiden,

zunächst mal danke für eure Antworten.

Das es mit SUMMENPRODUKT gehen müsste hatte ich auch gehofft, nur ist bei mir wohl ein Fehler drinnen den ich nicht finde.

Was ich mir auf jeden Fall mal genauer anschaue ist PowerQuery.

Wer sonst noch eine Idee hat, gerne her damit.
 

Neue Beiträge

Zurück