Summe zwischen zwei Daten mit mehreren Textkriterien

Summe zwischen zwei Daten mit mehreren Textkriterien

Ich möchte die Summe (der Spalte „Betrag“ im Bereich U3:U8) des Datums (Spalte „Datum“ im Bereich S3:S8) im Bereich von „1.4.18“ bis „31.3.19“ nur von Aman, Dell und Ivan (Spalte „Beschreibung“ im Bereich) berechnen T3:T8.

Summe zwischen zwei Daten mit mehreren Textkriterien

Antwort1

Wenn Sie Microsoft 365 haben, funktioniert die folgende Formel:

=SUM(
    FILTER(
        $C$3:$C$8,
        BYROW(
            $B$3:$B$8,
            LAMBDA(arr,
                OR(ISNUMBER(SEARCH(TEXTSPLIT(B12, ","), arr)))
            )
        ) * ($A$3:$A$8 >= $A$12) * ($A$3:$A$8 <= A13)
    )
)

Dies ist mit früheren Versionen möglich, aber etwas komplizierter.

Erstellen Sie zunächst zweiBenannte Formeln:

numWords Refers To: =LEN(Sheet9!$B$12)-LEN(SUBSTITUTE(Sheet9!$B$12,",",""))+1

seq      Refers To: =ROW(INDEX(Sheet9!$A:$A,1):INDEX(Sheet9!$A:$A,numWords))

Sie können dann diese Formel verwenden:

=SUM(
    MMULT(
        ISNUMBER(
            SEARCH(
                TRANSPOSE(
                    TRIM(
                        MID(
                            SUBSTITUTE(
                                $B$12,
                                ",",
                                REPT(" ", 99)
                            ),
                            IF(seq = 1, 1, (seq - 1) * 99),
                            99
                        )
                    )
                ),
                $B$3:$B$8
            )
        ) * ($A$3:$A$8 >= $A$12) * ($A$3:$A$8 <= $A$13),
        seq ^ 0
    ) * $C$3:$C$8
)

Bildbeschreibung hier eingeben

In der zweiten Formel:

numWordsist die Anzahl der Wörter in der Zelle „Enthält Wörter“
seqund gibt ein Zahlen-Array zurück, das gleich „Anzahl Wörter“ ist (z. B.: {1,2,3})
MMULTwird verwendet, um die Arrays der gültigen Suchvorgänge in eine einzelne Wertespalte umzuwandeln (z. B. ähnlich wie BYROWin der ersten Formel).

So teilen Sie die Textzeichenfolge an den Kommas auf:(ersetzt die TEXTSPLITFunktion

TRIM(
                        MID(
                            SUBSTITUTE(
                                $B$12,
                                ",",
                                REPT(" ", 99)
                            ),
                            IF(seq = 1, 1, (seq - 1) * 99),
                            99
                        )

verwandte Informationen