HERBERS Excel-Forum - das Archiv

Thema: Formel mit Index-Funktion

Formel mit Index-Funktion
Florian
hallo

gibt es eine Formel, die die Summe von Zahlen bildet, die mit ihrem Index gegeben sind?

Folgendes Makro liefert die Anfangsbedingungen (als Beispiel):

Sub AufbaU()

Range("j4:n4") = Array(20, 300, 600, 1100, 1200) 'Summandenzeile
Range("j5:n5") = Array(1, 3, 2, , 1) 'Indexzeile
End Sub


Die gesuchte Formel, nicht Makro, soll (20+600+300+20=) 940 ergeben.

Summandenzeile und Indexzeile sind gleich groß, stehen aber nicht unbedingt untereinander.
Ich denke, dass es mit INDEX gehen sollte, bringe es aber nicht fertig.

Achtung: Die Indexzeile kann auch leere Zellen enthalten. Das soll keine Fehlermeldung ergeben.

Vielen Dank und liebe Grüße,
Florian
AW: Formel mit Index-Funktion
Onur
=SUMME(INDEX($J$4:$N$4;;$J5:$N5))
AW: Formel mit Index-Funktion
Florian
hi onur,

fast perfekt. Nur, es kommt 960 raus, nicht 940. Die leere Zelle wird wie eine 1 als Index berücksichtigt und erzeugt ungewollt einen Beitrag zur Summe.

Gibt es Abhilfe dagegen?

Danke jedenfalls für Deine Antwort.

LG, Florian
AW: Formel mit Index-Funktion
Onur
=SUMME(INDEX(WENN($J5:$N5="";0;$J$4:$N$4);;$J5:$N5)*($J5:$N5<>""))
AW: Formel mit Index-Funktion
Florian
danke, wieder was gelernt.

was ich vorher nicht bedacht habe: die Formel soll aber auch funktionieren, wenn Indexzeile und Datenzeile nicht gleich groß sind.

Habe dazu selbst zwei passende Formel gefunden:
Falls es zufälligerweise wen interessiert, hier sind sie:
=SUMME(INDEX($J4:$N4;;$J$5:$S$5)*($J5:$S5<>""))

und mit gleichem Ergebnis
=SUMME(WENN($J5:$S5<>"";INDEX($J4:$N4;;$J$5:$S$5)))

wobei die Daten in j4:n4 und die Indizes in j5:s5 liegen und leere Zellen in der Indexzeile nicht berücksichtigt werden.
UNd gleich noch eine Formel, mit der man auch das Produkt aus Zellen bilden kann, deren Indizes gegeben sind, bilden:
=PRODUKT(WENN($J5:$S5<>"";INDEX($J4:$N4;;$J$5:$S$5)))


Hast mir auf die Sprünge geholfen, onur.
Danke und lg, florian