Nachtarbeit auftrennen
#11
ehrlich gesagt, übersteigt das für mich jetzt den Umfang der kostenlosen Nachbarschaftshilfe, die ich bereit bin, in so einem Forum zu leisten.
Antworten Top
#12
(12.09.2025, 10:53)xpsst schrieb: Das klappt wunderbar, nun gab es n Update der Grundlegendatei und ich fang nochmal von Vorne an. Hatte nun die Idee ich könnte die Daten aus dem Dienstplanprogamm gleich gesammelt exportieren und dann jeweils in der Tabelle Filtern und nur die benötigten Zeiten weiterverarbeiten.

Habe einiges an Beispieldaten eingepflegt und bereits das zum Bearbeiten vorbereitet
Ganz ehrlich: Das ist alles Quark mit Soße.

Und mit einer Formellösung wird das nie was, bzw. sobald sich das nur ein bisschen irgendwo was ändert fällst Du wieder auf die Nase.

1. Wenn die Daten irgendwo exportiert werden, dann stell uns diese Datendatei zur Verfügung und zwar so wie sie ist.
Die Idee "ich mach schon mal was damit das leichter wird" ist eine dumme Idee.

2. Die Aufgabe war "wenn die Zeit über Nacht geht, dann soll das in eine neue Zeile".
Auch diese Idee ist ... mangels des Wissens der Möglichkeiten wie man Daten verarbeiten kann ... gerechtfertigt.

Es ist schon verständlich das man eine Idee die man hat gerne weiter entwickeln möchte und sich nur sehr ungern davon überzeugen lassen will das man auf dem Holzweg ist.

Also: Zeig mal den Export so wie er ist. Und dann öffnest Du die Datendatei einfach in Excel und zeig uns was da am Ende rauskommen soll, ohne wildes Formelgedöns, einfach "von Hand" ausrechnen ala 
=("24:00"-"20:00")*3 +( "4:40"-"0:00")*5
Oder irgendwas ähnliches, nur damit wir sehen können was es werden soll.

Schreib irgendwo hin welche Zulagen es von wann bis wann und für wen geben soll. Und dann schauen wir mal.

Andreas.
Antworten Top
#13
Hallo,

