J'utilise la formule INT pour convertir les valeurs booléennes TRUE et FALSE en 1 et en 0. Cependant, j'ai copié certaines données qui me sont fournies dans ma feuille de calcul et Excel n'a pas reconnu le texte comme étant booléen dans certains cas.
Le texte VRAI et FAUX est aligné à gauche et est formaté en tant que 'Général'. La formule INT ne reconnaît pas cela comme booléen. Cependant, dès que je clique sur une cellule VRAI ou FAUX, puis que je tape sur Entrée, le texte devient aligné au centre et ma formule la reconnaît comme booléenne et la convertit en entier.
Puis-je faire en sorte qu'Excel le reconnaisse sans qu'il soit nécessaire de cliquer sur chaque cellule et d'appuyer sur Entrée?
Excel ne reconnaîtra pas le texte "TRUE" ou "FALSE" comme leurs équivalents booléens ... Si vous devez les convertir, une instruction IF accomplira la tâche suivante:
=IF(OR(A24,A24="TRUE"),TRUE,FALSE)
Lorsque vous convertissez vos valeurs logiques en nombres, pourquoi voulez-vous modifier vos données au lieu d’ajuster votre formule pour accepter le texte également: =INT(IF(ISLOGICAL(A1),A1,A1="TRUE"))
Vieille question - mais la méthode suivante peut être utile pour la postérité.
Excel reconnaît les booléens sous forme de texte. Vous pouvez modifier le format en General
pour la colonne entière, mais Excel ne le réévaluera pas tant que vous n’aurez pas cliqué dans chaque cellule et appuyé sur Entrée. Une alternative consiste à utiliser la fonction de texte en colonnes et par ex. utilisez une largeur très large et fixe. Le résultat sera la même colonne unique, mais Excel sera obligé de réévaluer le format et de mettre à jour toutes vos entrées true
et false
en booleans.
http://dailydoseofexcel.com/archives/2009/10/12/converting-cells-formatted-as-text/
Vous avez peut-être collé des données comprenant des espaces incorporés.
"true" et "false" seront automatiquement convertis en TRUE et FALSE "true" et "false" seront traités comme du texte.
Si vous utilisez la fonction TRIM, la valeur booléenne de la cellule cible sera évaluée à TEXT. A2 = VRAI (booléen) B2: = IF (TRIM (A2) = "VRAI", "Y", "N") l’évaluera en tant que "VRAI" dans la fonction résultant en "Y".
Aucune de ces solutions ne fonctionnait bien pour moi (très longue formule aboutissant au texte), alors je me suis énervé et j'ai écrit ma propre solution.
Public Function ConvertToBoolean(InputString As String) As Variant
Dim TempResults As Variant
If InputString = "True" Then
TempResults = True
ElseIf InputString = "False" Then
TempResults = False
Else
TempResults = InputString
End If
ConvertToBoolean = TempResults
End Function
Cela ne vous gêne pas de traiter les 1 et les 0, mais vous pouvez l'enrouler autour d'une chaîne et obtenir True, False ou la chaîne d'origine, selon votre choix.
Que montre =TYPE(Value)
pour la colonne TRUE/FALSE?
J'utilise LibreOffice et pas le "vrai" Excel, mais il reconnaît même les champs de texte correctement ...
Peut-être pourriez-vous rechercher/remplacer TRUE
par =TRUE
?