Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1472to1476
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

SUMME berechnen verschiedener Werte

SUMME berechnen verschiedener Werte
30.01.2016 21:35:05
Jaylan
Hallo liebe Forumsmitglieder,
ich brauche eine Formel der mir nur die Zahlen addiert, die
voneinander verschieden sind.
Beispiel:
Gegebene Werte: 4, 4, 6, 10, 2, 1, 4. Da soll die Formel nur: 4+6+10+2+1 berechnen und am Ende die Summe 23 ausgeben. Also mehrfach kommende Werte sollen nur einmal in die Berechnung einbezogen werden. Bei nur zwei Werten, z.B. 4,4: soll dann nur die 4 ausgegeben werden.
Hat jemand vielleicht eine Formel dafür? Mein Ansatz ist:
=SUMMEWENNS(Tabelle!$H:$H;Tabelle!). Der berechnet aber alle Zahlen zusammen.
Freue mich über Vorschläge!

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SUMME berechnen verschiedener Werte
30.01.2016 22:21:19
Jaylan
Auf jeden Fall sehr hilfreich...Danke!
=SUMMEWENNS(Tab2!$H:$H;Tab2!$G:$G;'Tabelle1'!$B22;Tab2!$D:$D;"Schrauben")
so addiere ich alle Werte... und füge die Summe aus Tab2 in meine Tabelle1 in die Zelle B22.
Ich habe bereits 2 Bedingungen in meiner Formel, die funktionieren... wie kann ich denn die zusätzliche Bedingung (nur Werte summieren, die verschieden sind) hier einfügen?
Die Werte (Zahlen) stehen in der Tabelle "Tab2" Spalte H.
Wie kann ich meine bereits vorhande Formel erweitern?
Mein Versuch klappt leider nicht:
=SUMMEWENNS(Tab2!$H:$H;Tab2!$G:$G;'Tabelle1'!$B22;Tab2!$D:$D;"Schrauben";Tab2!$H:$H""; 1/ZÄHLENWENN(Tab2!$H:$H;Tab2!$H:$H)*Tab2!$H:$H)
LG

Anzeige
AW: SUMME berechnen verschiedener Werte
31.01.2016 00:09:05
Jaylan
Wäre echt sehr dankbar, wenn mir jemand helfen könnte :/