ich habe deine Datei aus Posting #10 genommen und habe dir im neuen Arbeitsblatt "Bearbeitung_Neu" in Zelle C2 (mit Resultatbereich C2:H49) folgende Formel eingefügt:
PHP-Code:
=LET(
    ImportBereichImport!$A$1:$W$212;
    mSPALTENWAHL(ImportBereichSPALTE($A$1); SPALTE($B$1); SPALTE($N$1); SPALTE($O$1); SPALTE($T$1));
    rmFILTER(mSPALTENWAHL(m; -1) = "Regeldienst");
    REDUCE(
        {"VNr.""Name""Amtsbezeichnung""Datum""Beginn""Ende"};
        SEQUENZ(ZEILEN(rm));
        LAMBDA(Akki;
            LET(
                vnrINDEX(rmi1);  namINDEX(rmi2);
                ztvINDEX(rmi3);  ztbINDEX(rmi4);
                elmINDEX(rmi5);
                dtvGANZZAHL(ztv);    dtbGANZZAHL(ztb);
                begREST(ztv1);     endREST(ztb1);
                WENN(
                    dtv dtb;
                    VSTAPELN(AkkHSTAPELN(vnrnam""dtvbegend));
                    VSTAPELN(
                        Akk;
                        HSTAPELN(vnrnam""dtvbeg1);
                        HSTAPELN(vnrnam""dtb0end)
                    )
                )
            )
        )
    )

Diese Formel greift nur auf die Daten des Arbeitsblattes "Import" (Import!A1:W212) zu und zwar auf die Spalten A,B,N,O,T und filtert nach den Zeilen mit "Regeldienst".

Die Formel funktioniert mit Excel365 (und hoffentlich auch mit Excel2024).


Angehängte Dateien
.xlsx   xpsst_Tagessplitting.xlsx (Größe: 172,77 KB / Downloads: 11)
Gruß Anton.

Windows 10 64bit
Office365 32bit
Antworten Top
#14
Zitat:Ich möchte gerne zur Abrechnung bzw. Zulagenberechnung eine Datei umstrukturieren. 

Hallo
ich habe für mich mal eine Datei für Nachtschichtzulagen erstellt, daher vermute ich das nicht gesehen wird, wie viele Bedingungen hier rein spielen.
Ich denke dein Problem, die Arbeitszeiten richtig in diese Abrechnung zu bekommen ist das kleinste Problem.

Mal einige Beispiele, was ich meine:
Werden die Nachtschichtzulagen bei euch wie zu Dienstbeginn oder täglich von 00:00 - 24:00Uhr berechnet.
Ist zweites der Fall, müssen die Arbeitszeiten nach 24:00 für die Zulagen in den nächsten Tag aufgenommen werden.
Der nächste Tag könnte ein Feiertag / Wochenende sein.
Weitere Fragen:
Was passiert mit den Zulagen wenn in einen Feiertag oder ins Wochenende rein / raus gearbeitet wird.
Von wann bis wann läuft überhaupt die zuschlagpflichtige Nachtschicht. (zB. 22:00 - 06:00)
Was ist wenn Überstunden berechnet werden sollen? 
Wie hoch ist die Sollarbeitszeit?
Wie werden Überstunden in der Nacht oder am Wochenende abgerechnet
Welche %-Sätze gibt es für Nachtschicht; Feiertage / Wochenende / Überstunden / Ü-Std in der Nacht.

Ach ja, die Feiertage selbst müssen natürlich auch abgefragt werden

Gruß Holger
Antworten Top
#15
(12.09.2025, 10:53)xpsst schrieb: Oder übersteigt das die möglichkeiten?

Wäre es nicht einfacher die CSV-Daten einzulesen und dabei gleich die Zeiten für Tag-/Nachtschicht zu berechnen?
   

Und dann diese Zeiten pro Mitarbeiter zusammen zu rechnen?
   

BTW, ich gehe mal davon aus das die Daten in Deiner Datei generiert wurden, denn es gibt Überschneidungen in den Zeiten selber!
Das rechne ich nicht heraus:
   

Andreas.


.xlsx   Schichtzeiten.xlsx (Größe: 36,83 KB / Downloads: 8)
Antworten Top
#16
Vielen Dank nochmals für eure ganzen Ideen / Vorschläge.
Ich schaue mir das die Tage an wenn ich wieder Zuhause bin.

Eins vorweg,
leider kann ich nicht nur die Stunden melden sondern muss die Daten in ein Vorhandenes Formular einfügen welches strikte Vorgaben hat zur Datenverarbeitung und Einpflegung.
Da dieses Formular über die ganze Behörde gleich ist, lässt sich das auch nicht hier vor Ort einfach ändern sondern muss mit den Gegebenheiten leben.
Antworten Top
#17
(15.09.2025, 13:35)xpsst schrieb: leider kann ich nicht nur die Stunden melden sondern muss die Daten in ein Vorhandenes Formular einfügen welches strikte Vorgaben hat zur Datenverarbeitung und Einpflegung.
Da dieses Formular über die ganze Behörde gleich ist, lässt sich das auch nicht hier vor Ort einfach ändern sondern muss mit den Gegebenheiten leben.

3 Schritte:

a) Daten importieren
b) Rechnen
c) Daten exportieren

Und jeden Schritt losgelöst von den anderen betrachten. Wenn man schon am Anfang eine Form erzwingen will die am Ende da sein muss macht es nur komplizierter.

Erst das Problem lösen, danach optimieren.

Andreas.
Antworten Top
#18
Hey zusammen,

Sorry für die späte Rückmeldung, wie bereits gesagt bin ich mega dankbar für eure Ideen und wir konnten nun doch noch viel damit anfangen und einiges einkürzen / verändern.


