2017-03-15 6 views
0

Ich versuche, eine intelligente bedingte Summierung innerhalb von Excel einzurichten. Aber der Funktionsumfang scheint nicht das zu bieten, wonach ich suche.SUMME Minimum-So-weit-Bedingung

Ich habe zwei Spalten von Zahlen. In A habe ich die Einrückungsstufen. In B habe ich Werte.

Für eine bestimmte Zeile, die Kind Einbuchtungen hat, ich möchte eine Formel in B verwenden, die die Summe der Werte in B von der nächsten Zeile nach unten auf die nächste Instanz dieser Zeile berechnen wird ist ein Wert wenn der entsprechende Wert in A ist das minumum bisher.

z.B.

row | A | B | calc'd 
-------------------- 
    1 | 0 | 9 | y 
    2 | 2 | 2 | 
    3 | 1 | 7 | y 
    4 | 2 | 3 | 
    5 | 2 | 4 | 
    6 | 0 | 5 | y 
    7 | 1 | 5 | 

Also, für Zeile 1 wird die Summe Bereich Zeilen 2 bis 5 dieser Teil, ich mit einem OFFSET MATCH tun können.

Die SUMIF sollte Zeile 2 enthalten, da A2 der Mindestwert in A2: A2 ist.

Ebenso sollte Zeile 3 enthalten sein, da A3 der Mindestwert in A2: A3 ist.

Aber es sollte Zeilen 4 oder 5 in der Summe nicht enthalten, weil ihre A-Spaltenwerte nicht das Minimum "so weit" sind. (Diese Werte wurden bereits in Zeile 3 "aufsummiert".)

Wie erstelle ich ein Entfernungssummensymbol mit dieser Bedingung "Minimum-so-weit"?

+0

Da Sie versuchen, die gleiche Spalte zu summieren, in der Sie die gleichen Werte platzieren, ist die beste Wette vba. Eine Formel wird nicht umsichtig sein, da Sie die Formel in die Bereiche eingeben müssen, die summiert werden sollen, wobei der Wert in den Bereichen bleibt, die nicht summiert werden sollen. –

+0

Ja, ich versuche, die Quellwerte und die Summen in derselben Spalte einzugeben. Weil in dem obigen Beispiel Zeile 1 = Zeile 2 + Zeile 3 und Zeile 3 = Zeile 4 + Zeile 5 ist. Die effektive Bedingung ist "Summe, wenn der Wert von Col A minimal ist _so far_". Wenn nicht, würde ich eine noch kompliziertere Formel brauchen. Ich könnte das leicht machen, wenn ich die doppelte Einrückung, die A2 ist, nicht erlauben würde, also würde B1 nur die Elemente auf Einzug-1 summieren. Aber das ist nicht flexibel genug für reale Benutzer. – Rick

Antwort

0

Ich habe eine Lösung gefunden. Nicht ganz so sauber, wie ich es wollte, aber es macht den Trick:

Fügen Sie einen Helper-Wert zu Spalte C hinzu, die die "Eltern-Zeile" ist wird in Summe.

Zum Beispiel C5 {=MAX(ROW($9:5)*(A$1:A4<A5))} (Hinweis: Array-Funktion).

Erstellen der endgültigen Gleichung für B1 =SUMIF(C2:Cn,"="&ROW(),B2:Bn) (wobei n die obere Grenze des Arbeitsbereichs ist).

Wie hier geschrieben, vermasselt das Einfügen von Zeilen die Dinge, aber es kann alles mit OFFSET s für Zeileneinfügbarkeit erweitert werden.

Verwandte Themen