Fórmula de Excel para convertir valores booleanos en {0, 1}


25

¿Cuál es la fórmula de Excel para convertir los valores booleanos {FALSE, TRUE}en {0, 1}?

Suponiendo que haya uno más corto que =IF(cond,1,0).


1
Curiosamente, =a1+a2devolverá la suma numérica de las lógicas, pero =sum(a1:a2)no lo hará. Excel 2013.
— Carl Witthoft

Respuestas:


37

Podrías hacerlo fundiendo. La función "int" se redondea al entero más cercano. Si el valor booleano está en A1, la fórmula sería:

=INT(A1)

Similar a esto, =ROUND(A1,0)hace lo mismo en este contexto.
— dangowans

O=CEILING(A1,1)
— dangowans

Gracias, el elenco era la forma "estándar" que estaba buscando. No me ocurrió probar que, en realidad estaba esperando a ser "más duro" ...
— anol

13

--es la forma más común de convertir booleanos en int; es por eso que ves las funciones que tienen --en ellos por esta misma razón. convertirá una matriz de {TRUE, FALSE, FALSE} en {1,0,0} que se pueden usar para multiplicar otras matrices

Ejemplo:

devolviendo las ventas totales de la región que es 9 o menos:

Equipo de ventas
1 $ 20
2 $ 30
11 $ 90

fórmula:

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

Cálculo

=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, ¿eso edita la ayuda?
— SeanC

Había visto en la web el --método, pero debo admitir que usar la fórmula INTes mucho más claro y elegante. :)
— loved.by.Jesus

7

Multiplique por '1'. ex. Verdadero * 1 = 1 y falso * 1 = 0.

Por ejemplo, si la celda A1 contiene el valor booleano, en una celda vecina, ingrese la fórmula:

=A1*1

Nota: --Verdadero, verdadero + 0 y verdadero / 1 tienen el mismo efecto.


Esto no es necesariamente más legible, pero es "más corto" que la fórmula en la pregunta.
— dangowans

Eso es bueno. ¿Pero eso significa que no hay una fórmula integrada para la conversión? ¿Algo como "BOOLVAL" o "BOOLINT"?
— anol

Eso es bastante útil, pero estaba buscando una solución más "adecuada" como la de @ dangowans, así que aceptaré su solución. ¡Gracias de cualquier manera!
— anol

Ambas respuestas funcionan según el mismo principio: la aplicación de una operación numérica a un valor booleano devolverá una respuesta numérica.
— Excellll
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.