Anzeige
Archiv - Navigation
1964to1968
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Summeprodukt mit mehreren Bedingen inkl. eines Teilstrings

Summeprodukt mit mehreren Bedingen inkl. eines Teilstrings
29.02.2024 16:43:41
Jan
Hallo zusammen,

ich verzweifle seit Tagen an einem Problem mit einem Summenprodukt.

Ich versuche, Schichtzuschläge an Sonn- und Feiertagen zu berechnen, die Basis ist zum einen ein Schichtplan, zum anderen die Eckdaten der Mitarbeiter (Start und Ende Beschäftigung, Bundesland, Tagessatz) und zum dritten die Höhe der Schichtzuschläge in Prozent.

Durch die Beschäftigung in verschiedenen Bundesländern sind die Feiertage und damit die Zuschläge abhängig vom jew. Bundesland.

Hier die Beispieldatei: https://www.herber.de/bbs/user/167425.xlsx
(der Einfachheit halber in einem Reiter, sonst sind die drei Module in verschiedenen Reitern)

Was bisher klappt:

- Abfrage, ob Mitarbeiter in dem Monat angestellt war
- Abfrage, ob er an einem Sonntag gearbeitet hat
- Berechnung des Zuschlags auf Basis der Anzahl der Sonntagsschichten und des Tagessatzes und des Prozentsatzes des Zuschlags

Was nicht klappt:

- Wenn an einem Feiertag im jeweiligen Bundestag gearbeitet wird, den Zuschlag auf Basis analog zu oben berechnen
- Wenn ein Sonntag, an dem gearbeiotet wird, im jeweiligen Bundesland gleichzeitig ein Feiertag ist, den Feiertagszuschlag statt dem Sonntagzuschlag ansetzen

Problem ist, dass das jeweilige Bundesland immer Teil eines Strings ist, der sich (in einem weiteren Reiter) zusammensetzt aus einer Tabelle, die zu jedem Datum eine Liste an Bundesländern ausgibt, in denen das Datum ein gesetzlicher Feiertag ist.

Ich habe experimentiert mit ISTZAHl/FINDEN/SUCHEN/NICHT, aber bisher alles ohne Erfolg.

Vielen Dank im Voraus für die Unterstützung!

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Summeprodukt mit mehreren Bedingen inkl. eines Teilstrings
29.02.2024 16:59:54
Onur
Ich sehe da weder irgend welche Feiertage noch Bundesländer.
"Problem ist, dass das jeweilige Bundesland immer Teil eines Strings ist, der sich (in einem weiteren Reiter) zusammensetzt aus einer Tabelle, die zu jedem Datum eine Liste an Bundesländern ausgibt, in denen das Datum ein gesetzlicher Feiertag ist. " Was für ein anderer "Reiter" ? Das ist nur ein einziges Tabellenblatt !
AW: Summeprodukt mit mehreren Bedingen inkl. eines Teilstrings
29.02.2024 17:13:10
Jan
Ah, sorry, das ist verwirrend.

Mitarbeiter Paul arbeiten in Bayern, Kürzel des Bundeslandes ist DE-BY (Zelle I4)
Mitarbeiter Marie arbeitet in Schleswig-Holstein, Kürzel des Bundeslanes ist DE-SH (Zelle J4)
In Spalte B habe ich die Info, in welchem Bundesland der Tag Feiertag ist, also z.B. der 22.2. ist in DE-BY Feiertag, der 28.2. in DE-BY/DE-SH.

Meine Idee war also, dem Summenprodukt für Sonntage noch ein

*(NICHT(B2:B33="*"&I4&"*"))

zu spendieren und dem Summenprodukt für Feiertage eben ein:

*(B2:B33="*"&I4&"*"))

Aber das klappt nicht
Anzeige
AW: Summeprodukt mit mehreren Bedingen inkl. eines Teilstrings
29.02.2024 17:17:29
Onur
Poste bitte eine RICHTIGE Datei - oder glaubst du, ICH baue das da ein ?
AW: Summeprodukt mit mehreren Bedingen inkl. eines Teilstrings
01.03.2024 10:08:39
Jan
Hallo Onur,

hier die überarbeitete Datei:

https://www.herber.de/bbs/user/167443.xlsx

1. Reiter: Schichtplan
2. Reiter: Mitarbeiterdaten
3. Reiter: Feiertagszuschläge

