2016-09-02 3 views
2

Ich habe keine Ahnung, warum Summierung über die Array-Formel nicht korrekte Ergebnisse zurückgibt. Die Formel lautet:Excel-Formeln Summe über Array

=SUM(INDEX($C$4:$C$12,TRANSPOSE(OFFSET(K17,0,0,1,COUNT(K17:S17))))) 

Was ich tun möchte, ist, mehrere Werte von $C$4:$C$12 auf Werte in K17:S17 basierend auswählen und summieren Sie es dann. In der Zeile K17:S17 können 1 bis 9 positive ganze Zahlen (von 1 bis 9) angegeben werden, die bestimmen, welche Zeile aus C4:C12 auszuwählen ist.

Wenn ich nur INDEX($C$4:$C$12,TRANSPOSE(OFFSET(K17,0,0,1,COUNT(K17:S17)))) als Array-Funktion verwende, gibt es die Werte, die ich richtig angenommen werden soll. aber das Addieren von sum in frot gibt nur den ersten Wert aus dieser Menge zurück.

+0

Warum nicht '{= SUMME (N (OFFSET ($ C $ 4, K17: S17-1,)))} '? Siehe: http://stackoverflow.com/questions/38342495/sum-values-using-arrays-and-index/38343185#38343185 –

Antwort

0

Um ein Array als INDEX ‚s row_num oder col_num Parameter, ein wenig Zwang erforderlich ist, weitergeben müssen:

https://excelxor.com/2014/09/05/index-returning-an-array-of-values/

Also, es ist besser, wenn möglich, flüchtige OFFSET Konstruktionen zu vermeiden.

=SUM(INDEX($C$4:$C$12,N(IF({1},K17:INDEX(K17:S17,MATCH(9.9E+307,K17:S17))))))

die übrigens tut nicht erfordern CSE.

bearbeiten: wenn der Maximalwert im Bereich K17:S17 9, wir 9.9E+307 mit 10 ersetzen:

=SUM(INDEX($C$4:$C$12,N(IF({1},K17:INDEX(K17:S17,MATCH(10,K17:S17))))))

Grüße