Konvertieren positiver Zahlenwerte in den Booleschen Wert TRUE in Excel

Konvertieren positiver Zahlenwerte in den Booleschen Wert TRUE in Excel

Ich versuche, alle Einträge basierend auf mehreren spezifischen Bedingungen zusammenzufassen.

Das Ziel besteht darin, alle Einträge zu zählen, die in den Zellen J, K, L oder M ein Häkchen bei „Ja“ und in H ein Häkchen bei „1.“ haben.

Dies ist die Formel, die ich derzeit verwende:

=SUMPRODUCT((('J2:J100="yes") + (K2:K100="yes") + (L2:L100="yes") + (M2:M100="yes")) * (H2:H100="1st"))

Das funktioniert fast.

Das Problem besteht darin, dass ich einen Datensatz nur einmal zählen möchte, wenn er in einer der 4 Zellen (J, K, L, M) ein „Ja“ hat, und nicht mehrere Male. Wenn also beispielsweise ein einzelner Datensatz in beiden Zellen K und L „Ja“ markiert hat und in H die 1. ist, wird er zweimal statt einmal gezählt.

Dies liegt daran, dass die Funktion SUMPRODUCT 0 + 1 + 1 + 0 * 1 ergibt, was = 2 ist.

Ich denke, wenn es eine Möglichkeit gäbe, den ersten Teil der von mir geschriebenen Funktion in einen Booleschen Wert umzuwandeln, sodass jeder positive Wert als 1 und jeder negative als „Falsch“ behandelt wird, wäre mein Problem gelöst.

Antwort1

Fügen Sie einen>0

=SUMPRODUCT((('J2:J100="yes") + (K2:K100="yes") + (L2:L100="yes") + (M2:M100="yes")>0) * (H2:H100="1st"))

Jetzt

(0 + 1 + 1 + 0 > 0) * 1

Wird werden

1 * 1

welches ist1

Antwort2

>0wird offensichtlich gut funktionieren und wahrscheinlich schneller als eine Funktion.

Die genaue Idee dahinter ist möglicherweise weder Ihnen (in zwei Jahren) noch jemand anderem, der die Tabelle irgendwann einmal pflegen wird, ganz klar.

Excel verfügt über eine Funktion, OR()die diese Situation sehr gut abdeckt. Anstatt vier separate Vergleiche durchzuführen, die 1/0 ergeben, addiert werden, verglichen werden usw., führt es einfach, für jeden klar, jetzt und für immer, die vier Vergleiche durch und erzeugt eine einzelne 1 oder 0 als Ausgabe.

Nun, nicht direkt: Es erzeugt ein WAHR oder FALSCH, aber die Multiplikation mit dem Element in Spalte H erzwingt das Ergebnis in 1 oder 0 und lässt die Multiplikation erfolgreich sein. (Das ist, was passiert, wenn Sie sehen, dass Leute die --oder *1-Methoden verwenden, um denselben Effekt zu erzielen. Aber JEDE Multiplikation funktioniert, nicht nur mit diesen, also sind sie nicht notwendig.

Die Leute lieben jedoch die Methode (0+1+1+0) und es stellt für sie kein Problem dar. Wenn Sie jedoch eine einfache andere Methode wünschen, ist diese genau das OR()Richtige für Sie.

verwandte Informationen