2009-09-03 15 views
0

Ich möchte eine Reihe von Zeilen in Excel SUMMEN, basierend auf einem Wert. Im Bild unten sehen Sie die Tabelle.SUMMIF Variable Anzahl der Spalten mit unterschiedlichen Zeilen in Excel

Ich mag einen Wert in der Formel 1 setzen, um die Summe des Wertes für Jan enthalten -> (Monat # in C2 angegeben), wo der Status der Wert in C1 ist.

Wenn Sie das tun

= SUMIF (B5: B11, "offen", INDIREKTE (CONCATENATE ("C5", ADDRESS (11,2 + C2))))

Sie 25 erhalten (Zelle I2) (was die Summe von C5 und C8 ist), wohingegen das, was ich eigentlich will, 50 ist (die Summe von C5 + D5 (geöffnet im Januar und Februar) und C8 + D8 (geöffnet im Januar und Februar)

)

Hoffnung, dass einige Sinn macht?

Ich freue mich auf Kommentare, Anregungen.

Prost

Nick

alt text http://ntdd2425.fm.netbenefit.co.uk/table.png

Bearbeiten - Ich hoffe, dass ich in der Lage sein würde, dies zu tun, ohne Zwischen Spalten zu schaffen. Die Inkonsistenz in Excel ist darauf zurückzuführen, dass SUM das Summieren über mehrere Spalten unterstützt, SUMIF jedoch nicht. Also das funktioniert:

= SUMME (INDIREKT (CONCATENATE (ADDRESS (5,3), ":", ADDRESS (5,2 + $ C $ 2))))

Antwort

2

Ich würde vorschlagen, SUM verwenden () mit einem Arrays:

=SUM(C5:G11*(IF(COLUMN(C5:G11)<=($C$2+1),1,0)*IF($c$1=b5:b11,1,0))) 

dass Eingabe mit Ctrl-Umschalt-Eingabe so in als Matrixformel es geht.

YMMV, aber es funktionierte mit einem schnellen Test hier.

Grundsätzlich multiplizieren Sie drei Arrays zusammen: eins mit Ihren Daten, eins mit einer 1 oder 0 basierend auf dem Monat, Spalte für Spalte, das letzte mit einer 1 oder 0 basierend auf dem Statusfilter. Die Arrays stimmen nicht überein, daher werden sie wiederholt.

+0

Ich war auf der gleichen Linie an etwas gedacht, aber Ihre Antwort war bereits hier: = SUMME (MMULT ((b5: b11 = c1) * 1, (SPALTE (c4: g4) -COLUMN (c4) jtolle

+0

Schön. Das klappt gut, danke für die Hilfe! :) –

0

Ich denke, dass es in zwei Schritten zu tun wäre einfacher.

Fügen Sie eine Hilfssäule mit einer OFFSET Funktion hinzu, um den Wert 'Jahr bis Datum' für jede Zeile zu berechnen. Die Formel auf der Grundlage Ihrer Daten wäre:

= SUMME (OFFSET (B5,0,1,1, $ C $ 2))

Dann fügen Sie eine SUMIF Funktion, die die Helfer Spalte als Ziel hat.

= SUMIF (B5: B11, $ C $ 1, H5: H11)

SUMIF screenshot http://img200.imageshack.us/img200/4392/offset.png

Verwandte Themen