![Summieren Sie mehrere Zeilen unter einer einzigen Bedingung](https://rvso.com/image/1606683/Summieren%20Sie%20mehrere%20Zeilen%20unter%20einer%20einzigen%20Bedingung.png)
Angenommen, ich habe die folgende Tabelle im BlattMonat:
Und die folgende Tabelle im Blatt__Daten:
Im Blatt__DatenIch möchte alle Werte aus den Spalten P, R, T, V und X für den angegebenen Kategorienamen summieren.
Für eine einzelne Zeile kann ich die folgende Formel verwenden: (zum Beispiel cat6)
=IF(
SUMIF(month!$O$5:$O$34;__data!$A7;month!$P$5:$P$34)<>0;
SUMIF(month!$O$5:$O$34;__data!$A7;month!$P$5:$P$34);
"")
Ich glaube, das sollte mit möglich sein SUMPRODUCT
. Aber ich komme nicht dahinter, wie das codiert werden soll.
Ich habe diese SUMPRODUCT-Formel, aber diese führt zu einem #VALUE!
Fehler;
=SUMPRODUCT(
--(month!$O$5:month!$O$34=__data!$A7);
(
month!$P$5:month!$P$34 +
month!$R$5:month!$R$34 +
month!$T$5:month!$T$34 +
month!$V$5:month!$V$34 +
month!$X$5:month!$X$34)
)
Ich glaube, dass dies etwas mit der Art und Weise zu tun hat, wie die Werte in P, R, T, V und X ausgefüllt werden. Dies geschieht mit der folgenden Formel:
=IF(SUMIF($B$5:$B$123;O8;$D$5:$D$123)<>0;SUMIF($B$5:$B$123;O8;$D$5:$D$123);"")
Antwort1
Dies ist mit einer einzigen Formel ganz einfach möglich. Sie benötigen jedoch eine Methode zum Zurückgeben diskontinuierlicher Spalten.
- Ich habe die Datentabelle benannt,
catTbl
um die Bezugnahme zu erleichtern. - Suchen Sie die Zeile mit der
MATCH
Funktion:=MATCH(A2,INDEX(catTbl,0,1),0)
- Die Kategorie befindet sich in A2 und die
INDEX
Funktion gibt alle Zeilen in der ersten Spalte zurück.
- Die Kategorie befindet sich in A2 und die
- Die Konstruktion
N(IF(1,{2,4,6,8,10})) will return the relevant columns to the
der INDEX`-Funktion. - Dann nur
SUM
das Array
Die gesamte Formel lautet also:
=SUM(INDEX(catTbl,MATCH(A2,INDEX(catTbl,0,1),0),N(IF(1,{2,4,6,8,10}))))
Antwort2
Generell ist das Arbeiten mit nicht kontinuierlichen Excel-Formeln schwierig.
Ich schlage vor, eine Hilfszeile hinzuzufügen, in der Sie angeben, welche Spalten Sie zusammenfassen möchten. Anschließend können Sie diese relativ einfache Formel verwenden:
=SUMIF($Q$4:$Y$4,1, INDEX($Q$6:$Y$19,MATCH(M6,$P$6:$P$19,0),0))