Office: Funktion von Summenprodukten aus mehreren Matrizen verkürzen

Helfe beim Thema Funktion von Summenprodukten aus mehreren Matrizen verkürzen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Roger, habe noch mal ein paar Fragen: - zunächst einmal erscheinen die Zeitangaben in einem, sagen wir mal ungewöhnlichen Format ( 23 h : 12 m )... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Roger977, 19. Januar 2023.

  1. Roger977 hat Ahnung

    Funktion von Summenprodukten aus mehreren Matrizen verkürzen


    Hallo Klaus-Dieter,
    Bin gerade aufgestanden, hatte Nachtdienst. Antworten der Reihe nach, sind gerade doch einige Beiträge geworden. Also:
    Die Formeln entstehen bei mir oft nicht in einem Zug. Es kommen Ideen hinzu usw. Ich hatte ursprünglich nicht vor, mit dem Ergebnis weiter zu rechnen. Allerdngs geht das auch. Nur etwas umständlicher. Ich habe selbst schon bemerkt, dass meine Formeln des Öfteren extreme Ausmaße nehmen. Im Grunde werde ich meist nur von Excel selbst gestoppt, der die Formeln eingraut. Oftmals haut es aber noch hin. Ich habe neulich eine Formel aufgebaut, die mir erlaubt, solche Sachen wie mit Datumsangaben 1023 vor Christi zu rechenen und man dennoch normal mit "normalen" Datumsangaben von Excel weiter rechnen kann. Also ja, meine Formel sind lang, müssen aber oftmals eben alles "absichern" und "idiotensicher" sein. Ich glaube aber ebenfalls, dass meine Formeln meistens eleganter gelöst werden könnten und somit erheblich kürzer wären. Ich fällt nur nicht ein, wie.
     
    Roger977, 20. Januar 2023
    #16
  2. Roger977 hat Ahnung
    Das habe ich bereits weiter oben geschrieben. Es gibt keinen 0. Durchlauf eines Zyklus. DIe Zeilen sind verbunden, weill jeweils noch im oberen linken freien Teil und unten rechten freien Teil weitere Features geplant sind und die benötigen diese Anzahl von Zellen.
     
    Roger977, 20. Januar 2023
    #17
  3. Roger977 hat Ahnung
    Das teste ich, glaube aber, dass er damit nicht über die 24h hinaus geht. Aber ich weiß es nicht. Ich probiere es aus.Warum sollte es die Länge der Formel reduzieren? Die Funktion ist haupsächlich so lang, weil die 18x ein Summenprodukt bilden soll. Worauf ich einfach keine Antwort erhalten soll. Die Formatierung des Ergebnisses ist lediglich ein paar Anschläge lang.
     
    Roger977, 20. Januar 2023
    #18
  4. Roger977 hat Ahnung

    Funktion von Summenprodukten aus mehreren Matrizen verkürzen

     
    Roger977, 20. Januar 2023
    #19
  5. Klaus-Dieter Erfahrener User
    Hallo Roger,

    wenn ich mit Excel arbeite, versuche ich das möglichst einfach zu gestalten. Obwohl ich bereits seit 1996 mit Excel zu tun habe, habe ich noch nie so eine Monsterformel benötigt. Was nun die Zeitangaben betrifft, ist es mit Sicherheit einfacher, auch Formeltechnisch gesehen, hier mit dem Schon angesprochenen Zellformat zu arbeiten. Wenn du das Format so: [hh] " h" " : " mm " m" änderst, sollten auch Berechnungen über 24 Stunden möglich sein. Bei deiner Vorgehensweise, müssen ja immer Texte in Zahlen bzw. umgedreht gewandelt werden, das fällt beim Zellformat weg.
     
    Klaus-Dieter, 20. Januar 2023
    #20
  6. Exl121150 Erfahrener User
    Hallo,

    dafür gibt es in Excel365 zwei Funktionen:
    HSTAPELN(Matrix1;Matrix2;...;MatrixN) dient zum horizontalen Stapeln von Matrizen
    VSTAPELN(Matrix1;Matrix2;...;MatrixN) dient zum vertikalen Stapeln von Matrizen

    So kann zB. die Formel in Zelle AO6:AP6, die ungestapelt so lautete:
    =LET(ht;AN6; pd;ht-$R$3; pz;$L$3*7; pg;GANZZAHL(pd/pz); pr;REST(pd;pz*2)+1; wt;WOCHENTAG(ht;2);
    WENN(ODER(ISTFEHLER(pg+(pg>=0)); ISTFEHLER(wt); WENNFEHLER(wt>5;WAHR));
    "";
    SUMME(
    Monatswerte($AN$6:$AN$36;$AL$6:$AL$36;$AI$3; ht; pg); Monatswerte($AZ$6:$AZ$36; $AX$6:$AX$36;$AI$3; ht;pg); Monatswerte($BL$6:$BL$36; $BJ$6:$BJ$36; $AI$3; ht;pg);
    Monatswerte($D$42:$D$72; $B$42:$B$72;$AI$3;ht;pg); Monatswerte($P$42:$P$72; $N$42:$N$72;$AI$3;ht;pg); Monatswerte($AB$42:$AB$72;$Z$42:$Z$72;$AI$3;ht;pg);
    Monatswerte($AN$42:$AN$72;$AL$42:$AL$72;$AI$3;ht;pg); Monatswerte($AZ$42:$AZ$72;$AX$42:$AX$72;$AI$3;ht;pg); Monatswerte($BL$42:$BL$72;$BJ$42:$BJ$72;$AI$3;ht;pg);
    Monatswerte($D$78:$D$108;$B$78:$B$108;$AI$3;ht;pg); Monatswerte($P$78:$P$108;$N$78:$N$108;$AI$3;ht;pg); Monatswerte($AB$78:$AB$108;$Z$78:$Z$108;$AI$3;ht;pg);
    Monatswerte($AN$78:$AN$108;$AL$78:$AL$108;$AI$3;ht;pg); Monatswerte($AZ$78:$AZ$108;$AX$78:$AX$108;$AI$3;ht;pg); Monatswerte($BL$78:$BL$108;$BJ$78:$BJ$108;$AI$3;ht;pg);
    Monatswerte($D$114:$D$144;$B$114:$B$144;$AI$3;ht;pg); Monatswerte($P$114:$P$144;$N$114:$N$144;$AI$3;ht;pg); Monatswerte($AB$114:$AB$144;$Z$114:$Z$144;$AI$3;ht;pg)
    )/24))

    umgeschrieben werden zu:
    =LET(ht;AN6; pd;ht-$R$3; pz;$L$3*7; pg;GANZZAHL(pd/pz); pr;REST(pd;pz*2)+1; wt;WOCHENTAG(ht;2);
    WENN(ODER(ISTFEHLER(pg+(pg>=0)); ISTFEHLER(wt); WENNFEHLER(wt>5;WAHR));
    "";
    SUMME(
    Monatswerte(
    VSTAPELN($AN$6:$AN$36;$AZ$6:$AZ$36;$BL$6:$BL$36;$D$42:$D$72;$P$42:$P$72;$AB$42:$AB$72;$AN$42:$AN$72;$AZ$42:$AZ$72;$BL$42:$BL$72;
    $D$78:$D$108;$P$78:$P$108;$AB$78:$AB$108;$AN$78:$AN$108;$AZ$78:$AZ$108;$BL$78:$BL$108;$D$114:$D$144;$P$114:$P$144;$AB$114:$AB$144);
    VSTAPELN($AL$6:$AL$36; $AX$6:$AX$36; $BJ$6:$BJ$36;$B$42:$B$72;$N$42:$N$72;$Z$42:$Z$72;$AL$42:$AL$72;$AX$42:$AX$72;$BJ$42:$BJ$72;
    $B$78:$B$108;$N$78:$N$108;$Z$78:$Z$108;$AL$78:$AL$108;$AX$78:$AX$108;$BJ$78:$BJ$108;$B$114:$B$144;$N$114:$N$144;$Z$114:$Z$144);
    $AI$3; ht; pg)
    )/24))


    Die neue Funktion LAMBDA(Param1;Param2;..;ParamN; Ausdruck(Param1;Param2;..;ParamN)) hat mit dem "Zusammenführen" von Matrizen (eigentlich) nichts zu tun. Ein Zusammenhang ist hier rein zufällig.
    Sie dient in höheren Programmiersprachen zum Definieren von anonymen Funktionen, hier in Excel dient sie zum Definieren von benutzerdefinierten Funktionen, ohne dass man dafür (im Gegensatz zu bisher) VBA benötigt.

    Nimmt man zB. die Überschriftenformel für Januar 2022 (im Zellbereich C39:L39) her:
    =LET(dt;D42:D72; dz;C41:L41;
    f;LAMBDA(i;INDEX(dz;i));
    g;LAMBDA(j;WENNFEHLER(REST(dt-f(j);9)=0;0));
    TEXT(f(1);"MMMM JJJJ - ")&SUMME(g(3)+g(5)+g(7)+g(9))&" Schichten")

    so enthält hier die LET-Funktion 2 LAMBDA-Funktionen: die Funktion f(i) und die Funktion g(j)

    f
    ist der Funktionsname, den ich hier festgelegt habe. Diesem wird hier, wie in LET(..) üblich, ein Wert zugewiesen, wobei der Wert aus der Funktion LAMBDA(i;INDEX(dz;i)) besteht: Auf das Schlüsselwort LAMBDA( folgt die Parameterliste, die in diesem Fall nur aus dem Parameter "i" besteht. Nach der Parameterliste folgt der eigentliche Funktionsausdruck, der natürlich irgendwo den Parameter als Variable enthält - in diesem Fall: INDEX(dz;i)
    Da in der LET-Formel für "dz" als Zellbereich C41:L41 vorher festgelegt wurde, bewirkt zB. ein Funktionsaufruf f(1), dass der Funktionsausdruck zu INDEX(C41:L41;1) ausgewertet wird, d.h. der Funktionsaufruf f(1) gibt den Wert in Zelle C41 zurück.

    Mit der Funktion g(j) ist es ähnlich. Ein Funktionsaufruf g(3) bewirkt hier eine Formelauswertung WENNFEHLER(REST(D42:D72-f(3);9)=0;0) bzw. wird daraus WENNFEHLER(REST(D42:D72-INDEX(C41:L41;3);9)=0;0)
    was dann zu WENNFEHLER(REST(D41:D72-E41;9)=0;0) wird. Der Wert dieser Formel wird von g(3) zurückgegeben.
     
    Exl121150, 20. Januar 2023
    #21
  7. Roger977 hat Ahnung
    Hallo Klaus, hallo Exl121150,
    ich werde noch eine Weile benötigen. Wenn ich auf Arbeit bin, dann immer non-stop..beim nächsten Frei werde ich mich mal intensiv damit auseinander setzen müssen. Mit kurz mal zwischendurch komme ich damit nicht klar, zumal ich die beiden Tabellen "Monster" und "LAMBDA" miteinander vergleichen möchte, was nun eigentlich wie womit ersetzt wurde. Jedenfalls hast du (Exl121150) mir da einen ziemlichen Brocken hingelegt. Trotz guten Erklärungen habe ich Mühe gehabt, dir irgendwie zu folgen. Das muss erstmal sacken...ich melde mich, wenn ich das verdaut habe.
     
    Roger977, 21. Januar 2023
    #22
  8. Roger977 hat Ahnung

    Funktion von Summenprodukten aus mehreren Matrizen verkürzen

    Was ich aber dennoch schon mal glaube rausgefiltert zu haben, ist dass (wie gesagt, ich überfliege das ganze immer wieder, während ich keine Ruhe finde.)
    1. LAMBDA eine Art Lite VBA ist. Während "normale" Funktionen eine starre Funktion haben, ist LAMBDA eher wie ein Baukasten zu betrachten, dessen Bausteine wiederrum die Funktionen sind !?
    2. Das reine Stappeln von Matrixen (also wie ich es nannte: "zusammenfassen") ist mit HSTAPELN und VSTAPELN
    möglich. Beide noch nie zuvor gesehen..

    Da stellt sich mir gleich eine Frage: Ist bei LAMBDA oder auch HSTAPELN und VSTAPELN Excel 365 vorausgesetzt?
    Ich tippe mal zumindest bei LAMBDA, oder? Da die Tabelle auch auf alten Versionen laufen sollte. Aber das ist erstmal Nebensache. Bringt ja nix, ich haspel hier nur Brocken raus. Ich komme dann mit ner Zusammenfassung wenn ich fertig bin.
     
    Roger977, 21. Januar 2023
    #23
  9. Exl121150 Erfahrener User
    Hallo,

    sieht man in der Microsoft-Hilfe-Dokumentation zur Funktion VSTAPELN nach, liest man Folgendes:
    VSTAPELN-Funktion
    Excel für Microsoft 365, Excel für Microsoft 365 für Mac, Excel für das Web

    Windows: 2208 (Build 15601)
    Mac: 16.65 (Build 220911)
    Web: eingeführt 15-Sep-2022
    iOS: 2.65 (Build 220905)
    Android: 16.0.15629


    Fügt Arrays vertikal und nacheinander an, um ein größeres Array zurückzugeben.
    Syntax
    =VSTAPELN(array1,[array2],...)
    Die Syntax der Funktion VSTAPELN weist das folgenden Argument auf:

    Array Die anzuhängenden Matrizen.

    Ähnliches gilt auch für die anderen beiden Funktionen (HSTAPELN, LAMBDA)
     
    Exl121150, 21. Januar 2023
    #24
  10. Klaus-Dieter Erfahrener User
    Hallo Roger,

    habe mal eine Beispieldatei erstellt, wie ich so etwas lösen würde. Es fehlt noch der Zähler für die Zyklen, darüber müsste ich noch mal nachdenken. Möchte aber erst mal wissen, ob das eine Alternative für dich wäre, sonst stecke ich da keine weitere Arbeit rein.
     
    Klaus-Dieter, 21. Januar 2023
    #25
  11. Roger977 hat Ahnung
    Zusammenfassung


    Ich möchte mich bei euch beiden recht herzlich für euer Interesse und eure Zeit bedanken, die ihr für mich investiert habt!


    Monster-Formeln:

    Sie zeigen lediglich Ehrgeiz und ganz passables Excel-Wissen. Wenn man nur die Hälfte weiß, muss man lange Wege in Kauf nehmen.


    TEXT-Formatierungen:

    Ich nutze sie gelegentlich, weil ich damit Formelpassagen kopieren kann und sie in einer anderen Mappe einsetzen kann. Es vergehen manchmal Monate, bis ich etwas brauche, was ich woanders schon mal angewandt habe. Ich schaue mir dann die „Monster“ an und weiß selbst nicht mehr, was ich da eigentlich gemacht habe. Da Formatierungen nur mit der Datei weitergereicht werden, umgehe ich das, wenn es geht. Allerdings ist das wahrscheinlich auch nur wieder dem Halbwissen geschuldet.



    Folgendes habe ich mir zurechtgebastelt und funktioniert:


    Im Namensmanager:


    Exl121150 Erfahrener User

    (Name: Monatswerte):
    =LAMBDA(dt;zyk;wtg;me;pg;
    SUMMENPRODUKT((WENNFEHLER(WENN(WOCHENTAG(dt;2)<6; wtg;0);0))* N(WENNFEHLER(WERT(TEXTVOR(zyk;"_"));0)=(pg+(pg>=0)))*(N(dt<=me))))


    meine Variante

    (Name: Monate):

    =$AM$6:$AM$36;$AY$6:$AY$36;$BK$6:$BK$36;$C$42:$C$72;$O$42:$O$72;

    $AA$42:$AA$72;$AM$42:$AM$72;$AY$42:$AY$72;$BK$42:$BK$72;$C$78:$C$108;

    $O$78:$O$108;$AA$78:$AA$108;$AM$78:$AM$108;$AY$78:$AY$108;$BK$78:$BK$108;

    $C$114:$C$144;$O$114:$O$144;$AA$114:$AA$144


    und


    (Name: Stundenberechnung):
    =LAMBDA(WZ;PST;AZ;DT;KTAGE;

    SUMMENPRODUKT((WENNFEHLER(WENN(WOCHENTAG(KTAGE;2)<6;AZ;0);0))*

    (N(WENNFEHLER(GANZZAHL((DT-PST)/WZ)=GANZZAHL((KTAGE-PST)/WZ);FALSCH)))*

    (N((KTAGE)<=DT)))/24)


    Funktionen in den Zellen:


    Exl121150 Erfahrener User

    Die eigentliche Formel in den PuZman-Spalten "reduziert" sich dann wie folgt (zB. Zellen AO6:AP6):
    =LET(ht;AN6; pd;ht-$R$3; pz;$L$3*7; pg;GANZZAHL(pd/pz); pr;REST(pd;pz*2)+1; wt;WOCHENTAG(ht;2);
    WENN(ODER(ISTFEHLER(pg+(pg>=0)); ISTFEHLER(wt); WENNFEHLER(wt>5;WAHR));
    "";
    SUMME(
    Monatswerte($AN$6:$AN$36;$AL$6:$AL$36;$AI$3; ht; pg); Monatswerte($AZ$6:$AZ$36; $AX$6:$AX$36;$AI$3; ht;pg); Monatswerte($BL$6:$BL$36; $BJ$6:$BJ$36; $AI$3; ht;pg);
    Monatswerte($D$42:$D$72; $B$42:$B$72;$AI$3;ht;pg); Monatswerte($P$42:$P$72; $N$42:$N$72;$AI$3;ht;pg); Monatswerte($AB$42:$AB$72;$Z$42:$Z$72;$AI$3;ht;pg);
    Monatswerte($AN$42:$AN$72;$AL$42:$AL$72;$AI$3;ht;pg); Monatswerte($AZ$42:$AZ$72;$AX$42:$AX$72;$AI$3;ht;pg); Monatswerte($BL$42:$BL$72;$BJ$42:$BJ$72;$AI$3;ht;pg);
    Monatswerte($D$78:$D$108;$B$78:$B$108;$AI$3;ht;pg); Monatswerte($P$78:$P$108;$N$78:$N$108;$AI$3;ht;pg); Monatswerte($AB$78:$AB$108;$Z$78:$Z$108;$AI$3;ht;pg);
    Monatswerte($AN$78:$AN$108;$AL$78:$AL$108;$AI$3;ht;pg); Monatswerte($AZ$78:$AZ$108;$AX$78:$AX$108;$AI$3;ht;pg); Monatswerte($BL$78:$BL$108;$BJ$78:$BJ$108;$AI$3;ht;pg);
    Monatswerte($D$114:$D$144;$B$114:$B$144;$AI$3;ht;pg); Monatswerte($P$114:$P$144;$N$114:$N$144;$AI$3;ht;pg); Monatswerte($AB$114:$AB$144;$Z$114:$Z$144;$AI$3;ht;pg)
    )/24))


    meine Variante PuZman-Spalten ohne LAMBDA

    =WENNFEHLER(WENN(WOCHENTAG(AN6;2)<6;LET(

    WZ;$L$3*7;PST;$R$3;AZ;$AI$3;DT;AM6;KTAGE;VSTAPELN(MONATE);

    SUMMENPRODUKT((WENNFEHLER(WENN(WOCHENTAG(KTAGE;2)<6;AZ;0);0))*

    (N(WENNFEHLER(GANZZAHL((DT-PST)/WZ)=GANZZAHL((KTAGE-PST)/WZ);FALSCH)))*

    (N((KTAGE)<=DT)))/24);"");"")


    meine Variante PuZman-Spalten mit LAMBDA

    =WENNFEHLER(WENN(WOCHENTAG(AN6;2)<6;LET(

    WZ;$L$3*7;PST;$R$3;AZ;$AI$3;DT;AM6;KTAGE;VSTAPELN(MONATE);

    STUNDENBERECHNUNG(WZ;PST;AZ;DT;KTAGE));"");"")


    Exl121150 Erfahrener User

    Die Formel zur Berechnung der "Zykluszahl" habe ich ebenfalls vereinfacht (zB. Zelle AL6):
    =LET(ht;AN6;MoAnf;AM$5; pd;ht-$R$3; pz;$L$3*7; pg;GANZZAHL(pd/pz); pr;REST(pd;pz*2)+1;
    WENNFEHLER(TEXT(pg+(pg>=0);"00") &
    WENN((MoAnf+ZEILE(A1)-1)<=MONATSENDE(MoAnf;0);"_";"") &
    TEXT(pr-(pr>pz)*pz;"000");""))


    meine Variante "Zykluszahl"

    =LET(WZ;$L$3*7;PST;$R$3;DT;AM6;MoAnf;AM$5;

    GZy;GANZZAHL((DT-PST)/WZ);

    ZNR;WENN(GZy+1<1;GZy;GZy+1);

    WZT;REST(DT-PST;WZ*2)+1;


    WENNFEHLER(TEXT(ZNR;"00")&

    WENN((MoAnf+ZEILE(A1)-1)<=MONATSENDE(MoAnf;0);"_";"")&

    TEXT(WENN(WZT<=WZ;WZT;WZT-WZ);"000");""))


    Exl121150 Erfahrener User

    Die Formel für die Monatsüberschriften für 2022 sieht jetzt so aus (zB. Zellen C39:L39):
    =LET(dt;D42:D72; dz;C41:L41;
    f;LAMBDA(i;INDEX(dz;i));
    g;LAMBDA(j;WENNFEHLER(REST(dt-f(j);9)=0;0));
    TEXT(f(1);"MMMM JJJJ - ")&SUMME(g(3)+g(5)+g(7)+g(9))&" Schichten")


    meine Variante " Monatsüberschriften " habe ich so belassen

    =TEXT(C41;"MMMM JJJJ - ")&

    SUMMENPRODUKT(N(WENNFEHLER(REST((D42:D72)-E41;9)=0;0))+N(WENNFEHLER(REST((D42:D72)-G41;9)=0;0))+

    N(WENNFEHLER(REST((D42:D72)-I41;9)=0;0))+N(WENNFEHLER(REST((D42:D72)-K41;9)=0;0)))&" Schichten"


    Exl121150 Erfahrener User

    Die Formel für die Tagesnummer sieht jetzt so aus (zB. Zelle C42):
    =LET(MoAnf;C$41; dt;MoAnf-1+ZEILE($A1); WENN(MONAT(MoAnf)=MONAT(dt);dt;""))

    Die Formel für die Wochentagsangabe (zB. Zelle D42):
    =WENN(C42="";"";C42)


    meine Variante " Tagesnummer "

    =WENN((AM$5+ZEILE(A1)-1)<=MONATSENDE(AM$5;0);AM$5+ZEILE(A1)-1;"")

    meine Variante " Wochentagsangabe "

    =C42


    Exl121150 Erfahrener User

    Was es dabei mit den Januar-Datumsangaben für 2016 auf sich hat zur Berechnung der Schichten-Anzahl in der Monatsüberschrift, entzieht sich meiner Kenntnis (zB. Zellbereich E41:L41).


    Antwort: Diese Datumsangaben dienen der Schichtübergreifenden Darstellung. Mit Auswahl einer anderen Schicht-Gruppe wird der Kalender entsprechend neu berechnet.


    Wie man gut erkennen kann, habe ich nicht alles 1:1 übernommen. Einiges selbst noch geändert, vieles abgekupfert.

    Z.B. werde ich mich in den PuZman-Zeilen sogar gegen LAMBDA entscheiden. Da ich auch in mehreren Monaten die Tabelle nachvollziehen möchte und die Funktion im Gegensatz zum Anfang erheblich abgenommen hat.

    Mit LET; STAPELN; MONATSENDE; Formatierung [hh]"h "mm" m" & LAMBDA habe ich viel Neues im Gepäck und denke, dass „Monster-Formeln“ nicht länger notwendig sein werden. Vielen Dank dafür!


    Klaus-Dieter Erfahrener User

    Habe mal eine Beispieldatei erstellt, wie ich so etwas lösen würde.

    Antwort: Danke Klaus-Dieter, aber ich wollte keine Liste erstellen.


    Eine Frage bleibt offen:

    Die Formatierung [hh]"h "mm" m" habe ich verwendet. Da aber die Zeiten von PuZman mit meinen geleisteten Arbeitsstunden verrechnet werden (die rechte, noch leere Spalte neben den PuZman-Zeiten), können damit MINUS-STUNDEN erwirtschaftet werden. Ich habe bislang noch keinen Weg gefunden, dass er mir die Zeiten auch im negativen Bereich ausgibt. Das wäre wahrscheinlich mit der TEXT-Variante, wenn auch komplizierter, anders.

    Welche Lösung gibt es dafür?
     
    Roger977, 24. Januar 2023
    #26
  12. Klaus-Dieter Erfahrener User
    Hallo Roger,
    habe das nur aus Gründen der vereinfachten Darstellung in eine Listenform geschrieben. War aber davon ausgegangen, dass jemand der so lange Formeln erstellen kann, auch in der Lage ist, das Prinzip in die eigene Datei zu übernehmen.

    Negative Zeiten gibt es genau genommen nicht, wenn Zeitberechnungen auch in den Miniusbereich rutschen können, muss man überlegen, ob einem die Darstellung der Werte in dieser Form so viel Wert ist, das man auf Teste ausweicht, oder ob man nicht einfach die Zeiten als Dezimalwerte darstellt. Im Umgang mit Excel sollte immer die Funktionalität vor dem Design vorrang haben.
     
    Klaus-Dieter, 24. Januar 2023
    #27
  13. Exl121150 Erfahrener User

    Funktion von Summenprodukten aus mehreren Matrizen verkürzen

    Hallo,

    da du erwähnt hast, dass das Ganze auch auf Rechnern mit älteren Versionen als Excel365 laufen soll und ferner auch kein VBA infrage kommen soll, habe ich im Arbeitsblatt "Tab_Excel2007" eine Version ohne Excel365-er Formeln erstellt.

    Dabei habe ich deine Datenstruktur geringfügig geändert, weil sich dadurch die Formeln sehr viel einfacher und systematischer gestalten: Es betrifft genau die 4*2 Zellen mit den Datumsangaben aus Januar 2016, bisher jeweils unterhalb einer Monatsüberschrift. Die Daten befinden sich jetzt exakt 3 Zeilen höher (also jeweils über der Monatsüberschrift).
    Die dadurch frei werdenden 4*2 Zellen dienen jetzt als Wertübertrag aus dem Vormonat, um damit in den weiteren, unterhalb liegenden Spaltenwerten (mit Überschrift: PuZman, Dienstzeit, ...) bequem weiterrechnen zu können.

    Nimmt man z.B. den Bereich für den 1. Monat (Oktober 2021) her:
    Es befinden sich jetzt in AO2:AP2, AQ2:AR2, AS2:AT2 und AU2:AV2 die 4 Datumsangaben aus Januar 2016 (offenbar irgendwelche Schichtdaten).
    3 Zeilen tiefer (also in AO5:AP5, ...) befinden sich die Übertragswerte aus dem Vormonat für die unterhalb liegenden Werte der Spalten "PuZman", "Dienstzeit", ...: Im 1. Monat sind das natürlich lauter 0-Werte (weil kein Vormonat vorhanden ist). Im 2. Monat (November 2021) befindet sich in BA5:BB5 die Formel "=AO36", um so den letzten Wert der PuZman-Spalte des Oktober 2021 nach November 2021 zu übernehmen.

    Weggelassen habe ich auch in der Zyklusspalte die etwas (sehr) merkwürdige Zyklusnummer, während die Nummerierung innerhalb eines Zyklus als laufende Zahl enthalten ist.

    Alle anderen Formeln habe ich auch entsprechend angepasst, sodass sie jetzt Excel2007-tauglich sind.
    Es kann wahrscheinlich sein, dass die Monatsüberschrift-Formeln (z.B. "Januar 2022 - 14 Schichten", ...) in Versionen vor Excel365/Excel2021 als Array-Formeln (mit geschweifter Klammerung) einzugeben sind. Dadurch ergibt sich ein weiteres Problem: Man kann keine Array-Formel (mit geschweifter Klammer) in verbundenen Zellbereichen eingeben. Dieser Unfug ist daher dort zu entfernen - ich habe das in der Überschrift "Januar 2022 - 14 Schichten" durchgeführt, und wie man sieht, es geht auch ohne verbundene Zellen.

    Modifizierte Datei liegt bei.
     
    Exl121150, 24. Januar 2023
    #28
  14. Roger977 hat Ahnung
    Ups, hier hatte ich noch gar nicht geantwortet. Nachdem sich bereits viele Rahmenbedingungen geändert haben, habe ich mir den kompletten Beitrag noch mal durchgelesen. Die Zeit muss was gebracht haben, da ich im Grunde die Dinge nachvollziehen kann. Vielen Dank. Jedoch muss ich mir gerade für den letzten Teil: "Wertübernahme des Vormonats" etwas anderes einfallen lassen, da die Zeiten auch jahresübergreifend übernommen werden müssen. Mein Anliegen "muss auch auf älteren Versionen" und "kein VBA" werde ich zurückstellen. Ich habe 365 und möchte es auch nutzen. Sollte alles fertig sein und weiterhin nötig, kann ich mir für die einzelnen Formeln immer noch etwas für die älteren Versionen ausdenken. VBA tut nicht weh, aber ich kapiere es einfach nicht. Daher, wo es absolut notwendig ist und im "Kleinen", wie z.B. "kopiere den Wert und setze ihn dort wieder ein, wenn sich die Jahreszahl ändert". Das sind kleine VBA-Codes, die ich zwar noch nicht kenne, aber mir später dann auch begreiflich werden könnten. Allerdings werde ich dafür neue Themen erstellen, wenn nötig, da das mit dem eigentlichen Thema nichts mehr zu tun hat. Also, vielen Dank noch mal.
     
    Roger977, 12. März 2023
    #29
Thema:

Funktion von Summenprodukten aus mehreren Matrizen verkürzen

Die Seite wird geladen...
  1. Funktion von Summenprodukten aus mehreren Matrizen verkürzen - Similar Threads - Funktion Summenprodukten mehreren

  2. WENN-Funktion mit mehreren Bedingungen

    in Microsoft Excel Hilfe
    WENN-Funktion mit mehreren Bedingungen: Guten Morgen, ich würde gerne eine Funktion erstellen, die die Werte einer Zelle untersucht. Ist der Wert unter 5, so soll ein "nein" erscheinen und das Feld rot werden Ist der Wert zwischen 5...
  3. Zellbezug mit MONAT(HEUTE()) Funktion

    in Microsoft Excel Hilfe
    Zellbezug mit MONAT(HEUTE()) Funktion: Hallo Forum, ich habe eine Exceltabelle, mit der ich meine Finanzen festhalte. Auf einer Übersichtsseite stehen die Einnahmen/Ausgaben für verschiedene Bereiche. In der Spalte Q möchte ich den...
  4. Daten aus anderer Mappe

    in Microsoft Excel Hilfe
    Daten aus anderer Mappe: Hallo zusammen, ich habe für die bessere Verständlichkeit eine Excel erstellt, die mein Problem beschreibt. In Tabelle 2 sind verschiede Formen dargestellt, denen mehrere Eigenschaften zugeordnet...
  5. Funktionen Filter, Spaltenwahl und Übernehmen

    in Microsoft Excel Hilfe
    Funktionen Filter, Spaltenwahl und Übernehmen: Guten Abend Liebe Forenmitglieder, es ist für Euch wahrscheinlich ein leichtes, aber ich komm gerade nicht dahinter. Und auch verschiedene Videos führten in meinen Augen nicht weit genug. Wie...
  6. Summenprodukt mit wenn funktion

    in Microsoft Excel Hilfe
    Summenprodukt mit wenn funktion: Hallo zusammen, ich benötige Hilfe bzgl. meiner Berechnung. Ich habe schon vieles ausprobiert........., immer falsches Ergebnis Es soll wie folgt gerechnet werden: wenn unter Preis (Spalte...
  7. SUMMENPRODUKT (Funktion)

    in Microsoft Excel Tutorials
    SUMMENPRODUKT (Funktion): SUMMENPRODUKT (Funktion) Excel für Microsoft 365 Excel für Microsoft 365 für Mac Excel für das Web Excel 2019 Excel 2016 Excel 2019 für Mac...
  8. Summenprodukt mit Teilergebnis ohne volatile Funktionen möglich?

    in Microsoft Excel Hilfe
    Summenprodukt mit Teilergebnis ohne volatile Funktionen möglich?: Guten Tag Zusammen, ich habe vor einiger Zeit eine Excel Datei für eine Auswertung zusammengebaut, eine vereinfachte Form habe ich angehängt. Im Prinzip gibt es folgende Spalten: [A] Lieferant...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden