05.06.2018, 22:32
Jede X Spaltenwert in einem bestimmten bereich addieren
|
C4: =SUMMENPRODUKT(H4:ZZ4*(REST(H4:ZZ4;5)=3))
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel).
05.06.2018, 22:43
Hallo,
das geht schon mit dem Rest, du musst nur etwas von der Spaltennummer abziehen: Code: =SUMMENPRODUKT((REST(SPALTE(H4:ZZ4)-2;5)=1)*(H4:ZZ4))
Schöne Grüße
Berni
06.06.2018, 07:43
Nachtrag: Ich hatte SPALTE() innerhalb REST vergessen.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel).
06.06.2018, 21:08
Zunächst danke ich euch schon mal. Das hat mir sehr viel gebracht. Allerdings haut es bei mir noch nicht ganz hin.
Also habe ich mal eine Testtabelle gemacht um die Formel zu verstehen. Dann habe ich eine Formel gemacht, die jeden zweiten Wert addiert. =SUMMENPRODUKT((REST(SPALTE(A1:ZZ1);2)=0)*(A1:ZZ1)) Da kommt 6 raus also wunderbar. Jetzt schreibe ich in Spalte G aber eine Formel, die ein Leeres Ergebniss liefert. also steht da (unsichtbar) "" Und schon haut die Formel nicht hin #Wert! Also habe ich die Formal angepasst. zu 1. =SUMMENPRODUKT((REST(SPALTE(A1:ZZ1);2)=0)*(A1:ZZ1>0)) 2. =SUMMENPRODUKT((REST(SPALTE(A1:ZZ1);2)=0)*(ISTZAHL(A1:ZZ1))) Jetzt kommt aber für mich unerklärlich als ergebnis 4 raus. Also die Anzaher Spalten deren rest =0 ist und bei denen irgendwas drin steht, auch "" WTF - wo habe ich jetzt schon wieder den Denkfehler. Wie kann ich das am besten anpassen. Vielen Dank Ich lade auch mal die Exceltabelle hoch. Die Summenproduktformel befindet sich in B9 ![]()
07.06.2018, 07:28
Dann mach mal so:
Code: =SUMMENPRODUKT((REST(SPALTE(A1:ZZ1);2)=0)*(A1:ZZ1<>"");(A1:ZZ1)) Leerstrings führen in Multiplikationen zu Fehlern nach dem Motto "2 x "" = #Wert"
Schöne Grüße
Berni
07.06.2018, 07:36
HI,
Zitat:Jetzt schreibe ich in Spalte G aber eine Formel, die ein Leeres Ergebniss liefert. also steht da (unsichtbar) ""Warum nicht 0 (Null) verwenden anstatt "" Dann kannst du Dir dein "Formelleben" leichter gestalten. ^^ https://www.youtube.com/watch?v=OkbVVl3oBRs und das nur die Anzahl rauskommt liegt auch auf der Hand! =SUMMENPRODUKT((REST(SPALTE(A1:ZZ1);2)=0)*ISTZAHL(A1:ZZ1);A1:ZZ1)
lg Chris
Feedback nicht vergessen. ![]() 3a2920576572206973742064656e20646120736f206e65756769657269672e
07.06.2018, 07:56
Zitat:Warum nicht 0 (Null) verwenden anstatt "" Ganz einfach, weil es sch... aussieht :) Ich bevorzuge auch, dass wenn möglich nichts drinsteht anstatt 0.
Schöne Grüße
Berni
07.06.2018, 08:00
Hallo Berni,
Zitat:Ganz einfach, weil es sch... aussieht [img] hast du Dir das Video angeschaut ;)
lg Chris
Feedback nicht vergessen. ![]() 3a2920576572206973742064656e20646120736f206e65756769657269672e
Nullen kann man - einzeln per benDefFmt oder auf dem ganzen Blatt - ausblenden. Feddisch. Das Nichtverbiegen von Typen ist die Ingenieurs-Vorgehensweise.
Leerstrings anstelle von Zahlen sind die unbeholfene "TippEx-Alternative" (seltsamerweise auch sehr oft aus Bequemlichkeit bei Lösungen von Excelformeln.de angewendet). Sie werden nur ganz selten wirklich notwendig. Begründung 1: Sie erfordern ein WENN, wo eine Null es nicht tut! Denn Zahlenzusammenhänge lassen sich überwiegend auch boolesch statt mit WENN ausdrücken. Begründung 2: Mische nicht Formel und Format. Auch hier sind wieder Ausnahmen zulässig, beispielsweise mit TEXT, um ohne "1904", Hilfsspalten und Industriezeiten auch negative Zeiten oder Zeitsalden in Excel darstellen zu können. Dieser heftige Klimmzug bestätigt aber letztlich nur die Regel. Begründung 3: Man verletzt die konsistente Typisierung, wie man sie bei Programmiersprachen pflegt. Auch wenn es in Excel selbst keinen Schaden anrichtet: Aber man stelle sich vor, dass man die Tabelle als Werte kopiert oder als CSV exportiert. Bei letzterem beginnen dann schnell die Probleme, wenn die Datei als 1;2;3 4;"";6 statt 1;2;3 4;0;6 verarbeitet wird. _____________________________________________________________________________________________ Selbst falls es wirklich mal nur mit Leerstring gehen sollte, reicht dann aber =SUMMENPRODUKT(N(REST(SPALTE(A1:ZZ1);2)=0);A1:ZZ1) anstelle von =SUMMENPRODUKT((REST(SPALTE(A1:ZZ1);2)=0)*(A1:ZZ1<>"");(A1:ZZ1)) aus.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel).
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste