Formula di Excel per convertire valori booleani in {0, 1}


25

Qual è la formula di Excel per convertire i valori booleani {FALSE, TRUE}in {0, 1}?

Supponendo che ce ne sia uno più corto di =IF(cond,1,0).


1
È interessante notare =a1+a2che restituirà la somma numerica dei logici, ma =sum(a1:a2)non lo farà. Excel 2013.
Carl Witthoft,

Risposte:


37

Potresti farlo lanciando. La funzione "int" viene arrotondata al numero intero più vicino. Se il valore booleano è in A1, la formula sarebbe:

=INT(A1)

Simile a questo, =ROUND(A1,0)fa la stessa cosa in questo contesto.
dangowans,

Oppure=CEILING(A1,1)
dangowans,

Grazie, il cast era il modo "standard" che stavo cercando. Non mi è venuto in mente di provarlo, in realtà mi aspettavo che fosse "più difficile" ...
anol

13

--è il modo più comune per convertire il valore booleano in int - ecco perché vedi funzioni che hanno --in loro proprio per questo motivo. trasformerà un array di {TRUE, FALSE, FALSE} in {1,0,0} che possono essere usati per moltiplicare altri array

Esempio:

restituendo le vendite totali dalla regione che è 9 o inferiore:

Vendite di squadra
1 $ 20
2 $ 30
11 $ 90

formula:

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

Calcolo

=SUMPRODUCT(--(True,True,False),($20,$30,$90))
=SUMPRODUCT((1,1,0),($20,$30,$90))
=1 * $20 + 1 * $30 + 0 * $90
=$20 + $30 + $0
=$50

@ fixer1234, che modifica aiuta?
SeanC,

Avevo visto sul web il --metodo, ma devo ammettere che l'uso della formula INTè molto più chiaro ed elegante. :)
loved.by.Jesus

7

Moltiplicalo per '1'. ex. Vero * 1 = 1 e Falso * 1 = 0.

Ad esempio, se la cella A1 contiene il valore booleano, in una cella vicina, inserisci la formula:

=A1*1

Nota: - True, True + 0 e True / 1 hanno lo stesso effetto.


Questo non è necessariamente più leggibile, ma è "più breve" della formula nella domanda.
dangowans,

Bello. Ciò significa che non esiste una formula integrata per la conversione? Qualcosa come "BOOLVAL" o "BOOLINT"?
anol

È abbastanza utile, ma stavo cercando una soluzione più "corretta" come quella di @ dangowans, quindi accetterò la sua soluzione. Grazie comunque!
anol

Entrambe le risposte funzionano con lo stesso principio: l'applicazione di un'operazione numerica a un valore booleano restituirà una risposta numerica.
Eccellente
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.