
Generische Formel
=SUMPRODUCT(--((ISNUMBER(FIND("abc",rng)) + ISNUMBER(FIND("def",rng)))>0))
Zusammenfassung
Um Zellen zu zählen, die entweder x oder y enthalten, können Sie eine Formel verwenden, die auf der Funktion SUMPRODUCT basiert. In dem gezeigten Beispiel lautet die Formel in Zelle F5:
=SUMPRODUCT(--((ISNUMBER(FIND("abc",B5:B11))+ISNUMBER(FIND("def",B5:B11)))>0))
Dies ist die Einzelzellformellösung, die unten erläutert wird. Es ist auch möglich, eine einfachere Formel zu verwenden, die auf einer Hilfsspalte basiert, die ebenfalls unten erläutert wird.
Erläuterung
Wenn Sie Zellen mit "ODER-Logik" zählen, müssen Sie darauf achten, nicht doppelt zu zählen. Wenn Sie beispielsweise Zellen zählen, die "abc" oder "def" enthalten, können Sie nicht einfach zwei COUNTIF-Funktionen addieren, da Sie Zellen, die sowohl "abc" als auch "def" enthalten, doppelt zählen können.
Einzelzelllösung
Für eine einzelne Formel können Sie SUMPRODUCT mit ISNUMBER + FIND verwenden. Die Formel in F5 lautet:
=SUMPRODUCT(--((ISNUMBER(FIND("abc",B5:B11)) + ISNUMBER(FIND("def",B5:B11)))>0))
Diese Formel basiert auf der hier erläuterten Formel, mit der Text innerhalb einer Zelle lokalisiert wird:
ISNUMBER(FIND("abc",B5:B11)
Wenn ein Zellbereich angegeben wird, gibt dieses Snippet ein Array von TRUE / FALSE-Werten zurück, einen Wert für jede Zelle im Bereich. Da wir dies zweimal verwenden (einmal für "abc" und einmal für "def"), erhalten wir zwei Arrays.
Als nächstes addieren wir diese Arrays (mit +), wodurch ein neues einzelnes Array von Zahlen erstellt wird. Jede Zahl in diesem Array ist das Ergebnis der Addition der Werte TRUE und FALSE in den beiden ursprünglichen Arrays. Im gezeigten Beispiel sieht das resultierende Array folgendermaßen aus:
(2;0;2;0;1;0;2)
Wir müssen diese Zahlen addieren, aber wir wollen nicht doppelt zählen. Wir müssen also sicherstellen, dass jeder Wert größer als Null nur einmal gezählt wird. Dazu erzwingen wir alle Werte mit "> 0" auf TRUE oder FALSE und dann mit dem Doppel-Negativ (-) auf 1/0.
Schließlich gibt SUMPRODUCT die Summe aller Werte im Array zurück.
Hilfssäulenlösung
Mit einer Hilfsspalte, mit der jede Zelle einzeln überprüft werden kann, ist das Problem weniger komplex. Wir können COUNTIF mit zwei Werten verwenden (als "Array-Konstante" bereitgestellt). Die Formel in C5 lautet:
=--(SUM(COUNTIF(B5,("*abc*","*def*")))>0)
COUNTIF gibt ein Array zurück, das zwei Elemente enthält: eine Anzahl für "abc" und eine Anzahl für "def". Um Doppelzählungen zu vermeiden, addieren wir die Elemente und erzwingen das Ergebnis mit "> 0" auf TRUE / FALSE. Schließlich konvertieren wir die TRUE / FALSE-Werte mit einem doppelten Negativ (-) in Einsen und Nullen.
Das Endergebnis ist entweder 1 oder 0 für jede Zelle. Um eine Summe für alle Zellen im Bereich zu erhalten, summieren Sie einfach die Hilfsspalte.