2016-05-08 17 views
0

Wie würde ich über die Formatierung eines ARRAYFORMULA hierfür gehen ?:Google Blatt ARRAYFORMULA mit mehreren mathematischen Funktionen

=$D10*(sum($F10:$I10))

Ich habe ein paar verschiedene Möglichkeiten ausprobiert, aber keiner von ihnen arbeiten. Ich habe eine Reihe von Zeilen mit dieser Formel (wobei natürlich die Zeilennummer übereinstimmt, so zum Beispiel:

=$D10*(sum($F10:$I10)) 
=$D11*(sum($F11:$I11)) 
=$D12*(sum($F12:$I12)) etc... 

Ich brauche diese Formel in jeder Reihe, aber ich versuche eine ARRAYFORMULA, um herauszufinden, so dass es funktioniert wenn ich hinzufügen oder Zeilen subtrahieren.

Vielen Dank für Ihre Hilfe!

UPDATE ***************************** *******************************************

Ich habe habe gerade herausgefunden, dass =arrayformula(D7:D*(F7:F+G7:G+H7:H+I7:I)) funktioniert, aber ich muss hinzufügen und Spalten auch abziehen. Gibt es eine Möglichkeit, es mit sum() arbeiten zu lassen?

Antwort

1

Ich glaube MMULT eine Alternative gut sein kann:

=ArrayFormula(if(len(D2:D), D2:D*mmult(N(F2:I),transpose(column(F2:I2)^0)),)) 

ändern Bereiche anpassen.

+0

Danke, JPV, dieser hat funktioniert! – Shoelaced

0

Der beste Weg, mathematisches Problem zu lösen, ist es zu teilen.

Sie haben zwei Multiplikatoren: D x Summe (F: F)

Die erste Aufgabe ARRAYFORMULA mit D. zu machen, ist es einfach:

=ArraFormula(D10:D1000) 

Und der schwierige Teil ist ARRAYFORMULA zu machen mit Summe. Dieser Teil wurde bereits gestellt und von AdamL answered her e. In Ihrem Fall:

=ArrayFormula(SUMIF(IF(COLUMN(F1:I1),ROW(A10:A1000)),ROW(A10:A1000),F10:I1000)) 

Und Ihre letzte Formel ist

=ArrayFormula(D10:D1000 * 
SUMIF(IF(COLUMN(F1:I1),ROW(A10:A1000)),ROW(A10:A1000),F10:I1000)) 
+0

Danke Max, dieser schien zu arbeiten, aber dann bemerkte ich, dass es Zeilen hinzufügen - verwaltet stoppen Sie es rund 8.000 und löschen Sie sie. – Shoelaced

+0

Um zu verhindern, dass neue Zeilen hinzugefügt werden, verwenden Sie geschlossene Bereiche: a1: a1000, offset (a10 ,,, counta (a10: a)) –