Excel-Formel zum Konvertieren von Booleschen Werten in {0, 1}

24

Was ist die Excel - Formel boolean Werte konvertieren {FALSE, TRUE}in {0, 1}?

Angenommen, es gibt eine kürzere als =IF(cond,1,0).

anol
quelle
1
Interessanterweise =a1+a2wird die numerische Summe der logischen Werte zurückgegeben, jedoch =sum(a1:a2)nicht. Excel 2013.
Carl Witthoft

Antworten:

36

Sie könnten es durch Casting tun. Die Funktion "int" rundet auf die nächste Ganzzahl. Wenn der Boolesche Wert in A1 ist, lautet die Formel:

=INT(A1)
Dangowans
quelle
Ähnlich =ROUND(A1,0)verhält es sich in diesem Zusammenhang.
Dangowans
Oder=CEILING(A1,1)
Dangowans
Danke, die Besetzung war der "Standard", nach dem ich gesucht habe. Es ist mir nicht
eingefallen
13

--ist die gebräuchlichste Methode, um boolesche Werte in int zu konvertieren. Aus --diesem Grund werden Funktionen angezeigt, in denen die Zeichen enthalten sind . es wird ein Array von {TRUE, FALSE, FALSE} in {1,0,0} verwandelt, mit dem andere Arrays multipliziert werden können

Beispiel:

Rückgabe des Gesamtumsatzes aus einer Region mit 9 oder weniger:

Team Sales
1 $ 20
2 $ 30
11 $ 90

Formel:

=SUMPRODUCT(--(A2:A4<=9),B2:B4)

Berechnung

=SUMPRODUCT(--(True,True,False),($20,$30,$90))
=SUMPRODUCT((1,1,0),($20,$30,$90))
=1 * $20 + 1 * $30 + 0 * $90
=$20 + $30 + $0
=$50
SeanC
quelle
@ fixer1234, Hilft das bearbeiten?
SeanC
Ich hatte die --Methode im Internet gesehen , aber ich muss zugeben, dass die Verwendung der Formel INTviel klarer und eleganter ist. :)
loved.by.Jesus
7

Multipliziere es mit '1'. Ex. Wahr * 1 = 1 und Falsch * 1 = 0.

Wenn beispielsweise Zelle A1 den Booleschen Wert enthält, geben Sie in einer benachbarten Zelle die Formel ein:

=A1*1

Hinweis: - Wahr, Wahr + 0 und Wahr / 1 haben den gleichen Effekt.

user142485
quelle
Dies ist nicht unbedingt lesbarer, aber "kürzer" als die Formel in der Frage.
Dangowans
Das ist schön. Aber heißt das, dass es keine eingebaute Formel für die Konvertierung gibt? So etwas wie "BOOLVAL" oder "BOOLINT"?
anol
Das ist ziemlich nützlich, aber ich habe nach einer "richtigen" Lösung wie @dangowans gesucht, also werde ich seine Lösung akzeptieren. Danke trotzdem!
anol
Beide Antworten funktionieren nach demselben Prinzip: Wenn Sie eine numerische Operation auf einen Booleschen Wert anwenden, wird eine numerische Antwort zurückgegeben.
Hervorragend