Menu

Caractères génériques Excel : *, ? et ~ dans NB.SI et autres

Dans les critères Excel, * remplace un nombre quelconque de caractères et ? exactement un : =NB.SI(A2:A7;"*apple*") compte les cellules qui contiennent apple. ~ retransforme un caractère générique en caractère ordinaire.

Chaque feuille de cette page est interactive : modifiez un nombre ou une formule et elle se recalcule.

Excel a trois caractères génériques pour les critères et les recherches : * correspond à un nombre quelconque de caractères (zéro compris), ? correspond à exactement un caractère, et ~ retransforme le * ou le ? suivant en caractère ordinaire. =NB.SI(A2:A7;"*apple*") compte les cellules qui contiennent apple n'importe où. Le tableau affiche les formules sous leur forme anglaise (COUNTIF pour NB.SI), avec des virgules, mais vous pouvez aussi les taper comme dans un Excel français, avec des points-virgules.

Compter avec des caractères génériques
D2
ABCD
1ProductPatternCount
2Apple juice*apple*4
3Green appleapple*2
4Pineapple*juice2
5Orange juice?????0
6Pear*e4
7Apples
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =NB.SI($A$2:$A$7;C2)
  • *apple* contient apple : 4 correspondances, car Pineapple compte aussi.
  • apple* commence par apple : seulement Apple juice et Apples. NB.SI ignore la casse.
  • *juice se termine par juice.
  • ????? fait exactement cinq caractères. Aucun de ces produits n'a cinq caractères, donc 0 ; tapez Peach en A6 et le compte passe à 1.
  • *e se termine par e.

Tapez votre propre modèle dans la colonne C, comme *an* ou P*, et le compte se met à jour.

Correspondance partielle dans RECHERCHEV et RECHERCHEX

RECHERCHEV (VLOOKUP en anglais) accepte les caractères génériques en mode correspondance exacte (FAUX comme dernier argument). Collez le caractère générique à la valeur dans la formule, pour que seules les premières lettres aillent en D2 :

Rechercher d'après les premières lettres
E2
ABCDE
1ProductPriceStarts withPrice
2Apple juice3.5Pin4
3Green apple1.24
4Pineapple4
5Orange juice3.2
6Pear0.9
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =RECHERCHEV(D2&"*";A2:B6;2;FAUX)

Les deux formules trouvent Pineapple. Remplacez D2 par juice : le modèle juice* de RECHERCHEV exige que le texte commence par juice et renvoie #N/A, tandis que le modèle *juice* de RECHERCHEX trouve le premier produit qui le contient, Apple juice. Comme toute correspondance exacte, une recherche avec caractère générique renvoie la première ligne qui convient, alors rendez le modèle assez précis.

RECHERCHEX ne traite * et ? comme des caractères génériques que si son cinquième argument, match_mode, vaut 2. Sans lui, elle cherche l'astérisque littéralement. EQUIV accepte les caractères génériques avec un type de correspondance 0, et EQUIVX avec match_mode 2, comme RECHERCHEX. Voir RECHERCHEV pour ses autres arguments.

Compter les produits phone
D2
ABCD
1ProductPhone products
2Smartphone
3Headphones
4Phone stand
5Laptop bag
6Charger
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À vous : En D2, comptez les produits dont le nom contient phone n'importe où.

Somme et moyenne avec un caractère générique

Toutes les fonctions qui prennent des critères les lisent de la même façon, donc les mêmes modèles fonctionnent dans SOMME.SI, SOMME.SI.ENS, MOYENNE.SI, MOYENNE.SI.ENS, MAX.SI.ENS et MIN.SI.ENS :

Total selon une partie du nom
E2
ABCDE
1RegionSalesPatternTotal
2North-East120North*285
3North-West95*West155
4South80?????150
5South-West60
6East110
7North70
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =SOMME.SI(A2:A7;D2;B2:B7)

North* additionne chaque région qui commence par North, y compris North lui-même, car * correspond aussi à rien. ????? additionne les régions d'exactement cinq caractères : South et North.

Les ventes de toutes les régions West
E2
ABCDE
1RegionSalesWest total
2North-East120
3North-West95
4South80
5South-West60
6East110
7North70
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À vous : En E2, totalisez les ventes de chaque région dont le nom se termine par West.

Trouver un vrai astérisque ou point d'interrogation avec ~

Pour compter un texte qui contient un vrai * ou ?, placez un tilde devant. Le tilde lui-même s'écrit ~~.

Échapper un caractère générique
C2
ABC
1NoteCount
2Rated 5*1
3Why?1
4Done4
55 stars
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =NB.SI(A2:A5;"*~**")

C2 compte les cellules qui contiennent un astérisque littéral (A2 seulement), C3 celles qui contiennent un point d'interrogation. C4 montre l'autre face : "*" seul correspond à n'importe quel texte, donc il compte chaque cellule de texte, 4 ici. Il ignore les nombres et les cellules vides, ce qui fait de NB.SI(plage;"*") la méthode habituelle pour compter les cellules de texte.

Quelles fonctions acceptent les caractères génériques

Acceptent *, ?, ~N'acceptent pas
NB.SI, NB.SI.ENS, SOMME.SI, SOMME.SI.ENS, MOYENNE.SI, MOYENNE.SI.ENS, MAX.SI.ENS, MIN.SI.ENS=, <> et les autres comparaisons
RECHERCHEV et RECHERCHEH avec FAUXSI seule
EQUIV avec 0TROUVE
RECHERCHEX et EQUIVX avec match_mode 2FILTRE, UNIQUE, TRIER
CHERCHESUBSTITUE, TEXTE.AVANT, TEXTE.APRES
Rechercher et remplacer (Ctrl+H), zones de filtre

CHERCHE accepte les caractères génériques dans une formule : =CHERCHE("b?d";"a bad day") renvoie 3 (TROUVE et CHERCHE donne les détails). Pour FILTRE, utilisez ESTNUM(CHERCHE(...)) comme condition au lieu d'un modèle.

Erreur fréquente : un caractère générique après =

L'opérateur = ne lit jamais les caractères génériques : =A2="*apple*" demande si A2 contient les sept caractères *apple*. Dans Excel, avec Green apple en A2 :

=A2="*apple*"                    FALSE
=IF(A2="*apple*","yes","no")     no

Placez plutôt le test dans NB.SI, qui renvoie 1 ou 0 pour une seule cellule, ou utilisez CHERCHE :

Tester une cellule avec un caractère générique
B2
ABC
1ProductCOUNTIF testSEARCH test
2Green applecontains applecontains apple
3Pearnono
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =SI(NB.SI(A2;"*apple*");"contains apple";"no")

SI traite le 1 renvoyé par NB.SI comme VRAI et le 0 comme FAUX. La version avec CHERCHE n'a besoin d'aucun caractère générique, car CHERCHE cherche déjà le texte n'importe où dans la cellule.

Questions fréquentes

Quels sont les caractères génériques dans Excel ?

* correspond à un nombre quelconque de caractères, zéro compris ; ? correspond à exactement un caractère ; ~ devant *, ? ou ~ en fait un caractère ordinaire. "*apple*" signifie contient apple, "A*" commence par A, "???" exactement trois caractères.

Comment utiliser un caractère générique dans RECHERCHEV ?

Collez le caractère générique à la valeur cherchée et utilisez la correspondance exacte : =RECHERCHEV(E2&"*";A2:B6;2;FAUX) trouve la première entrée qui commence par E2. Dans RECHERCHEX, mettez match_mode à 2 : =RECHERCHEX("*"&E2&"*";A2:A6;B2:B6;"none";2).

Pourquoi un caractère générique ne fonctionne-t-il pas dans ma formule SI ?

La comparaison = ne comprend pas les caractères génériques, donc =SI(A2="*apple*";...) ne trouve que le texte littéral *apple*. Utilisez =SI(NB.SI(A2;"*apple*");"Yes";"No") ou =SI(ESTNUM(CHERCHE("apple";A2));"Yes";"No").

Comment compter les cellules qui contiennent un astérisque ?

Placez un tilde devant : =NB.SI(A2:A10;"*~**"). Le premier et le dernier * sont des caractères génériques, et ~* est un astérisque littéral.

Illustration des langages de programmation de Coddy

Apprendre à coder avec Coddy

COMMENCER