Nichts da! Mit deinem alten FmlAnsatz wird ...
31.01.2016 02:33:25
Luc:-?
…das nie was, Jaylan;
umsonst sehen die von Sepp empfohlenen Fmln nicht so aus wie sie aussehen!
Dazu solltest du Folgendes wissen:
Das ursprüngliche FktsInventar von Xl, also der allerersten Versionen, enthält eine Menge Fktt, die nicht nur ZellBereiche, sondern auch Datenfelder verarbeiten können. Letztere resultieren aus der Angabe komplexer Ausdrücke als FktsArgument, also Fmln und ggf auch (Matrix-)Konstanten. Solche Fktt haben die MS-Pgmmierer (oder die von MS damit beauftragten) mW seitdem nie wieder geschrieben. Erst mit den neuesten XlVersionen ist eine hinzugekommen, WENNFEHLER, und eine weitere kann das wenigstens zT (AGGREGAT ab Arg1=14). In SUMMEWENNs sind derartige Ausdrücke auch nur für Kriterien erlaubt. Alle anderen Argumente müssen Bezüge auf ZellBereiche sein. Gleiches gilt für ZÄHLENWENNs, wodurch schon deshalb deine erweiterte Fml nicht fktionieren kann, weil die anderen AusschließungsBedingungen auch hierin berücksichtigt wdn müssten, was wg der allein zulässigen ZellBezüge nicht machbar ist. Wenn deine Fml fktionieren würde, könnte sie zu falschen Ergebnissen kommen, falls auch die anderen Auswahlen aus diesem Bereich erfolgen, was hier auch der Fall zu sein scheint (→ Tab2!D:D;Tab2!G:H).
Fazit: Die Fml muss komplett ersetzt wdn! Eine erfolgversprechende Ausgangsbasis wäre hier neopas FmlVariante unter Sepps 2.Link. Die könnte dann so aussehen:
=SUMMENPRODUKT((Tab2!$G$1:$G$99='Tabelle1'!$B22)*(Tab2!$D$1:$D$99="Schrauben") *(VERGLEICH(""&Tab2!$H$1:$H$99;""&Tab2!$H$1:$H$99;)=ZEILE($A$1:$A$99));Tab2!$H$1:$H$99)
Eine kürzere Fml erhält man mit meinen beiden Standard-UDFs VJoin u.VSplit, die im 1.Fall mehrfach (aktuell Vs1.4) im Archiv vorhanden sind (1zellige MatrixFml):
{=SUMME(VSplit(VJoin((Tab2!$G$1:$G$99='Tabelle1'!$B22)*(Tab2!$D$1:$D$99="Schrauben")*Tab2!$H$1:$H$99; ;-1);;1)) }
Sogar nur mit einer UDF und ebenfalls als 1zellige NormalFml gelingt das mit der kürzlich ins Archiv gestellten UDF AggregateXk (Vs1.3!):
=AggregateXk(-9;6;(Tab2!$G$1:$G$99='Tabelle1'!$B22)*(Tab2!$D$1:$D$99="Schrauben") *(VERGLEICH(""&Tab2!$H$1:$H$99;""&Tab2!$H$1:$H$99;)=ZEILE($A$1:$A$99)*Tab2!$H$1:$H$99)
Man kann statt der xlFkt VERGLEICH auch die xlFkt HÄUFIGKEIT verwenden, die wie ZÄHLENWENN das Auftreten jeder Zahl zählt, aber jeweils nur beim 1.Mal (die anderen Male wird's 0). Dadurch wäre sie hervorragend für so etwas geeignet, auch, wenn sie stets einen senkrechten ErgebnisVektor liefert, aber der ErgebnisVektor umfasst ein zusätzliches Element. Die anderen Bezüge, mit denen das multipliziert wdn würde, müssten also immer eine (leere) Zelle mehr umfassen, damit alle Vektoren gleich lang sind. Anderenfalls müsste man den HÄUFIGKEITS-Vektor um den letzten Wert kürzen, was mit XlStandardFktt aber komplizierter ist.
Morrn, Luc :-?
Besser informiert mit …

Anzeige
AW: Nichts da! Mit deinem alten FmlAnsatz wird ...
31.01.2016 09:53:04
Jaylan
Super vielen Dank für die ausführliche Erklärung.
Die Formel:
=SUMMENPRODUKT((Tab2!$G$1:$G$99='Tabelle1'!$B22)*(Tab2!$D$1:$D$99="Schrauben") *(VERGLEICH(""&Tab2!$H$1:$H$99;""&Tab2!$H$1:$H$99;)=ZEILE($A$1:$A$99));Tab2!$H$1:$H$99)
habe ich verstanden.
(Tab2!$G$1:$G$99='Tabelle1'!$B22) entspricht der Spalte "Typbezeichnung" meiner Materialtabelle
(Tab2!$D$1:$D$99="Schrauben")entspricht der Spalte "Materialbezeichnung"
(""&Tab2!$H$1:$H$99;""&Tab2!$H$1:$H$99;) entspricht vergleich der Mengen an Schrauben...
was passiert hier =ZEILE($A$1:$A$99));Tab2!$H$1:$H$99 ?
Was macht der Bereich =ZEILE($A$1:$A$99) ? Warum Spalte A? Wie muss ich diese ersetzen?
Die Formel gibt bei mir die Fehlermeldung #NV aus.

Anzeige
AW: dazu zunächst ...
31.01.2016 10:08:34
...
Hallo Jaylan,
... weil ich gerade in Deinem andern thread geantwortet hatte, hier auch nur kurz (gehe gleich erst einmal wieder offline) folgendes: ob ZEILE(A1:A99) oder ZEILE(Z1:Z99) ist völlig gleich. Damit wird nur eine Matrix der Zahlen von 1 bis 99 gebildet, wie mit ZEILE(N3:N15) eine von 3 bis 15.
Wenn die Formel ein #NV ergibt, solltest Du doch mal Deiner Einfachheit halber einen relevanten Auszug aus Deiner Datei mit der Formel hier hochladen. Dann brauchen wir es nicht nachstellen.
Bis später.
Gruß Werner
.. , - ...

AW: Nichts da! Mit deinem alten FmlAnsatz wird ...
31.01.2016 10:10:19
Jaylan
Ah ja Luc,
wo kann ich deine beiden Standard-UDFs VJoin u.VSplit finden? Meine Suche war efolglos.

Anzeige
Das Problem ist eigentlich nur, wie neopa ...
31.01.2016 14:17:46
Luc:-?
…schon schreibt, die fehlende BspDatei, Jaylan;
ich hatte ein eigenes Bsp gefertigt, die Fml auf dessen Grundlage entwickelt und dann nur noch die entsprd Teile gg deine Angaben ausgetauscht. Das muss also nicht optimal sein.
Die beiden UDFs findest du bspw in dieser hochgeladenen BspDatei (ansonsten immer den Button RECHERCHE bemühen → 1.Rubrik=Suche im ganzen Archiv o.s.ä wählen).
Wenn man die UDF-Fml mit der UDF AggregateXk (Vs1.3, →hier) kombiniert, käme das heraus:
=AggregateXk(-9;6;VSplit(VJoin((Tab2!$G$1:$G$99='Tabelle1'!$B22)*(Tab2!$D$1:$D$99="Schrauben") *Tab2!$H$1:$H$99;;-1);;1))
Also auch eine NormalFml! Bin dann gleich mal weg!
Gruß, Luc :-?

Anzeige
AW: Das Problem ist eigentlich nur, wie neopa ...
31.01.2016 14:37:23
Jaylan
https://www.herber.de/bbs/user/103166.xlsx
Anbei meine Beispieldatei. Leider kriege ich mit den Formeln kein Ergebnis raus :/
=SUMMENPRODUKT((Hilfstabelle!$G$2:$G$11=Maschinenauswertung!$B7)*(Hilfstabelle!$D$2:$D$11="SCHRAUBE") *(VERGLEICH(""&Hilfstabelle!$H$2:$H$11;""&Hilfstabelle!$H$2:$H$11;)=ZEILE($J$1:$J$99)); Hilfstabelle!$H$2:$H$11)

AW: Das Problem ist eigentlich nur, wie neopa ...
31.01.2016 15:57:23
Josef
Hallo
Was denkst du, welche Ergebnisse der nachfolgende Formelteil liefert
VERGLEICH(""&Hilfstabelle!$H$2:$H$11;""&Hilfstabelle!$H$2:$H$11;0)
In deinem Beispiel ist das Ergebnis {1;2;3;4;2;3;4;2;3;4}
Bei deinem Festgelegten Bereich von H2 bis H11, wird der Vergleich nur Werte von 1 bis 10 liefern. Demensprechend musst du den Bereich bei ZEILE(1:X) anpassen. In deinem Beispiel ist es dann ZEILE(1:10)
Aufgelöst ist das dann {1;2;3;4;5;6;7;8;9;10}
Die Formel in F6 sieht dann so aus:
=SUMMENPRODUKT((Hilfstabelle!$G$2:$G$11=Maschinenauswertung!$B6)*(Hilfstabelle!$D$2:$D$11="SCHRAUBE") *(VERGLEICH(""&Hilfstabelle!$H$2:$H$11;""&Hilfstabelle!$H$2:$H$11;0)=ZEILE($J$1:$J$10)); Hilfstabelle!$H$2:$H$11)
Gruss Sepp

Anzeige
AW: Das Problem ist eigentlich nur, wie neopa ...
31.01.2016 21:42:22
Jaylan
Super, das hat auf jeden Fall geklappt!
Da ich aber eine größere Menge an Daten habe, habe ich nun folgende Frage. Wie muss ich denn die ZEILE anpassen, damit folgende Formel auch funktioniert?
=SUMMENPRODUKT((Hilfstabelle!$G$2:$G$4925=Maschinenauswertung!$B6) *(Hilfstabelle!$D$2:$D$4925="SCHRAUBE")*(VERGLEICH(""&Hilfstabelle!$H$2:$H$4925; ""Hilfstabelle!$H$2:$H$4925;0)=ZEILE($J$1:$J$10));Hilfstabelle!$H$2:$H$4925)
?

AW: Das Problem ist eigentlich nur, wie neopa ...
31.01.2016 22:29:50
Jaylan
Ist das dann so korrekt?
=SUMMENPRODUKT((Hilfstabelle!$G$2:$G$4925=Maschinenauswertung!$B6) *(Hilfstabelle!$D$2:$D$4925="SCHRAUBE")*(VERGLEICH(""&Hilfstabelle!$H$2:$H$4925; ""Hilfstabelle!$H$2:$H$4925;0)=ZEILE($J$1:$J$4924));Hilfstabelle!$H$2:$H$4925)
und warum funktioniert das nicht, wenn ich ="SCHRAUBE*" setze... da manchmal in meiner Liste SCHRAUBE steht oder auch SCHRAUBEN oder SCHRAUBENNUTZUNG. Wenn ich nur "SCHRAUBE" in der Formel stehen habe, kriege ich ein Ergebnis raus. Bei Erweiterung mit einem Stern (*), spuckt die Formel eine Null raus.

Anzeige
AW: Das Problem ist eigentlich nur, wie neopa ...
31.01.2016 23:06:50
Josef
Hallo
Das mit ZEILE($J$1:$J$4924)); ist so genau richtig
Und zu deinem Problem mit den Schrauben. Bei der Funktion SUMMENPRODUKT kann man die sogenannten Joker nicht verwenden, aber da hilft die Kombination ISTZAHL(SUCHEN…..
Die Formel…
=SUMMENPRODUKT((Hilfstabelle!$G$2:$G$4925=Maschinenauswertung!$B7) *ISTZAHL(SUCHEN("SCHRAUBE"; Hilfstabelle!$D$2:$D$4925))*(VERGLEICH(""&Hilfstabelle!$H$2:$H$4925; ""&Hilfstabelle!$H$2:$H$4925;0) =ZEILE($J$1:$J$4924));Hilfstabelle!$H$2:$H$4925)
..zählt nun alles wenn das Wort Schraube in Hilfstabelle!$D$2:$D$4925) enthalten ist.
Gruss Sepp

