Formule Excel pour convertir les valeurs booléennes en {0, 1}

25

Quelle est la formule Excel pour convertir les valeurs booléennes {FALSE, TRUE}en {0, 1}?

Supposons qu'il y en ait un plus court que =IF(cond,1,0).

anol
la source
1
Fait intéressant, =a1+a2renverra la somme numérique des logiques, mais =sum(a1:a2)ne le fera pas. Excel 2013.
Carl Witthoft

Réponses:

37

Vous pouvez le faire en lançant. La fonction "int" est arrondie à l'entier le plus proche. Si la valeur booléenne est en A1, la formule serait:

=INT(A1)
dangowans
la source
Similaire à cela, =ROUND(A1,0)fait la même chose dans ce contexte.
dangowans
Ou=CEILING(A1,1)
dangowans
Merci, le casting était la façon "standard" que je recherchais. Il ne m'est pas
venu à l'idée
13

--est le moyen le plus courant de convertir un booléen en int - c'est pourquoi vous voyez des fonctions qui ont le --pour elles pour cette raison. il transformera un tableau de {TRUE, FALSE, FALSE} en {1,0,0} qui peut être utilisé pour multiplier d'autres tableaux

Exemple:

renvoyer le total des ventes de la région 9 ou moins:

Ventes d'équipe
1 20 $
2 30 $
11 90 $

formule:

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

Calcul

=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
la source
@ fixer1234, Est-ce que cela vous aide?
SeanC
J'avais vu sur le web la --méthode, mais je dois admettre que l'utilisation de la formule INTest beaucoup plus claire et élégante. :)
loves.by.Jesus
7

Multipliez-le par «1». ex. Vrai * 1 = 1 et Faux * 1 = 0.

Par exemple, si la cellule A1 contient la valeur booléenne, dans une cellule voisine, entrez la formule:

=A1*1

Remarque: --True, True + 0 et True / 1 ont le même effet.

user142485
la source
Ce n'est pas nécessairement plus lisible, mais c'est "plus court" que la formule dans la question.
dangowans
C'est bien. Mais cela signifie-t-il qu'il n'y a pas de formule intégrée pour la conversion? Quelque chose comme "BOOLVAL" ou "BOOLINT"?
anol
C'est assez utile, mais je cherchais une solution plus "appropriée" comme celle de @ dangowans, donc j'accepte sa solution. Merci quand même!
anol
Les deux réponses fonctionnent sur le même principe: l'application d'une opération numérique à une valeur booléenne renvoie une réponse numérique.
Excellll