Tutoriels > Tutoriels & Astuces Excel > Fonctions & Formules > DROITE() - GAUCHE() : Extraire les premiers ou derniers caractères d'une chaîne.

DROITE() - GAUCHE() : Extraire les premiers ou derniers caractères d'une chaîne.

Publié par Mth le 12-09-2009 (488249 lectures)

Les fonctions DROITE() et GAUCHE() permettent d'extraire les premiers ou les derniers caractères d'une chaîne suivant la longueur indiquée dans la fonction.


Syntaxe:

DROITE(texte; nombre de caractères)

  • texte  est la chaîne de texte ou la référence à une cellule dont on veut extraire les derniers caractères.
  • Nombre de caractères indique le nombre de caractères à extraire.


GAUCHE(texte; nombre de caractères)

  • texte  est la chaîne de texte ou la référence à une cellule dont on veut extraire les premiers caractères.
  • Nombre de caractères indique le nombre de caractères à extraire.


Exemples
mthxl_trait_780

 pointbleu_18   Dans cet exemple nous disposons d'une liste de salariés, dont nous souhaitons extraire les cinq premiers caractères à gauche représentant le matricule :
Fonction Gauche

pointbleu_18  Le tableau suivant nous présente une liste de pièces comptables, chèques ou virements, toutes ces pièces sont codifiées de la même manière; dans la colonne B nous voulons extraire leur numéro, uniquement pour les chèques:

Fonctions DROITE() GAUCHE()



Notre formule effectue le calcul suivant: si les 3 premiers caractères de la cellule en colonne A - soit GAUCHE(A5;3) - commencent par "chq" (noté entre guillemets car ce libellé est du texte), alors nous prenons les 7 derniers caractères de cette cellule - soit DROITE(A5;7) - , si non nous laissons la cellule de la colonne B à vide (noté avec deux guillemets "" l'un à coté de l'autre).



iconinfo_32 A noter :
• Nous observons dans cet exemple que le résultat renvoyé est aligné à gauche, cela signifie que la fonction GAUCHE(), tout comme la fonction DROITE(), renvoient un résultat sous forme de texte, même s'il s'agit d'une suite de nombres.

Si nous devions effectuer des opérations sur ce résultat, il faudrait alors le transformer en numérique.

Pour cela il convient d'encadrer notre formule par la fonction CNUM() qui permet de transformer une chaîne de nombres en format numérique:


Formule :

=

CNUM(SI(GAUCHE(A5;3)="chq";DROITE(A5;7);""))

•  Par ailleurs, les fonctions DROITE() et GAUCHE() renvoient #VALEUR! si le nombre de caractères à extraire est négatif (par exemple GAUCHE(A1;-2) renvoie #VALEUR!), elles renvoient une chaîne vide si le nombre de caractères à traiter est zéro; et elles ne renvoient pas de chaîne plus longues que le texte à traiter (pas exemple DROITE("Bonjour";25) renverra une chaîne de 7 caractères et pas 25)



ampoule_astuce_sm_84 Astuce

Pour transformer notre résultat en numérique, nous pouvons aussi le multiplier par 1:

Formule :

=

SI(GAUCHE(A5;3)="chq";DROITE(A5;7);"")*1

Combinées avec d'autres fonctions textes, les fonctions DROITE() et GAUCHE() permettent d'aller encore plus loin dans la manipulation des données, afin d'extraire des chaînes de longueur variable, ou en plein milieu d'une autre chaîne de caractères, ou à partir d'un caractère particulier, etc.





Pour voir d'autres exemples et vous entraîner à utiliser les fonctions DROITE() et GAUCHE(), le fichier Excel qui accompagne cet article vous présente quelques exercices corrigés.



Extrait du fichier d'exercices:  

Téléchargez le fichier d'exercices

Téléchargez le fichier d'exercices

Pour toutes vos questions ou si vous rencontrez des difficultés, n'hésitez pas à rejoindre nos Forums de Discussions !

Tags Tutoriel   Fonction   Formule   CNUM()   Caractères   GAUCHE()   DROITE()   SI()  

 

Autres articles dans cette catégorie Publié le Vues
Rechercher une Fonction 28-05-2013 10493
T() - Tester et renvoyer du texte 02-07-2012 31221
EPURAGE() - Supprimer certains caractères indésirables 02-06-2012 86667
REMPLACER() - Echanger une chaîne de caractères par une autre 02-06-2012 30407
CTXT() - Convertir un nombre en texte 23-05-2012 84730
REPT() - Répéter des caractères un certain nombre de fois 26-04-2012 41907
L'Assistant Somme Conditionnelle 01-11-2011 17047
CELLULE() - Nom de l'onglet, du fichier ou du répertoire dans une cellule 03-10-2010 160909
EXACT() - Comparer deux chaînes de texte 26-04-2010 171378
Purgez les espaces inutiles ! 05-04-2010 210712
SUPPRESPACE() - Supprimer les espaces inutiles dans une cellule 05-04-2010 109314
STXT() - Extraire une chaîne de caractères au sein d'une autre 13-03-2010 398225
CHERCHE() TROUVE() - Retourne la position d'une chaîne de caractères 04-01-2010 187105
NBCAR() - Compter les caractères d'une chaîne de texte ou d'une plage de cellules 21-11-2009 46190
SUBSTITUE() - Remplacer une chaîne de texte par une autre 08-11-2009 210637
CAR() - CODE() : Utilisation des codes caractères 25-10-2009 77875
CONCATENER() - Assembler plusieurs chaînes de texte en une seule. 10-10-2009 44967
TEXTE() - Convertir une valeur numérique en texte formaté 29-09-2009 139973
DROITE() - GAUCHE() : Extraire les premiers ou derniers caractères d'une chaîne. 12-09-2009 488250
MAJUSCULE() - MINUSCULE() - NOMPROPRE(): Modifier la casse d'un texte 23-08-2009 13746
CNUM() - Convertir une chaîne en valeur numérique 19-08-2009 103495
DATEDIF() : Calculer la différence entre deux dates 26-07-2009 367178
Nommer une Plage Dynamique 06-12-2008 100803
Nommer une Plage de Cellules 05-12-2008 104629
Références Relatives & Absolues 05-12-2008 24604
Formule pour Nombres Premiers 29-08-2007 27352