Clever-Excel-Forum

Normale Version: Formel in Zelle dynamisch wiederholen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,
Ich hab hier mal wieder eine Kleinigkeit, und Zwar hab ich eine Zelle in der ich einen Wert berechnen will, der von mehreren Einträgen in anderen Zellen abhängig ist, mehrere Werte aus wiederum anderen Zellen addiert während die Anzahl dieser letzteren Zellen dynamisch ist, abhängig Von wieder anderen Zelleinträgen...

Ich habe sozusagen in Zelle A1 einen Wert stehen, der für meine Formel die Startzelle definiert, ab der addiert werden soll, der Wert in B1 definiert die Letzte Zelle.
Startzelle und Endzelle sind in derselben Spalte innerhalb eines festen Bereiches, in meinem Fall A3 bis J3.

Also wenn jetzt in A1 sowas wie C3 steht und in B1 steht F3, dann will ich die Inhalte von C3 bis F3 addieren... Aber, da es sonst zu einfach wäre, habe ich zusätzlich noch einen Multiplikator der dynamisch hinzu kommt.
Der Multiplikator ist abhängig von Werten die sich in den Zellen A4 bis J4 befinden, also wenn jetzt in Zelle C4 eine 90 steht, dann muss der Zellinhalt von C3 mit 2,2 multipliziert werden, in D4 steht eine 0, also wird der Wert in D3 mit 3,3 multipliziert .... und so weiter (glücklicherweise gibt es nur die Möglichkeit 0 oder 90 in meinem Fall) und erst nach der Multiplikation sollen die Ergebnisse addiert werden.

Das Ergebnis kommt dann in D1

Hat da jemand eine Idee wie ich das innerhalb einer Formel in einer Zelle schreiben kann ohne VBA oder, falls das so nicht möglich ist, mittels VBA?
Ich mein im Prinzip ist die Formel einfach:
A3*WENN(A4=90;2,2;3,3)+B3*WENN(B4=90;2,2;3,3)+.............J3*WENN(J4=90;2,2;3,3)

das schwierige ist, das die Bezüge Ax bis Jx dynamisch sind, also könnte es einfach C3*WENN(C4=90;2,2;3,3) sein, oder auch E3*WENN(E4=90;2,2;3,3)+...+I3*WENN(I4=90;2,2;3,3)

Ist also die Frage, wie ich es schaffe, diese einfache Formel mit dynamischen Bezügen zu gestalten und dynamisch so oft zu wiederhohlen wie Spalten zwischen der in A1 definierten und der in B1 definierten befinden (beide inklusive)?
D1: =SUMMENPRODUKT(INDEX(A3:J3;A1):INDEX(A3:J3;B1)*(INDEX(A4:J4;A1):INDEX(A4:J4;B1)={90;0})*{2,2;3,3})

Hinweis: Ich habe in A1: 3 statt "C3" und B1: 6 statt "F3" stehen, damit das unsägliche INDIREKT vermieden wird. Gleichzeitig ein Hinweis an Dich, wie man es macht.
Wunderbar, vielen Dank

Jetzt noch eine Erweiterung xD
Brauche das Ganze noch mal, nur das in diesem Fall bei der letzten Spalte die im dynamischen Bereich berechnet wird statt "2,2" "3,3" und statt "3,3" "4,95" als Multiplikatoren verwendet werden...
D1: =SUMMENPRODUKT(
INDEX(A3:J3;A1):INDEX(A3:J3;B1)*(
INDEX(A4:J4;A1):INDEX(A4:J4;B1)={90;0})*({2,2;3,3}+(SPALTE(
INDEX(A4:J4;A1):INDEX(A4:J4;B1))=B1)*{1,1;1,65}))
eine Erweiterung ist es deshalb, weil ich das eine am Ende mit dem anderen addieren will, wären dann auch A2 und B2 woher in zweitem Fall die Bezüge kommen, und für die Spalte in B2 (also die letzte Spalte im zweiten Fall) kommt dann wenn A...J40 = 90 3,3 als Multiplikator oder 4,95....

Wie auch immer, das hab ich jetzt auch gelöst, nun gibt es nur noch das Problem, das er alle Spalten zusammenrechnet wenn A1, B1, A2 und B2 leer sind, da sollte er aber eigentlich 0 auswerfen.
Von A2:B2 ist mir nichts bekannt.

Ein WENN drumrum für den Fall 0 sollte Dir aber selbst gelingen.
Ja nagut, dann mach ichs mit nem Wenn, wäre sowieso meine Lösung gewesen wenn es nicht ein Fehler in der Formel ist der dieses Problem erzeugt.
Nein, ist es nicht. Sind A1 oder B1 oder beide 0, wird der ganze Bereich verwendet. Das ist so by Excel-Design. Also darfst Du WENNen statt flennen.
Ja, ist ja gut, das wusste ich bis eben nicht, darum hab ich nachgefragt.

Danke trotzdem^^