Comment renvoyer la valeur dans Excel si la cellule contient du texte de la liste ?

  • Partage Ça
Hugh West

Si vous disposez d'une liste de texte et que vous souhaitez effectuer une recherche dans les cellules et renvoyer des valeurs en fonction de cette liste, vous devrez créer une formule car Excel ne propose pas de méthode simple pour le faire. Dans cet article, j'ai abordé ce problème et fourni cinq formules différentes pour effectuer cette opération afin que vous puissiez choisir celle qui convient le mieux à votre situation et renvoyer la valeur si la cellule contient un certain texte.à partir d'une liste.

Télécharger le cahier d'exercices

Vous pouvez télécharger le cahier d'exercices que j'ai utilisé dans cet article à partir du bouton suivant et vous entraîner avec lui par vous-même.

Si la cellule contient le texte de la liste.xlsx

Introduction aux fonctions utilisées dans cet article

Les formules que j'ai utilisées ici utilisent les fonctions suivantes :

  • La fonction COUNTIFS :

Cette fonction compte les cellules qui correspondent à plusieurs critères. La syntaxe de la fonction Fonction COUNTIFS est le suivant.

=COUNTIFS (plage1, critères1, [plage2], [critères2], ...)

  • gamme1 - La 1ère gamme à évaluer.
  • critères1 - Le critère à utiliser sur la 1ère gamme.
  • plage2 [facultatif] : La 2ème gamme, se comporte comme la gamme 1.
  • critères2 [facultatif] : Le critère à utiliser sur la 2ème plage. Cette fonction permet un maximum de 127 plages et paires de critères .
  • La fonction TEXTJOIN :

Cette fonction joint des valeurs de texte avec un délimiteur. La syntaxe de la fonction Fonction TEXTJOIN est le suivant.

=TEXTJOIN (délimiteur, ignore_empty, texte1, [texte2], ...)

  • délimiteur : Le séparateur entre les textes que la fonction va combiner.
  • ignore_empty : Cet argument spécifie si la fonction ignore les cellules vides ou non.
  • texte1 : 1ère valeur de texte (ou plage).
  • text2 [facultatif] : 2ème valeur de texte (ou plage).
  • La fonction MATCH :

Cette fonction permet d'obtenir la position d'un élément dans un tableau. La syntaxe de la fonction Fonction MATCH est le suivant.

=MATCH (lookup_value, lookup_array, [match_type])

  • lookup_value : La valeur à faire correspondre dans lookup_array .
  • lookup_array : Une plage de cellules ou une référence de tableau.
  • match_type [facultatif] : 1 = correspondance exacte ou immédiatement inférieure, 0 = correspondance exacte, -1 = correspondance exacte ou immédiatement supérieure. Par défaut, match_type=1.
  • La fonction INDEX :

Cette fonction récupère les valeurs d'une liste ou d'un tableau en fonction de l'emplacement. La syntaxe de la fonction Fonction INDEX est le suivant.

=INDEX (tableau, row_num, [col_num], [area_num])

  • le tableau : Plage de cellules, ou une constante de tableau.
  • row_num : La position de la ligne dans la référence.
  • col_num [facultatif] : La position de la colonne dans la référence.
  • area_num [facultatif] : La plage de référence qui doit être utilisée.
  • La fonction IFERROR :

Cette fonction piège et traite les erreurs. La syntaxe de la fonction Fonction IFERROR est le suivant.

=IFERROR (valeur, valeur_if_error)

  • valeur : La valeur, la référence ou la formule à vérifier en cas d'erreur.
  • valeur_si_erreur : La valeur à renvoyer si une erreur est trouvée.
  • La fonction SEARCH :

Cette fonction récupère l'emplacement du texte dans une chaîne de caractères. La syntaxe de la fonction Fonction de recherche est le suivant.

=SEARCH (find_text, within_text, [start_num])

  • trouver_texte : Cet argument spécifie le texte à rechercher.
  • dans le texte : Ceci indique où trouver le texte.
  • numéro de départ [facultatif] : Avec ceci, vous spécifierez à partir de quelle position dans la chaîne de texte vous compterez la position du texte spécifié. Facultatif et la valeur par défaut est 1 à partir de la gauche.

5 Formules pour renvoyer une valeur dans Excel si une cellule contient un certain texte d'une liste

Je vais tenter de présenter un exemple concret dans cet ensemble de données. Certaines boissons sont représentées ici. Chips , Boissons froides et Céréales sont les trois catégories de boissons dans cet ensemble de données. Dans une seule colonne appelée Tous les produits le nom et les catégories des boissons sont liés entre eux. Deux de ces catégories, Chips et Boissons froides sont également dans le Liste Sur la base de la Liste la sortie souhaitée sera affichée dans la deuxième colonne.

Combinez les fonctions COUNTIF, IF & ; OR pour renvoyer la valeur si une cellule contient le texte d'une liste.

Cette formule est la plus utile si vous souhaitez renvoyer la valeur de la cellule entière après la correspondance.

Ici, j'ai récupéré les valeurs des cellules de la base de données des Produits qui correspondait à la Liste critères de la colonne et les a montrés à la Produit basé sur cette liste colonne.

La formule est la suivante :

=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")

Répartition des formules :

  • =IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")

Ici, le Signe astérisque ( * ) est un caractère générique. Il a recherché " Chips "et la sous-chaîne "Cold Drinks" à l'intérieur de Cellule B5 qui est " Ruffles - Chips " chaîne.

  • =IF(OR(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*)), B5, "")

Le site COUNTIF retourne un pour chaque correspondance de sous-chaîne. Comme " Chips " se trouve dans Cellule B5 il renvoie { 1:0 }.

  • =IF(OR({1;0}), B5, "")

Le site OU renvoie un VRAI si l'un des arguments est VRAI Dans ce cas, un (1)=... VRAI .

  • =IF(TRUE, "Ruffles - Chips", "")

Comme le SI La valeur de la fonction est VRAI il retourne le premier argument qui est la sortie désirée.

Final Sortie : Ruffles - Chips

Note :

Ici, j'ai montré la cellule qui correspondait, mais vous pouvez afficher n'importe quelle sortie comme vous le souhaitez en changeant l'attribut SI fonctions de sortie avec votre sortie désirée.

=IF(OR(COUNTIF(B5, "*"&$E$5:$E$6& ; "*")),TRUE,FALSE)

Lire la suite : Si la cellule contient un mot, attribuer une valeur dans Excel (4 formules)

2. utiliser la combinaison IF-OR avec la fonction SEARCH pour renvoyer une valeur avec plusieurs conditions

Ici, j'ai récupéré les valeurs des cellules de la base de données des Produits qui correspondait à la Liste critères de la colonne et les a montrés à la Produit basé sur cette liste colonne.

La formule est la suivante :

=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),B5,"")

Répartition des formules :

  • =IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),B5,"")

Le site RECHERCHE a recherché les valeurs de la fonction Liste colonne dans Cellule B5 Pour " Chips "Il a répondu 11 qui est la position de départ de la sous-chaîne. Pour Boissons froides il a retourné une erreur.

  • =IF(OR(ISNUMBER(11),ISNUMBER(SEARCH(#VALUE))),B5,"")

Le site ISNUMBER fonction convertie 11 sur VRAI et l'erreur dans FAUX valeur.

  • =IF(OR(TRUE,FALSE)),B5,"")

Le site OU renvoie un VRAI si l'un des arguments est VRAI Comme il y a un VRAI il renvoie également l'argument VRAI dans ce cas.

  • =IF(TRUE, "Ruffles - Chips","")

Comme le SI La valeur de la fonction est VRAI il retourne le premier argument qui est la sortie désirée.

Résultat final : Ruffles - Chips

Note :

  • Ici, j'ai montré la cellule qui correspondait, mais vous pouvez afficher n'importe quelle sortie que vous voulez en changeant l'attribut SI fonctions de sortie avec votre sortie désirée.
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),1,0)

  • Le principal avantage de cette formule est qu'il ne s'agit pas d'une formule de tableau, mais elle n'est pas recommandée si vous avez de nombreuses cellules dans le fichier Liste car vous devez entrer chaque cellule du Liste manuellement.
  • Pour les situations sensibles à la casse, nous pouvons utiliser la formule ci-dessous, basée sur l'élément Fonction FIND au lieu de la RECHERCHE fonction.
=IF(OR(ISNUMBER(FIND($E$5,B5)),ISNUMBER(FIND($E$6,B5))),B5,"")

Lire la suite : Excel If Cell Contains Text Then Return Value (8 méthodes simples)

Lectures similaires :

  • Comment additionner si une cellule contient du texte spécifique dans Excel (6 façons)
  • Utiliser VLOOKUP si la cellule contient un mot dans le texte dans Excel
  • Comment trouver du texte dans une plage Excel et renvoyer la référence de la cellule (3 façons)

Utilisez la formule TEXTJOIN pour renvoyer la valeur dans une autre cellule si une cellule contient le texte d'une liste.

Cette formule est utile lorsqu'il s'agit de montrer quelle(s) chaîne(s) de caractères du fichier Liste appariés.

Ici, j'ai récupéré les valeurs de la cellule à partir de la base de données LISTE où ils correspondent à la colonne Produit et les a montrés à la valeur appariée de Liste colonne.

La formule est la suivante :

=TEXTJOIN(", ",TRUE,IF(COUNTIF(B5, "*"&$E$5:$E$6& ; "*"), $E$5:$E$6,""))

Répartition des formules :

  • =TEXTJOIN(", ",TRUE,IF(COUNTIF(B5, "*"&$E$5:$E$6& ; "*"),$E$5:$E$6,""))

Ici, le Signe astérisque ( * ) est un caractère générique. Il a recherché " Chips "et la sous-chaîne "Cold Drinks" dans la cellule B5 qui est " Ruffles - Chips " string.

  • TEXTJOIN(", ",TRUE,IF(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*),$E$5:$E$6,""))

Le site COUNTIF retourne un pour chaque correspondance de sous-chaîne. Comme " Chips " se trouve dans Cellule B5 il renvoie { 1:0 }.

  • TEXTJOIN(", ",TRUE,IF({1;0},$E$5:$E$6,""))

Le site SI ne renvoie que le " Chips "car seule la première valeur de son argument était un =. Véritable .

  • TEXTJOIN(", ",TRUE,{"Chips" ;""})

Le site TEXTJOIN n'a rien fait ici puisqu'une seule valeur de la fonction Liste S'il y avait plusieurs valeurs à faire correspondre, elle les aurait toutes retournées avec des virgules (,) entre elles comme séparateur.

Résultat final : copeaux

Lire la suite : Si la cellule contient du texte, alors ajoutez du texte dans une autre cellule dans Excel

4. utiliser une formule INDEX MATCH pour renvoyer une valeur si la cellule contient un texte spécifique.

Il s'agit d'une alternative à la TEXTJOIN Cette formule montre également quelle(s) chaîne(s) de caractères de la formule Liste assortis.

Ici, j'ai récupéré les valeurs de la cellule à partir de la base de données LISTE où ils correspondent à la colonne Produit et les a montrés à la valeur appariée de Liste colonne.

La formule est la suivante :

=IFERROR(INDEX($E$5:$E$6, MATCH(1, COUNTIF(B5, "*"&$E$5:$E$6& ; "*"), 0)),"")

Répartition des formules :

  • =IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF(B5, "*"&$E$5:$E$6& ; "*"),0)),"")

Ici, le Signe astérisque ( * ) est un caractère générique. Il a recherché " Chips " et " Boissons froides sous-chaîne " dans Cellule B5 qui est " Ruffles - Chips " string.

  • IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF("Ruffles - Chips",*Chips*,*Cold Drinks*),0)),"")

Le site COUNTIF retourne un pour chaque correspondance de sous-chaîne. Comme " Chips " se trouve dans Cellule B5 il renvoie { 1:0 }.

  • IFERROR(INDEX($E$5:$E$6,MATCH(1,{1;0}),0)),"")

Le site MATCH a retourné un car il n'y a qu'une seule valeur " Chips " qui correspondait.

  • IFERROR(INDEX($E$5:$E$6,1),"")

Le site INDEX La fonction a retourné " Chips "car c'était la valeur dans le Liste le tableau.

  • IFERROR("Chips","")

Ici, le IFERROR est utilisée pour gérer l'erreur qui se produira s'il n'y a pas de correspondance.

Résultat final : copeaux

Note :

Ici, j'ai montré la cellule qui correspondait, mais vous pouvez afficher n'importe quelle sortie comme vous le souhaitez en changeant l'attribut SI fonctions de sortie avec votre sortie désirée.

Lire la suite : Formule Excel Si la cellule contient du texte, alors renvoyer la valeur dans une autre cellule

5) Appliquer la fonction EXACT avec IF et TEXTJOIN

Voici une autre solution à ce problème dans différentes situations. Ici, j'ai récupéré la valeur de la cellule de la colonne Liste avec un seul membre. Nous faisons correspondre cette valeur avec le Produit et montrons toutes les valeurs correspondantes dans une seule cellule.

La formule est la suivante :

=TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))

Répartition des formules :

  • EXACT(C5:C14,$F$5)

Cette partie vérifie quelles sont les valeurs des Gamme C5:14 correspondre à Cellule F5 et retourner VRAI et FAUX .

  • IF(EXACT(C5:C14,$F$5),B5:B14,"")

Cette partie renvoie les noms pour lesquels nous obtenons VRAI .

  • TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))

Enfin, cela joint tous les noms avec une virgule après chaque nom.

Notes rapides

Toutes ces formules ici (sauf la deuxième) sont des formules de tableau. Cela signifie que vous devez appuyer sur Ctrl+Shift+Enter au lieu d'appuyer uniquement sur la touche Entrez pour entrer cette formule, mais si vous êtes un(e) Office 365 vous pouvez alors les appliquer en appuyant simplement sur Entrez.

Conclusion

Dans cet article, j'ai répertorié différentes formules pour divers cas afin de retourner la valeur si une cellule contient un texte spécifique d'une liste. J'espère que vous avez pu trouver une solution à votre problème. Veuillez laisser un commentaire si vous avez des suggestions ou des questions. En outre, vous pouvez visiter notre site web blog pour d'autres articles de ce type.

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.