@EA1950
PHP-Code:
=LET(
    ImportBereichImport!$A$1:$W$212;
    mSPALTENWAHL(ImportBereichSPALTE($A$1); SPALTE($B$1); SPALTE($N$1); SPALTE($O$1); SPALTE($T$1));
    rmFILTER(mSPALTENWAHL(m; -1) = "Regeldienst");
    REDUCE(
        {"VNr.""Name""Amtsbezeichnung""Datum""Beginn""Ende"};
        SEQUENZ(ZEILEN(rm));
        LAMBDA(Akki;
            LET(
                vnrINDEX(rmi1);  namINDEX(rmi2);
                ztvINDEX(rmi3);  ztbINDEX(rmi4);
                elmINDEX(rmi5);
                dtvGANZZAHL(ztv);    dtbGANZZAHL(ztb);
                begREST(ztv1);     endREST(ztb1);
                WENN(
                    dtv dtb;
                    VSTAPELN(AkkHSTAPELN(vnrnam""dtvbegend));
                    VSTAPELN(
                        Akk;
                        HSTAPELN(vnrnam""dtvbeg1);
                        HSTAPELN(vnrnam""dtb0end)
                    )
                )
            )
        )
    )


Könntest du ein letztes mal den Code anpassen, oder wer anderes der mehr Ahnung als ich hat? Mit folgenden Punkten.

Es muss nicht mehr nach Regeldienst gefiltert werden, das fällt komplett raus.
Der Bereich hat sich etwas verändert.

Spalter B ab B3 = Personalnummer
Spalte C ab C3 = Name
Spalte D ab D3 = Datum (Hier nur den Tag ausgeben, nicht das Datum)
Spalte G ab G3 = Beginn Datum + Uhrzeit
Spalte H ab H3 = Ende Datum + Uhrzeit

Ich packe ein Beispiel noch mit hier rein.

Vielen Dank für die massive Hilfestellung.


.xlsx   Import.xlsx (Größe: 12,26 KB / Downloads: 9)
Antworten Top
#19
Hallo,

ich habe die LET-Formel geringfügig an deine neue Vorgabe angepasst:

1) Es wird jetzt aus dem Arbeitsblatt "Import" der Zellbereich A1:J200 in die Formel importiert (Variable "Importbereich"). Davon werden nur die Spalten B, C, G und H verwendet (Variable "m").

2) Dann werden nur jene Zeilen verwendet, die in der PNr-Spalte (Spalte B in Import-Blatt) eine Zahl stehen haben (Variable "rm").

3) Ich habe dir im Arbeitsblatt "Berechnung" in die Zelle B5 und in die Zelle J5 zwei Formelvarianten eingefügt.
3a) Die Variante in B5 hat weiterhin eine "Datum"-Spalte, die jedoch so formatiert ist, dass davon nur die Tageszahl angezeigt wird (Benutzerdefiniertes Format [T]).
3b) Die Variante in J5 hat statt dessen eine "Tag"-Spalte, die mit Hilfe der TAG(Datum)-Funktion erzeugt wird, wie in folgender strukturierter Formeldarstellung zu sehen ist:
PHP-Code:
=LET(
    ImportBereichImport!$A$1:$J$200;
    mSPALTENWAHL(ImportBereichSPALTE($B$3); SPALTE($C$3); SPALTE($G$3); SPALTE($H$3));
    rmFILTER(mISTZAHL(SPALTENWAHL(m1)));
    REDUCE(
        {"VNr.""Name""Amtsbezeichnung""Tag""Beginn""Ende"};
        SEQUENZ(ZEILEN(rm));
        LAMBDA(Akki;
            LET(
                vnrINDEX(rmi1);
                namINDEX(rmi2);
                ztvINDEX(rmi3);
                ztbINDEX(rmi4);
                dtvGANZZAHL(ztv);
                dtbGANZZAHL(ztb);
                begREST(ztv1);
                endREST(ztb1);
                WENN(
                    dtv dtb;
                    VSTAPELN(AkkHSTAPELN(vnrnam""TAG(dtv); begend));
                    VSTAPELN(
                        Akk;
                        HSTAPELN(vnrnam""TAG(dtv); beg1);
                        HSTAPELN(vnrnam""TAG(dtb); 0end)
                    )
                )
            )
        )
    )



Angehängte Dateien
.xlsx   xpsst_Import.xlsx (Größe: 19,91 KB / Downloads: 6)
Gruß Anton.

Windows 10 64bit
Office365 32bit
Antworten Top
#20
Ich danke dir von Herzen, es funktioniert perfekt!

Noch zwei Kleinigkeiten an dem Formular und es läuft hier fast automatisch!

Ich danke euch allen!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste