Formule Excel: vérifiez si une cellule contient l'une de plusieurs valeurs mais excluez d'autres valeurs
En supposant qu'il existe deux listes de valeurs, vous souhaitez vérifier si la cellule B3 contient l'une des valeurs de la plage E3: E5, mais en même temps, elle ne contient aucune valeur de la plage F3: F4, comme illustré ci-dessous. Ce didacticiel fournira une formule pour gérer rapidement cette tâche dans Excel et expliquer les arguments de la formule.
Formule générique:
=(SUMPRODUCT(--ISNUMBER(SEARCH(include,text)))>0) *(SUMPRODUCT(--ISNUMBER(SEARCH(exclude,text)))=0) |
Arguments
Text: the text string you want to check. |
Include: the values you want to check if argument text contains. |
Exclude: the values you want to check if argument text does not contain. |
Valeur de retour:
La formule renvoie 1 ou 0. Lorsque la cellule contient l'une des valeurs à inclure et ne contient aucune valeur à exclure, elle renvoie 1 ou 0. Cette formule, 1 et 0, sont gérées comme des valeurs logiques Vrai et faux.
Comment fonctionne cette formule
Supposons que vous souhaitiez vérifier si la cellule B3 contient l'une des valeurs de la plage E3: E5, mais excluez simultanément les valeurs de la plage F3: F4, veuillez utiliser la formule ci-dessous
=(SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))>0)*(SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))=0) |
Presse Entrer touche pour obtenir le résultat de la vérification.
Explication
1 partie: (SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))>0) vérifie si la cellule contient des valeurs dans E3: E5
Rechercher function: la fonction SEARCH renvoie la position du premier caractère de la chaîne de texte à l'intérieur d'une autre, si la fonction SEARCH trouve le texte correspondant, elle renvoie la position relative, sinon, elle renvoie #VALUE! Erreur. Par exemple, voici la formule SEARCH($E$3:$E$5,B3) recherche chaque valeur de la plage E3: E5 dans la cellule B3 et renvoie l'emplacement de chaque chaîne de texte dans la cellule B3. Il renverra un résultat de tableau comme suit: {1; 7; 12}.
Fonction ISNUMBER: la fonction ISNUMBER retourne TRUE lorsqu'une cellule est un nombre. Alors ISNUMBER(SEARCH($E$3:$E$5,B3)) renverra le résultat du tableau comme {vrai, vrai, vrai} lorsque la fonction RECHERCHE trouve 3 nombres.
--ISNUMBER(SEARCH($E$3:$E$5,B3)) convertit la valeur TRUE en 1 et convertit la valeur FALSE en 0, donc cette formule change le résultat du tableau en {1; 1; 1}.
SUMPRODUCT function: permet de multiplier les plages ou de sommer des tableaux ensemble et renvoie la somme des produits. le SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3))) renvoie 1 + 1 + 1 = 3.
Enfin, comparez la formule de gauche SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3))) et 0, tant que le résultat de la formule de gauche est supérieur à 0, le résultat sera TRUE, ou il retournera FALSE. Ici, il renvoie VRAI.
2 partie: (SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))=0) vérifie si la cellule ne contient pas de valeurs dans F3: F4
La formule RECHERCHE ($ F $ 3: $ F $ 4, B3) recherche chaque valeur de la plage E3: E5 dans la cellule B3 et renvoie l'emplacement de chaque chaîne de texte dans la cellule B3. Il renverra un résultat de tableau comme suit: {#VALUE!; # VALUE!}.
ISNUMBER(SEARCH($F$3:$F$4,B3)) renverra le résultat du tableau comme {false; false} car la fonction RECHERCHE trouve le numéro 0.
--ISNUMBER(SEARCH($F$3:$F$4,B3)) convertit la valeur TRUE en 1 et convertit la valeur FALSE en 0, donc cette formule change le résultat du tableau en {0; 0}.
SUMPRODUCT function: permet de multiplier les plages ou de sommer des tableaux ensemble et renvoie la somme des produits. le SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3))) renvoie 0 + 0 = 0.
Enfin, comparez la formule de gauche SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3))) et 0, tant que le résultat de la formule de gauche est égal à 0, le résultat retournera TRUE, ou il retournera FALSE. Ici, il renvoie VRAI.
Partie 3: Plusieurs deux formules
=(SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))>0)*(SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))=0)
=TRUE*TRUE
=1
Cette formule, 1 et 0, sont gérées comme des valeurs logiques TRUE et FALSE.
Exemple de fichier
Cliquez pour télécharger un exemple de fichier
Formules relatives
- Vérifier si une cellule contient un texte spécifique
Pour vérifier si une cellule contient des textes dans la plage A mais ne contient pas les textes dans la plage B, vous pouvez utiliser une formule matricielle qui combine les fonctions COUNT, SEARCH et AND dans Excel - Vérifiez si la cellule contient l'un des nombreux éléments
Ce didacticiel fournit une formule pour vérifier si une cellule contient l'une des nombreuses valeurs dans Excel et explique les arguments de la formule et le fonctionnement de la formule. - Vérifiez si la cellule contient une des choses
Supposons que dans Excel, il existe une liste de valeurs dans la colonne E, vous voulez vérifier si les cellules de la colonne B contiennent toutes les valeurs de la colonne E et retournent TRUE ou FALSE. - Vérifiez si la cellule contient un nombre
Parfois, vous souhaiterez peut-être vérifier si une cellule contient des caractères numériques. Ce didacticiel fournit une formule qui renverra TRUE si la cellule contient un nombre, FALSE si la cellule ne contient pas de nombre.
Les meilleurs outils de productivité de bureau
Kutools for Excel - vous aide à vous démarquer de la foule
Kutools pour Excel possède plus de 300 fonctionnalités, Assurez-vous que ce dont vous avez besoin est à portée de clic...
Onglet Office - Activer la lecture et l'édition par onglets dans Microsoft Office (y compris Excel)
- Une seconde pour basculer entre des dizaines de documents ouverts!
- Réduisez chaque jour des centaines de clics de souris, dites adieu à la souris.
- Augmente votre productivité de 50% lors de l'affichage et de l'édition de plusieurs documents.
- Apporte des onglets efficaces à Office (y compris Excel), tout comme Chrome, Edge et Firefox.