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
.
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
)
In der zweiten Formel:
numWords
ist die Anzahl der Wörter in der Zelle „Enthält Wörter“
seq
und gibt ein Zahlen-Array zurück, das gleich „Anzahl Wörter“ ist (z. B.: {1,2,3}
)
MMULT
wird verwendet, um die Arrays der gültigen Suchvorgänge in eine einzelne Wertespalte umzuwandeln (z. B. ähnlich wie BYROW
in der ersten Formel).
So teilen Sie die Textzeichenfolge an den Kommas auf:(ersetzt die TEXTSPLIT
Funktion
TRIM(
MID(
SUBSTITUTE(
$B$12,
",",
REPT(" ", 99)
),
IF(seq = 1, 1, (seq - 1) * 99),
99
)