Summieren Sie mehrere Zeilen unter einer einzigen Bedingung

Summieren Sie mehrere Zeilen unter einer einzigen Bedingung

Angenommen, ich habe die folgende Tabelle im BlattMonat:

Tabellenbeispiel

Und die folgende Tabelle im Blatt__Daten:

Beispiel für Tabelle 2

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, catTblum die Bezugnahme zu erleichtern.
  • Suchen Sie die Zeile mit der MATCHFunktion:
    • =MATCH(A2,INDEX(catTbl,0,1),0)
      • Die Kategorie befindet sich in A2 und die INDEXFunktion gibt alle Zeilen in der ersten Spalte zurück.
    • Die Konstruktion N(IF(1,{2,4,6,8,10})) will return the relevant columns to theder INDEX`-Funktion.
    • Dann nur SUMdas Array

Die gesamte Formel lautet also:

=SUM(INDEX(catTbl,MATCH(A2,INDEX(catTbl,0,1),0),N(IF(1,{2,4,6,8,10}))))

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

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))

Bildbeschreibung hier eingeben

verwandte Informationen