Anzeige
AW: Das Problem ist eigentlich nur, wie neopa ...
31.01.2016 23:26:04
Jaylan
Bei meiner kleineren Datenmenge funktioniert das tadellos. Bei meiner größeren Excel-Tabelle leider nicht. Finde das Problem leider nicht, als Ergebnis kriege ich meistens eine 0, obwohl das nicht der Fall sein kann.

AW: Das Problem ist eigentlich nur, wie neopa ...
01.02.2016 10:37:49
Jaylan
Hallo nochmal zusammen,
also, ich möchte meine Formel soweit verändern, dass sie nicht aufsummiert wenn die Anzahl der Zahlen verschiedenen sind, sondern sie noch nur aufsummiert, wenn die Auftragsnummer verschieden ist. Ob der Wert der Menge sich unterscheidet ist dabei irrelevant. Bei gleicher Auftragsnummer, soll die Menge an SCHRAUBE nicht aufsummiert werden - bei unterschiedlicher schon.
In meinem Beispiel in der Tabelle ist zum Beispiel eine 6, anstatt eine 8.
Kann mir jemand vielleicht behilflich sein?
Folgende Formel ergibt eine 6 bei J7:
=SUMMENPRODUKT((Hilfstabelle!$G$2:$G$4925=Maschinenauswertung!$B7) *ISTZAHL(SUCHEN("SCHRAUBE"; Hilfstabelle!$D$2:$D$4925))*(VERGLEICH(""&Hilfstabelle!$H$2:$H$4925; ""&Hilfstabelle!$H$2:$H$4925;0) =ZEILE($J$1:$J$4924));Hilfstabelle!$H$2:$H$4925)
Diese Formel summiert auf, wenn sie in Typbezeichnung, Materialbezeichnung übereinstimmt, aber die Menge sich unterscheidet.
Nun sollen folgende Bedingungen gelten: Typbezeichnung gleich, Materialbezeichnung "SCHRAUBE" gleich und wenn sich die Auftragsnummer unterscheidet, die Menge H aufsummieren.
Datei: https://www.herber.de/bbs/user/103178.xlsx
Vielen Dank schonmal für eure Hilfe!

