2010-08-24 4 views

Répondre

7

Je vous suggère fortement d'éviter la deuxième méthode, que vous utilisez une chaîne littérale. Si vous utilisez la seconde méthode dans une cellule, alors vous devez vous référer à la valeur de la seconde cellule plus tard, vous ne pourrez pas utiliser TRUE ou TRUE() pour le comparer. Pour autant que je sache, la première ou la troisième méthode ne fait pas vraiment de différence. TRUE() est simplement une fonction Excel qui renvoie TRUE.

+0

Cela a du sens, merci! Je me demandais parce qu'un autre programmeur utilisait true et "true" de façon interchangeable dans Excel, donc je vais corriger cela. BTW J'ai lu votre profil - Je suis un programmeur .NET en exil VBA, donc je ressens votre douleur. – LFurness

+0

Heureux d'être utile! L'exil n'est-il pas grand? – LittleBobbyTables

2

Mieux serait encore simplement:

=A1=1 

Cela met VRAI ou FAUX dans la cellule avec moins de complexité.

0

Essayez cette petite expérience. Copiez les formules suivantes dans Excel:

A  B   C   D 
1 TRUE =NOT(A1) =A1=TRUE =A1=FALSE 
2 FALSE =NOT(A2) =A2=TRUE =A2=FALSE 
3 'true =NOT(A3) =A3=TRUE =A3=FALSE 
4 'false =NOT(A4) =A4=TRUE =A4=FALSE 

Je pense que vous serez surpris de voir les résultats:

A  B  C   D 
1 TRUE FALSE TRUE FALSE 
2 FALSE TRUE FALSE TRUE 
3 true FALSE FALSE FALSE 
4 false TRUE FALSE FALSE 

NOT() traite les valeurs chaîne 'true et 'false comme si elles sont les valeurs booléennes TRUE et FALSE. Cependant, = traite la chaîne et les valeurs booléennes comme différentes.

Par souci de cohérence, vous devez utiliser les littéraux booléens, pas les valeurs de chaîne (option 1), sinon vos résultats pourraient être incorrectes de façon inattendue parfois (option 2). Il n'y a pas grand intérêt à utiliser les formules qui retournent juste les valeurs littérales (option 3).

Questions connexes