Die beiden ROT markierten Zellen sind meine Versuche, alle Informationen in das Summenprodukt zu integrieren, aber entweder es kommt zum Überlauf (bei der Variante mit NICHT) oder wird einfach nicht erfasst.

VG Jan
AW: Summeprodukt mit mehreren Bedingen inkl. eines Teilstrings
04.03.2024 08:27:25
Jan
Hi,

wäre super, wenn mir hier jemand helfen könnte.
Es kann ja nicht so schwierig sein, vermutlich denke ich nur zu kompliziert.

Danke im Voraus!

Jan
Anzeige
AW: zuvor wäre dazu aber folgendes zu klären ...
04.03.2024 10:26:23
neopa C
Hallo Jan,

... der von Dir ermittelte Wert in B9 ist doch wertmäßig korrekt, dagegen aber nicht der Wert z.B. in B15.
Außerdem soll doch sicherlich an einem Tag, wo ein Schichtzuordnung gegeben ist und der gleichzeitig Sonntag wie Feiertag ist, nicht 150% Zuschlag gegeben werden sondern nur 100%? Oder?

Gruß Werner
.. , - ...
AW: zuvor wäre dazu aber folgendes zu klären ...
04.03.2024 12:18:13
Jan
Hallo Werner,

danke für die Antwort.

Nein, es klappt nicht wirklich.

Also ja, 140 Euro Zuschlag für einen gearbeiteten Sonntag im Februar ist richtig. Aber wenn der Tag gleichzeitig ein Feiertag wäre, wäre der SONNTAGszuschlag ja 0.
Simulieren kann ich das, indem ich in B3 im "Dienstplan"-Reiter "Bayern" schreibe, dann sollte B9 im "Mitarbeiter"-Reiter ja erkennen, dass ein Feiertag vorliegt und deswegen kein Sonntagszuschlag fällig wird, dafür aber ein Feiertagszuschlag.

Und genau, das Ergebnis in B15 ist null, solange kein Feiertag gearbeitet wird, wäre aber 280 Euro (100 %, nicht addiert 150%), wenn an einem Feiertag gearbeitet wird. Auch das klappt leider nicht, weil er die Feiertage nicht erkennt.

Ich glaube, generell liegt es daran, dass ich nicht einfach nach "Bayern" suchen kann, sondern nach "Bayern" als Teilstring von z.B. "Bayern/Schleswig-Holstein/etc." suchen muss. Und diese Teilstring-Suche, wie ich sie nutze mit "*"&[Feld in dem Mitarbeiter-Bundesland steht]&"*", einfach kein brauchbares Ergebnis liefert.

VG Jan
Anzeige
AW: dann ...
04.03.2024 13:50:55
neopa C
Hallo Jan,

... zunächst unter der Voraussetzung das in Zeile 2 immer der 1. eines Monats angegeben ist ist und in Zeile 3 der letzte eines Monats (ansonsten verlängert sich die Formel) folgende Formel in B8:

=WENN(ISTZAHL(A8);SUMMENPRODUKT((TEXT(Dienstplan!$C$2:$C$99;"TTT.M")="So."&TEXT($A8;"M"))*ISTFEHL(FINDEN(B$4;Dienstplan!$B$2:$B$99))*($A8>=B$2)*(MONATSENDE($A8;0)=B$3)*(LINKS(Dienstplan!D$2:D$99;1)="S"))*Zuschläge!$B$2*B$5;"")



Und in B14:

=WENN(ISTZAHL(A14);SUMMENPRODUKT((TEXT(Dienstplan!$C$2:$C$99;"M")=TEXT($A8;"M"))*ISTZAHL(FINDEN(B$4;Dienstplan!$B$2:$B$99))*($A14>=B$2)*(MONATSENDE($A14;0)=B$3)*(LINKS(Dienstplan!D$2:D$99;1)="S"))*Zuschläge!$B$3*B$5;"")

Beide Formeln nach unten und rechts ziehend kopieren.

Gruß Werner
.. , - ...
Anzeige
AW: dann ...
04.03.2024 16:06:26
Jan
Hallo Werner,

super, vielen Dank. Das scheint zu klappen, auch wenn ich erst verstehen muss, wie. ;-)
Allerdings kann natürlich ein Mitarbeiter auch zum 15.3. starten, eher unüblich, aber es kommt (leider) vor.

VG Jan
AW: nachgefragt ...
04.03.2024 17:09:42
neopa C
Hallo Jan,

... ich sehe gerade, das in Deiner Beispieldatei in C3 das Ende nicht der letzte eines Monats ist bzw. sein kann?
Dann müßte das ja auch noch berücksichtigt werden. Oder?

Gruß Werner
.. , - ...
AW: nachgefragt ...
04.03.2024 17:26:21
Jan
Hallo Werner,

auch wieder selten, aber leider ja. :(

Vg Jan
AW: dann Erweiterung mit kombinierten MIN(), MAX() ...
04.03.2024 19:40:26
neopa C
Hallo Jan,

... sollte das angestrebte ermitteln. Doch teste selbst nochmal.
in B8:
=WENN(ISTZAHL($A8);SUMMENPRODUKT((TEXT(Dienstplan!$C$2:$C$99;"TTT.M")="So."&TEXT($A8;"M"))*(Dienstplan!$C$2:$C$99>=MIN(MAX($A8;B$2);MONATSENDE($A8;0)+1))*(Dienstplan!$C$2:$C$99=MIN(MONATSENDE($A8;0);MAX(B$3;$A8-1)))*(LINKS(Dienstplan!D$2:D$99;1)="S"))*Zuschläge!$B$2*B$5;"")

und in B14:
=WENN(ISTZAHL(A14);SUMMENPRODUKT((TEXT(Dienstplan!$C$2:$C$99;"M")=TEXT($A8;"M"))*ISTZAHL(FINDEN(B$4;Dienstplan!$B$2:$B$99))*(Dienstplan!$C$2:$C$99>=MIN(MAX($A14;B$2);MONATSENDE($A14;0)+1))*(Dienstplan!$C$2:$C$99=MIN(MONATSENDE($A14;0);MAX(B$3;$A14-1)))*(LINKS(Dienstplan!D$2:D$99;1)="S"))*Zuschläge!$B$3*B$5;"")

beide Formeln nach rechts und unten ziehend kopierbar.

Gruß Werner
.. , - ...
Anzeige
AW: dann Erweiterung mit kombinierten MIN(), MAX() ...
05.03.2024 08:08:05
Jan
Hallo Werner,

vielen Dank hierfür. Soweit ich das durchdringe, ersetzt Deine Min/Max-Kombination mein bisheriges WENN >= oder WENN =, und die ISTZAHL(FINDEN) mein bisheriges Suchen nach dem Teilstring mit "*"&, was ja leider nicht funktioniert hat bei mir. Es klappt also viel besser!

Aber wenn ich nicht ganz schief gewickelt bin, prüft er jetzt bei der Sonntags-Formel in B9 nicht, ob es nicht doch auch ein Feiertag ist, korrekt? Aktuell scheint er dann sowohl Sonn- als auch Feiertagszuschlag zu berechnen, die Idee war ja, dass der Feiertag den Sonntag sticht. ;-)

Deswegen hatte ich ja anfangs vermutet, dass sich die Formeln nur um ein (NICHT) unterscheiden müssten. Aber das klappt ja jetzt nicht mehr, wenn ich mit ISTZAHL arbeite, oder?

VG Jan
Anzeige
AW: dann Erweiterung mit kombinierten MIN(), MAX() ...
05.03.2024 08:24:10
Jan
P.S.

Das (LINKS(Dienstplan!D$2:D$99;1)="S")) sucht nach allen Feldern in denen Schicht A, B, C etc. steht, korrekt?

Ursprünglich hatte ich es mal gedanklich umgedreht und gesagt:

(NICHT(Dienstplan!D$2:D$33=""))*(NICHT(Dienstplan!D$2:D$33="x")

Dadurch bin ich ja viel flexibler bei den Schichtnahmen. Aber das funktioniert leider in Kombination mit Deiner Min/Max nicht mehr, zumindest bei mir nicht. :-(
AW: die Funktion NICHT() ist äußert selten notwendig ...
07.03.2024 09:11:47
neopa C
Hallo Jan,

... ich hab diese in meinen bisherigen Formeln meiner Erinnerung nach bisher nur einmal wirklich angewendet. Aber mE ist sie überflüssig.
So könnte z.B Dein Formelkonstrukt: "(NICHT(Dienstplan!D$2:D$33=""))*(NICHT(Dienstplan!D$2:D$33="x") auch durch:
(Dienstplan!D$2:D$33>"")*(Dienstplan!D$2:D$33>"x") ersetzt werden.

Gruß Werner
.. , - ...
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige