Comment convertir des données en nombre ou en texte sur Excel ? Les fonctions N() et T()
Dans ce tutoriel, nous allons découvrir deux fonctions Excel méconnues, qui permettent de ne garder que les valeurs attendues au sein d’une formule. Il s’agit des fonctions N() et T(). La première permet de ne conserver que les nombres, et la seconde uniquement les textes.
Téléchargement
Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :
Tutoriel Vidéo
1. Présentation
Comme nous l’avons vu dans ‘l’introduction de ce tutoriel, nous allons maintenant découvrir une fonction peu connue sur Excel, il s’agit de la fonction N().
Cette fonction, proposée depuis Excel 2003 permet de convertir la valeur passée en argument sous la forme d’un nombre.
Celle-ci n’attend qu’un seul argument obligatoire qui est la valeur que nous souhaitons convertir :
=N(valeur)
Cet argument peut correspondre à n’importe quelle valeur, que la fonction traduira de la manière suivante :
- S’il s’agit d’un nombre, la fonction N() renverra simplement ce nombre, sans mise en forme,
- S’il s’agit d’une date reconnue en tant que telle, la fonction N() renverra le numéro de série de cette date, nous y reviendrons un peu plus tard
- S’il s’agit d’une valeur Booléenne, la fonction N() renverra 1 pour VRAI et 0 pour FAUX
- S’il s’agit d’une erreur, la fonction N() renverra simplement cette erreur,
- S’il s’agit de toute autre valeur (texte, date non valide …), la fonction N() renverra 0
2. Quelques exemples simples
Pour comprendre le fonctionnement de la fonction N(), voyons les quelques exemples suivants :
Ici, nous pouvons nous rendre compte que le résultat attendu lorsque nous appliquons la fonction N() sur un nombre entier correspond au résultat obtenu, à savoir que la fonction se contente de nous retourner le même résultat.
Ce constat est à opérer sur la notion de valeur numérique dans son ensemble, qu’il s’agisse d’un nombre entier ou décimal, mais également d’une monnaie, ou encore d’une date.
En effet, comme nous l’avions déjà vu dans le cours dédié à la présentation des dates dans Excel, celles-ci correspondent en réalité à un numéro de série dont le point de départ est le 1er janvier 1900.
Chaque jour écoulé depuis cette date correspondra alors à une unité supplémentaire.
Il y a donc 44255 jours entre le 1er janvier 1900 et le 28/02/2021.
Concernant le fonctionnement des heures dans Excel, il faut également savoir que celles-ci sont interprétées par Excel comme un nombre.
Ici, une unité correspondra à une journée, soit 24 heures.
Et donc une heure correspond à un vingt-quatrième d’unité.
C’est pourquoi la fonction N() nous retourne 0,53125 lorsque nous lui passons en paramètre 12h45.
En revanche, lorsque la fonction N() n’est pas capable d’identifier le caractère numérique de la valeur passé en argument, elle considèrera celle-ci comme étant un texte.
C’est notamment le cas lorsque nous saisissons une date incorrecte, comme le 29 février 2021, ou même encore une date tout à fait correcte, mais saisie sous un format non conventionnel (avec par exemple des espaces comme séparateur).
Et lorsque nous saisissons un texte dans la fonction N(), celle-ci nous retournera systématiquement la valeur 0.
3. Pourquoi la fonction N()
À ce moment de la découverte de la fonction N(), vous vous dites certainement que celle-ci n’a que peu d’intérêt, d’autant plus que bien souvent, Excel effectue déjà les conversions à la volée lorsque nous saisissons des formules.
Ainsi, Excel n’aura aucun mal pour additionner des dates et des heures :
Mais bien entendu, ce n’est pas toujours le cas :
Dans cet exemple très simple, nous cherchons à calculer le montant du CA TTC correspondant au premier trimestre en effectuant une addition des trois mois correspondants.
Sauf, que le magasin étant fermé tout le mois de février, la valeur correspondante est un texte et non pas une valeur numérique comme attendu par l’addition :
=B30+B31+B32
Ici, l’addition nous retourne donc une erreur #VALEUR!.
Pour éviter celle-ci, nous pourrions évidemment utiliser la fonction SOMME(), ce qui serait le plus simple :
=SOMME(B30:B32)
Excel effectue alors la conversion.
Mais si nous tenons à effectuer une addition, il faut alors encapsuler chaque référence dans une fonction N() :
=N(B30)+N(B31)+N(B32)
Un autre usage de la fonction N() est de pouvoir insérer des commentaires directement insérés dans une formule !
En effet, étant donné que toutes valeur non considérée par Excel comme étant une valeur numérique nous renverra 0, il est tout à fait possible d’insérer des commentaires en tant que paramètres de la fonction N() que nous pourrons ensuite additionner dans la formule :
=N(B30)+N("Augmentation du CA moyen au cours de janvier")+N(B31)+N("Fermeture tout le mois de février pour travaux")+N(B32)+N("Réouverture à compte du 17/03")
Ici, malgré la présence des commentaires, la formule retourne toujours un résultat correct :
En effet, cela revient à remplacer ces commentaires par des zéros :
=N(B30)+0+N(B31)+0+N(B32)+0
Alors bien entendu, pour que la fonction N() n’impact pas le fonctionnement de la formule, nous devons faire en sorte que le résultat retourné (zéro) soit neutre sur le calcul.
Si nous réalisons une multiplication à la place de l’addition, alors le résultat sera évidemment faussé :
4. L’inverse de la N() : T()
À l’inverse de la fonction N(), nous retrouvons la fonction T().
Celle-ci suit le même principe, mais permet de ne conserver que des valeurs textuelles, en écartant toutes valeurs numériques :
Ici, toutes les valeurs numériques renverront une chaîne vide, qu’il s’agisse de nombres entiers ou décimaux, de dates, d’heures, de valeurs booléennes,…