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

Bedingtes Ausummieren verschiedener Zellen

Bedingtes Ausummieren verschiedener Zellen
13.05.2009 19:38:10
vux
Hallo,
ich habe einfaches Problem:
Ich habe in einer Zeile mehrere Zellen, die ich zusammenaddieren möchte, ALLERDINGS sollen nur die Zellen in die Summe eingerechnet werden, die keine -77 (oder sagen wir nur positive Zahlen haben) beinhalten.
Wenn die aufzusummierden Zellen hintereinander wären, in einem geschlossenen Array also könnte man einfach SUMIF ausführen: z.B:
=SUMIF(RANGE (geschlossen in einer Zeile);"-77";RANGE (geschlossen in einer Zeile))
So, bei mir ist die Zeile nun nicht geschlossen, z.B., möchte ich Zellen aus folgenden Spalten bedingt addieren: A,B, F, H.
Wie kann ich das in einer einzigen Formel machen? (Zeilen umsortieren, Hilfsspalten, etc. kann ich nicht einführen.
Würde mich sehr über eine clevere Lösung freuen.
Danke!

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Zellen gemäss Bedingung addieren
13.05.2009 20:20:29
NoNet
Hallo vux,
bei der Klassifizierung "Excel Profi" hätte ich vermutet, dass Du selbst auf diese Funktion kommst :
{=SUMME((N(INDIREKT(INDEX({"A1"."B1"."F1"."H1"};ZEILE(1:4);0)))-77)*(N(INDIREKT(INDEX({"A1"."B1"."F1"."H1"};ZEILE(1:4);0)))))}
Oder auch :
=SUMMENPRODUKT((N(BEREICH.VERSCHIEBEN(A1;0;INDEX({0.1.5.7};ZEILE(1:4);0)))-77)*(N(BEREICH.VERSCHIEBEN(A1;0;INDEX({0.1.5.7};ZEILE(1:4);0)))))
Wobei die Matrix {0.1.5.7} für den Spalten-Offset in Bezug auf A1 steht (also: 0 Spalten nach rechts,1Spalte nach rechts, 5 Spalten nach rechts, 7 Spalten nach rechts => A1:B1;F1;H1)
Gruß, NoNet
Anzeige
AW: Zellen gemäss Bedingung addieren
13.05.2009 22:37:21
vux
Hi NoNet,
also dass muss ich noch mal zerpflücken...das sieht echt profimäßig aus...
Ich habe es so in Englisch probiert, aber er meckert bei Index (hab statt 0.1.3.7 auch 0,1,3,7 probiert)
=SUMIF((N(OFFSET(HK3;0;INDEX({0.1.3.7};ROW(1:4);0)))-77)*(N(OFFSET(HK3;0;INDEX({0.1.3.7};ROW(1:4); 0)))))
Ich versteh die Formel auch nicht ganz - warum wird da etwas multipliziert, es sollen doch nur die Werte aus den Zellen aufsummiert werden.
Würde mich über eine Aufklärung freuen.
Nicht SUMIF(), sondern nur SUM()
13.05.2009 22:52:04
NoNet
Hallo vux,
verwende anstelle SUMIF() einfach nur SUM() und bestätige die Funktion mit Strg+Shift+ENTER (=> MATRIX-Funktion !).
Die Multiplikation ist notwendig, da im ersten Teil der MATRIX-Funktion ein Vergleich (<>-77) durchgeführt wird, der eine Matrix aus WAHR/FALSCH-Werten liefert (z.B. {WAHR.WAHR.FALSCH.FALSCH}). Diese boole'schen Werte werden nun mit den einzelnen Werten des 2.Teils der Funktion multipliziert (also Werte aus {HK3.HL3.HN3.HR3} - um bei Deinem Bsp. zu bleiben). Die Multiplikation ergibt entweder 0 wenn der entsrechende Zellwert mit FALSCH multipliziert wird (falls also genau -77 in der Zelle steht !) oder dem Zellwert bei Multiplikation mit WAHR. Die Ergebnismatrix ergibt also z.B. {-23.-17.0.0} wenn in den Zellen die Werte {-23.-17.-77.-77} stehen. Und diese Werte werden dann mit =SUM() (bzw. =SUMPRODUCT()) addiert : -23 + -17 + 0 + 0 = -40.
...das sieht echt profimäßig aus...


Naja : ein bißchen Qualität darf man in einem Excel-Forum doch wohl erwarten, oder ?
Gruß, NoNet
Anzeige
AW: Zellen gemäss Bedingung addieren
13.05.2009 23:00:13
Josef
Hallo vux,
die englische Version.

=SUMPRODUCT((N(OFFSET(HK3,0,INDEX({0.1.3.7},ROW(1:4),0)))-77)*
(N(OFFSET(HK3,0,INDEX({0.1.3.7},ROW(1:4), 0)))))


Wenn du den Formelteil


(N(OFFSET(HK3,0,INDEX({0.1.3.7},ROW(1:4),0)))-77)


in der Bearbeitungsleiste markierst und F9 drückst, dann siehst du als Ergebnis eine Reihe von Nullen und Einsen,
0 wenn der Zellwert -77 ist, 1 wenn der Zellwert <> -77 ist.
wenn du den Teil


(N(OFFSET(HK3,0,INDEX({0.1.3.7},ROW(1:4), 0))))


markierst und F9 drückst, dann siehst du die Zellwerte in einer Matrix. Das Summenprodukt der beiden
Matrizen, ergibt dann die gesuchte Summe.

Gruß Sepp

Anzeige
AW: Bedingtes Ausummieren verschiedener Zellen
13.05.2009 20:39:15
Josef
Hallo ?
"Excel-Profi" ?
Tabelle1

 ABCDEFGHI
122-50-772363-2512-7749
2         
3Summe pos.169       
4Summe <>-7794       

Formeln der Tabelle
ZelleFormel
B3=SUMMENPRODUKT((A1:I1>0)*(A1:I1))
B4=SUMMENPRODUKT((A1:I1<>-77)*(A1:I1))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Sepp

Anzeige
vergiss es, Frage nicht richtig gelesen;-) O.t.
13.05.2009 20:41:38
Josef
Gruß Sepp

