Microsoft Excel

Herbers Excel/VBA-Archiv

Summenprodukt innerhalb einer Zeile mit Bedingung

Betrifft: Summenprodukt innerhalb einer Zeile mit Bedingung von: Andreas
Geschrieben am: 29.09.2014 11:56:49

Hallo zusammen,

ich habe eine Frage bezüglich eines Summenprodukts innerhalb einer Zeile unter Verwendung einer Bedingung.

Folgendes Szenario:

In einer Zeile möchte ich die Spalten Multiplizieren: A5*A6+A7*A8+A9*A10 - hierzu verwende ich die Formel =SUMPRODUCT(A5:NW5*A39:NX39*ISODD(COLUMN(A5:NW5)))

Jedoch steht nicht in jedem A6, A8, A10 ein Wert - wenn hier kein Wert steht möchte ich gerne den zugehörigen Wert aus C6, C8, C10 wählen. D.h. ich benötige eine Forme, die prüft, ob in A6, A8, ... ein Wert steht & falls dies nicht der fall ist, den Wert aus C6, C8, ... verwendet.

Vielen Dank schonmal für Eure Hilfe!!!

Viele Grüße

Andreas

  

Betrifft: AW: Summenprodukt innerhalb einer Zeile mit Bedingung von: {Boris}
Geschrieben am: 29.09.2014 12:21:45

Hi Andreas,

vom Prinzip her so:

{=SUM(IF(5:5,5:5,7:7)*6:6*(MOD(COLUMN(1:1),2)=1))}

Heißt: Steht in Zeile 5 eine Zahl, dann nimm die aus Zeile 5, ansonsten aus Zeile 7 und multipliziere dann mit Zeile 6 (und nur bei "ungeraden" Spalten).

Als ARRAY(!)formel!

VG, Boris


  

Betrifft: AW: Summenprodukt innerhalb einer Zeile mit Bedingung von: Andreas
Geschrieben am: 29.09.2014 13:25:15

Hallo Boris,

ich habe mich falsch ausgedrückt, tut mir leid! Die Formatierung ist folgendermaßen:

In der Selben Zeile stehen abwechselnd die Zahlen, die multipliziert werden sollen: G6*H6+I6*J6+K6*L6 (Je ein Produkt Menge*Preis)
Jedoch steht nicht in jedem H6, J6, K6 ein Wert. Falls hier kein Wert steht soll der Wert aus einer parallel laufenden Zeile genommen werden, bspw. J39 anstatt J6 (G6*H6+I6*J39+K6*L6) (In Zeile 39 stehen Alternativpreise, falls in Zeile 6 kein Preis eingetragen ist)

Die bisher verwendete Formel =SUMPRODUCT(G6:NW6*H6:NX6*ISODD(COLUMN(G6:NW6))) prüft nicht, ob H6, J6, K6 etc. einen Wert hat.

Ich hoffe, ich konnte meine Frage deutlich darstellen und hoffe, dass es hierfür eine Lösung gibt :) Leider konnte ich keine Beispielsdatei hier hoch laden.

Viele Grüße

Andreas


  

Betrifft: AW: Summenprodukt innerhalb einer Zeile mit Bedingung von: Daniel
Geschrieben am: 29.09.2014 13:36:18

Hi

probier mal das, muss aber als Matrixformel eingegeben werden, dh Eingabe immter mit STRG+SHIFT+ENTER abschließen:

=SUM(G6:NW6*IF(H6:NX6="",H39:NX39,H6:NX6)*ISODD(COLUMN(G6:NW6)))
Gruß Daniel


  

Betrifft: Genau das hab ich doch schon geschrieben...?! oT von: {Boris}
Geschrieben am: 29.09.2014 13:59:29

...


  

Betrifft: Kam mir auch gleich so vor, ... von: Luc:-?
Geschrieben am: 29.09.2014 15:31:13

…Boris,
aber möglicherweise liest Daniel andere AWn nicht immer. Zumindest kann man zB auch in diesem kürzlich archivierten Thread einen solchen Eindruck gewinnen… ;->
Gruß, Luc :-?

Besser informiert mit …


  

Betrifft: Na ja, wat soll`s ;-) oT von: {Boris}
Geschrieben am: 29.09.2014 20:11:42

...


  

Betrifft: AW: Summenprodukt innerhalb einer Zeile mit Bedingung von: Andreas
Geschrieben am: 29.09.2014 14:14:51

Super, vielen Dank euch Beiden! Es scheint so zu funktionieren :-)

Ich habe noch eine abschließende Frage - Falls der Wert, der rausgefiltert soll anstatt leer zu sein ("") eine 0 ist, wie filter ich das heraus? Ich habe versucht, in die gleiche Formel anstatt H6:NX6="" H6:NX6=0 oder H6:NX6="0" einzusetzen aber dies hat ebenso wenig funktioniert wie die Formel umzubauen mit H6:NX6<>0... Wäre super, wenn ihr mir hier noch helfen könntet :)

Viele Grüße

Andreas


  

Betrifft: AW: Summenprodukt innerhalb einer Zeile mit Bedingung von: Daniel
Geschrieben am: 29.09.2014 14:23:00

Hi
so vielleicht in der IF_Bediungung:

...IF(H6:NX6="",H39:NX39,IF(H6:NX6=0,H39:NX39,H6:NX6))...
Gruß Daniel


  

Betrifft: AW: Summenprodukt innerhalb einer Zeile mit Bedingung von: {Boris}
Geschrieben am: 29.09.2014 16:36:30

Hi,

wenn "" leer wirklich LEER bedeutet (und nicht ein durch eine Funktion zurückgegebener Leerstring ist), dann kannst Du das so abfragen wie ich Dir das schon geschrieben habe:

IF(5:5,6:6,5:5)

Die Bedingung ist eben nur dann WAHR (IF(5:5)), wenn die Zelle eine ZAHL ungleich NULL enthält. Aber es dürfen eben keine TEXTE drin stehen, da dies zum Fehlerwert #VALUE! führen würde.

VG, Boris


  

Betrifft: Nachtrag / Korrektur von: {Boris}
Geschrieben am: 29.09.2014 16:38:23

IF(5:5,6:6,5:5)

sollte natürlich

IF(5:5,5:5,6:6)

heißen.

VG, Boris


 

Beiträge aus den Excel-Beispielen zum Thema "Summenprodukt innerhalb einer Zeile mit Bedingung"