Anzeige
AW: dann die Bedingungen erweitern ...
01.02.2016 14:32:06
...
Hallo Jaylan,
... so: (Formel nach oben und unten kopierbar):
Maschinenauswertung

 J
78

Formeln der Tabelle
ZelleFormel
J7=SUMMENPRODUKT((VERGLEICH(Hilfstabelle!B$2:B$4925&Hilfstabelle!D$2:D$4925&Hilfstabelle!G$2:G$4925;Hilfstabelle!B$2:B$4925&Hilfstabelle!D$2:D$4925&Hilfstabelle!G$2:G$4925;)=ZEILE(J$1:J$4924))*(Hilfstabelle!G$2:G$4925=Maschinenauswertung!B7)*(Hilfstabelle!D$2:D$4925="SCHRAUBE"); Hilfstabelle!H$2:H$4925)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...

AW: dann die Bedingungen erweitern ...
01.02.2016 14:43:52
Jaylan
Genau so funktionierts!! Vielen Dank!...

Formel als Makro
02.02.2016 14:07:55
Jaylan
=SUMMENPRODUKT((VERGLEICH(Hilfstabelle!B$2:B$4925&Hilfstabelle!D$2:D$4925&Hilfstabelle!G$2:G$4925; Hilfstabelle!B$2:B$4925&Hilfstabelle!D$2:D$4925&Hilfstabelle!G$2:G$4925;)=ZEILE(J$1:J$4924)) *(Hilfstabelle!G$2:G$4925=Maschinenauswertung!B7)*ISTZAHL(SUCHEN("SCHRAUBE"; Hilfstabelle!$D$2:$D$4925)); Hilfstabelle!H$2:H$4925)
Kann mir jemand vielleicht helfen, diese Formel als Makro zu programmieren?

..da neuer Beitrag eröffnet...
03.02.2016 10:16:33
zu

AW: Formel als Makro
03.02.2016 10:16:49
Jaylan
Neuen Beitrag erstellt.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige