Les fonctions FIND and SEARCH dans Excel
TROUVE (Anglais: FIND) renvoie la position d'un caractère ou d'un mot dans un texte : le @ d'une adresse e-mail se trouve à la position 12. Seul, ce résultat sert rarement ; la fonction est surtout l'auxiliaire qui indique à GAUCHE (Anglais: LEFT) et STXT (Anglais: MID) où couper.
CHERCHE (Anglais: SEARCH) fait la même chose, mais ignore les majuscules et les minuscules et accepte les caractères génériques. Si rien n'est trouvé, les deux renvoient #VALUE!.
Syntaxe
=FIND(find_text, within_text, [start_num])
| Argument | Ce que cela signifie |
|---|---|
| find_text | Ce qu'il faut chercher, par exemple « @ » ou un espace. |
| within_text | Le texte ou la cellule dans lequel effectuer la recherche. |
| start_numfacultatif | Position à partir de laquelle commencer la recherche. Par défaut 1. Utilisez-le pour trouver la deuxième occurrence. |
Exemples
1. Position d'un caractère
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Référence | Position du @ | ||
| 2 | SH-4417-BLU | omar.haddad@shopmail.com | 12 |
« omar.haddad » compte 11 caractères, donc le @ est le 12e.
2. La deuxième occurrence
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Référence | 2e tiret | ||
| 2 | SH-4417-BLU | omar.haddad@shopmail.com | 8 |
Le premier tiret est en position 3, on commence donc à chercher en position 4 : le suivant se trouve en position 8.
3. Ignorer la casse : SEARCH
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Référence | « MAIL » en position | ||
| 2 | SH-4417-BLU | omar.haddad@shopmail.com | 17 |
CHERCHE (Anglais: SEARCH) trouve « mail » dans shopmail.com malgré la différence de casse. =TROUVE("MAIL";B2) renverrait #VALUE!.
Erreurs courantes
Erreur #VALUE!. Le texte n'a pas été trouvé, souvent à cause d'une différence de majuscules ou de minuscules avec TROUVE (Anglais: FIND).
Correction : Utilisez CHERCHE (Anglais: SEARCH) pour ignorer la casse, ou
=SIERREUR(TROUVE("@";B2);0)si le caractère peut être absent.Décalage d'un caractère lors de la découpe.
=GAUCHE(A2;TROUVE(" ";A2))inclut l'espace lui-même.Correction : Soustrayez 1 pour GAUCHE (Anglais: LEFT), ajoutez 1 pour STXT (Anglais: MID).
Questions fréquemment posées
Comment vérifier qu'une cellule contient un mot ?
=ESTNUM(CHERCHE("mail";B2)) renvoie VRAI lorsque le mot apparaît n'importe où, quelle que soit la casse.
Fonctions associées
- LEFTLEFT renvoie les premiers caractères d'un texte, RIGHT les derniers.
- MIDMID renvoie des caractères du milieu d'un texte : une position de départ et une longueur.
- TEXTAFTERTEXTAFTER et TEXTBEFORE découpent un texte à un séparateur, comme le @ d'une adresse e-mail, sans compter les positions.
- SUBSTITUTESUBSTITUTE remplace un texte précis dans une cellule par un autre texte, partout ou à une seule occurrence.