AW: Bedingtes Ausummieren verschiedener Zellen
13.05.2009 22:51:02
Gerd
Hi vux,
probier mal.
=SUMPRODUCT((N(OFFSET(A1,0,INDEX({0,1,5,7},ROW(1:4),0)))-77) *(N(OFFSET(A1,0,INDEX({0,1,5,7},ROW(1:4),0)))))
Gruß Gerd
AW: Bedingtes Ausummieren verschiedener Zellen
14.05.2009 11:21:32
vux
Hallo an alle,
danke nochmals.
Ich hab jetzt erstmal wenigstens die englische Schreibweise richtig bekommen - Semikolons statt Komma...
Das Problem ist jetzt ROW!
Also ich verstehe nicht genau wie die Index Fkt. so klappen soll, was soll Row denn zurückgeben, doch die Zeile in der gerade summiert werden soll, oder? Dann müsste man doch sagen: Row (HK27), oder? Aber da kommt dann ein falscher Wert raus.
Ich habe euch hier mal die Tabelle schemenhaft eingefügt, dadurch sollte es aber klarer werden, was berechnet werden soll
www.herber.de/bbs/user/61816.xls
Danke!
ps. wie kann man hier Snapshots einfügen?
Anzeige
Bedingtes Aufsummieren - Beispiel
14.05.2009 13:38:56
NoNet
Hallo vux,
nochmal eins vorweg : Dein "Excel-Profi" solltest Du nochmal überdenken.... !
Der Part Zeile($1:$4) in der Funktion dient nicht dazu, die Werte der Zeilen 1 bis 4 zu addieren, sondern in einer MATRIX-Funktion die Elemente 1 bis 4 der angegebenen MATRIX {0.1.3.7} zu "durchlaufen" ! Somit wird die Funktion für alle entsprechenden Zellen angewandt !
Hier das für dich angepasste Beispiel (mit Addition der Werte <>-77 bzw alternativ der Werte >0) :
https://www.herber.de/bbs/user/61821.xls
Einen "Snapshot" (bzw. SCREENSHOT) kannst Du hier einfügen, indem den Screenshot z.B. im JPG- oder PNG-Format speicherst, dann hier über Hier geht es zum File-Upload (oder über einen anderen Webserver) hochlädst und das Bild dann per HTML-Code einbindest :
<IMG src="https://www.herber.de/URLdesBildes.jpg" />
Gruß, NoNet
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige