web-dev-qa-db-fra.com

Fonction Excel ISNUMBER avec instruction IF

J'ai un fichier Excel avec lequel je travaille. Il y a une colonne qui contient des chiffres et du texte, parfois l'un ou l'autre. J'essaie d'écrire une fonction qui analyse la partie la plus à gauche de la cellule pour voir si elle commence par un nombre. Je pensais l'avoir mais apparemment pas. Voici ce que j'ai eu:

=IF(ISNUMBER(LEFT(E8,1)), "True", "False")

Cela continue à me jeter un résultat "faux" même si cette cellule particulière, E8, commence par un "3". Qu'est-ce que j'oublie ici?

4
Ryan_C

Essayez ceci:

=IF(ISNUMBER(VALUE(LEFT(E8,1))),"True","False")
2
Brian

L'utilisation de l'instruction IF est redondante. Le moyen le plus simple et efficace d’atteindre le résultat souhaité est:

=ISNUMBER(--LEFT(E8,1))

Il retournera automatiquement TRUE ou FALSE

2
Sean

Notez que vous pouvez obtenir ce dont vous avez besoin avec les éléments suivants:

=NOT(ISERROR(LEFT(E8)*1))

Sinon, LEFT(E8) est évalué à LEFT(E8,1) et la multiplication par 1 génère une erreur sur tout élément non numérique.

Si vous avez besoin de votre sortie sous forme de chaînes, mettez à jour comme indiqué ci-dessous:

IF(NOT(ISERROR(LEFT(E8)*1)),"True","False")

MODIFIER

Utiliser ISNUMBER() est une bonne alternative à NOT(ISERROR())

=ISNUMBER(LEFT(A1)*1)
=IF(ISNUMBER(LEFT(A1)*1),"True","False")
1
CallumDA
=IFERROR(IF(VALUE(LEFT(E8,1)),"TRUE","FALSE"),"FALSE")
0
Juanpablomo