Caractères génériques dans Excel : *, ? et ~ pour les correspondances partielles
Un caractère générique est un caractère qui représente d'autres caractères. Il permet aux fonctions de critères de trouver une partie d'un texte au lieu de la cellule entière. Ce guide présente les trois caractères génériques et les endroits où ils fonctionnent.
Les caractères génériques ne s'appliquent qu'au texte. Ils fonctionnent dans NB.SI (Anglais: COUNTIF), NB.SI.ENS (Anglais: COUNTIFS), SOMME.SI (Anglais: SUMIF), SOMME.SI.ENS (Anglais: SUMIFS), EQUIV (Anglais: MATCH) avec un type de correspondance 0, et RECHERCHEX (Anglais: XLOOKUP).
L'astérisque (*) : une suite de caractères quelconque
Un astérisque correspond à une suite de caractères quelconque, y compris à aucun caractère. « Imprimante* » correspond à « Imprimante toner », « Imprimante papier » et même à « Imprimante » seul.
Exemple : Compter les tickets dont le sujet commence par Imprimante
| A | B | C | |
|---|---|---|---|
| 1 | Sujet | ||
| 2 | Imprimante toner | 3 | |
| 3 | Imprimante papier | ||
| 4 | Scanner | ||
| 5 | Imprimante câble | ||
| 6 | Écran |
Trois sujets commencent par Imprimante. L'astérisque permet au critère d'ignorer ce qui suit.
Le point d'interrogation (?) : exactement un caractère
Un point d'interrogation correspond à exactement un caractère. « A? » correspond à « A1 » et « A2 », mais pas à « A10 », qui a deux caractères après le A.
Exemple : Compter les codes à un seul chiffre commençant par A
| A | B | C | |
|---|---|---|---|
| 1 | Code | ||
| 2 | A1 | 2 | |
| 3 | A2 | ||
| 4 | A10 | ||
| 5 | B1 |
« A1 » et « A2 » correspondent ; « A10 » a deux caractères après le A, donc il ne correspond pas.
Le tilde (~) : rechercher un vrai * ou ?
Pour trouver un véritable astérisque ou point d'interrogation, placez un tilde devant. « Vente~* » ne correspond qu'au texte « Vente* », et non à « Vente » ni à « 50 % de remise ».
Exemple : Compter uniquement l'astérisque réel
| A | B | C | |
|---|---|---|---|
| 1 | Promotion | ||
| 2 | 50 % de remise | 1 | |
| 3 | Vente* | ||
| 4 | Vente |
Seul « Vente* » contient un vrai astérisque, donc le résultat est 1.
Caractères génériques avec MATCH et XLOOKUP
EQUIV (Anglais: MATCH) accepte les caractères génériques lorsque son type de correspondance est 0 (exacte). Il renvoie la position de la première correspondance, comptée depuis le haut de la plage.
Exemple : Trouver le premier sujet qui commence par Sc
| A | B | C | |
|---|---|---|---|
| 1 | Sujet | ||
| 2 | Imprimante toner | 3 | |
| 3 | Imprimante papier | ||
| 4 | Scanner | ||
| 5 | Imprimante câble | ||
| 6 | Écran |
« Scanner » est le troisième élément de la liste, donc MATCH renvoie 3.
Erreurs courantes
Utiliser * avec un nombre.** Les caractères génériques ne s'appliquent qu'au texte ; un nombre comme 1001 n'est pas trouvé par « 100*
Correction : Saisissez les codes sous forme de texte, ou comparez avec une plage, par exemple « >=1000 » et « <=1999 ».
Croire qu'un caractère générique trouve un espace ou un point. Seuls * et ? ont un sens particulier ; les espaces et les points correspondent à eux-mêmes.
Correction : Vérifiez le texte exact avec NBCAR (Anglais: LEN) ou en filtrant la liste.
Utiliser MATCH sans le troisième argument. Le type de correspondance par défaut est approximatif, et les caractères génériques y sont ignorés.
Correction : Ajoutez toujours 0 comme type de correspondance :
=EQUIV("Sc*";A2:A6;0).
Questions fréquemment posées
Les caractères génériques distinguent-ils les majuscules des minuscules ?
Non. « imprimante* » et « Imprimante* » trouvent les mêmes cellules.
Comment rechercher un texte qui contient un * ou un ?
Placez un tilde devant le caractère, par exemple « ~? » pour un point d'interrogation. Un tilde seul s'écrit « ~~ ».
Fonctions associées
- COUNTIFCOUNTIF compte les cellules d'une plage qui remplissent une condition : un texte, un nombre, une comparaison comme « >100 » ou un caractère générique.
- COUNTIFSCOUNTIFS compte les lignes qui remplissent plusieurs conditions à la fois, comme une région et une plage de montants.
- MATCHMATCH renvoie la position d'une valeur dans une liste, par exemple que « Lena » est le 3e nom.
- XLOOKUPXLOOKUP recherche dans une colonne ou une ligne et renvoie la valeur correspondante d'une autre, dans n'importe quel sens, avec un message « introuvable » intégré.