Fórmula do Excel para converter valores booleanos em {0, 1}

25

Qual é a fórmula Excel para converter valores booleanos {FALSE, TRUE}em {0, 1}?

Supondo que haja um menor que =IF(cond,1,0).

anol
fonte
1
Curiosamente, =a1+a2retornará a soma numérica das lógicas, mas =sum(a1:a2)não retornará . Excel 2013.
Carl Witthoft

Respostas:

37

Você poderia fazer isso lançando. A função "int" arredonda para o número inteiro mais próximo. Se o valor booleano estiver em A1, a fórmula seria:

=INT(A1)
dangowans
fonte
Semelhante a isso, =ROUND(A1,0)faz a mesma coisa neste contexto.
dangowans
Ou=CEILING(A1,1)
dangowans 30/08/12
Obrigado, o elenco era a maneira "padrão" que eu estava procurando. Não ocorreu-me tentar isso, eu estava realmente esperando que ele seja "mais difícil" ...
anol
13

--é a maneira mais comum de converter booleano em int - é por isso que você vê funções que contêm o mesmo --por esse mesmo motivo. transformará uma matriz de {TRUE, FALSE, FALSE} em {1,0,0}, que pode ser usada para multiplicar outras matrizes

Exemplo:

retornando o total de vendas da região com 9 ou menos:

Vendas da equipe
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
SeanC
fonte
@ fixer1234, Essa edição ajuda?
SeanC
Eu tinha visto na web o --método, mas devo admitir que o uso da fórmula INTé muito mais claro e elegante. :)
loved.by.Jesus
7

Multiplique por '1'. ex. Verdadeiro * 1 = 1 e Falso * 1 = 0.

Por exemplo, se a célula A1 contiver o valor booleano, em uma célula vizinha, digite a fórmula:

=A1*1

Nota: - Verdadeiro, Verdadeiro + 0 e Verdadeiro / 1 têm o mesmo efeito.

user142485
fonte
Isso não é necessariamente mais legível, mas é "mais curto" do que a fórmula da pergunta.
dangowans
Isso é bom. Mas isso significa que não existe uma fórmula interna para a conversão? Algo como "BOOLVAL" ou "BOOLINT"?
anol 30/08/12
Isso é bastante útil, mas eu estava procurando por uma solução mais "adequada", como a do @ dangowans, então aceitarei a solução dele. Obrigado mesmo assim!
anol 30/08/12
Ambas as respostas funcionam com o mesmo princípio - a aplicação de uma operação numérica a um valor booleano retornará uma resposta numérica.
Excellll