Excel - Pb de recherche multiple

Bonjour à tous;

Je vous souhaite de passer des joyeuses fêtes de fin d'années

J'ai une colonne A avec des critères.

J'ai une colonne D avec plein de données

En fonction des critères de la colonne A, je souhaiterais trouver les données correspondantes dans la colonne D.

Si la référence commence par ou est égale aux éléments de la colonne A donc "" sinon "ADD"..Je pense que c'est tout con si on connait les bonnes formules. Malheureusement, j'ai testé avec les recherche je pense qu'on doit combiner avec d'autres formules qui me sont inconnues.

Pouvez vous m'aider svp

Merci d'avance pour votre temps et astuces.

Fichier en PJ.

Bonne journée et joyeuses fêtes !

10test1.xlsx (9.70 Ko)

Bonjour,

La formule suivante fonctionne :

=SI(OU(GAUCHE(C3;NBCAR(A$3))=A$3;GAUCHE(C3;NBCAR(A$4))=A$4;GAUCHE(C3;NBCAR(A$5))=A$5;GAUCHE(C3;NBCAR(A$6))=A$6;GAUCHE(C3;NBCAR(A$7))=A$7);"";"ADD")

Bonjour,

En D3 :

=SI(SOMMEPROD(--ESTNUM(CHERCHE($A$3:$A$7;C3)));"";"ADD")

A tirer vers le bas...

Cordialement.

Merci beaucoup ! cela fonctionne parfaitement.

Par contre, je ne comprends pas la formule pouvez vous me l'expliquer svp? enfin si vous avez le temps et si ça ne vous embête pas trop. je comprendrai si vous refusez. C'est juste pour progresser et comprendre votre solution.

Il y a un truc que je ne peux comprendre; les fonctions je pourrai y arriver je pense mais Pourquoi vous avez inséré deux petits traits avant la fonction ESTNUM?

Merci en tout cas pour votre solution et je vous souhaite une bonne journée et fêtes.


ouisansdoute a écrit :

Bonjour,

La formule suivante fonctionne :

=SI(OU(GAUCHE(C3;NBCAR(A$3))=A$3;GAUCHE(C3;NBCAR(A$4))=A$4;GAUCHE(C3;NBCAR(A$5))=A$5;GAUCHE(C3;NBCAR(A$6))=A$6;GAUCHE(C3;NBCAR(A$7))=A$7);"";"ADD")

Merci en tout cas. Elle fonctionne aussi. et celle là je la comprends ^^ sans explication. Astucieux cette formule gauche et nbcar

Bonnes fêtes et merci !

Julien

On va décortiquer la formule de la première ligne, tu vas comprendre :

CHERCHE(texte_cherché;texte) renvoie l'occurrence de texte_cherché dans texte, si trouvé ou sinon une erreur (#VALEUR!)

avec : CHERCHE($A$3:$A$7;C7), text_cherché est une matrice et non une seule valeur, le résultat sera donc une matrice de valeurs correspondant à chacun des text_cherché :

CHERCHE({"cros";"PAT1";"PAT2";"PAT585242";"PA15937"};"PAT15236") =>résultat: {#VALEUR!;1;#VALEUR!;#VALEUR!;#VALEUR!}

Un tel résultat renverrait une erreur si on ne le modifie pas... :

ESTNUM(CHERCHE($A$3:$A$7;C3)) transforme le résultat de CHERCHE en : {FAUX;VRAI;FAUX;FAUX;FAUX}

On n'a plus d'erreur ! Mais pour que ce résultat soit exploitable il faut transformer FAUX en 0 et VRAI en 1, que l'on pourra alors additionner pour savoir si une occurrence a été trouvée (résultat 1) ou non (résultat 0).

L'opérateur "--" permet de faire renvoyer 0 ou 1 par des valeurs booléennes.

Mais n'importe quelle opération ferait l'affaire : en utilisant *1 (multiplication) ou +0 (addition), on obtiendrait le même résultat.

L'addition des valeurs trouvée se fait au moyen de SOMMEPROD (fonction matricielle mais qui se passe de validation matricielle).

SOMMEPROD(--ESTNUM(CHERCHE($A$3:$A$7;C3))) => SOMMEPROD({0;1;0;0;0}) = 1

L'expression est mise en condition d'une fonction SI : inutile de préciser =1 ou =0, si l'expression est égale à 0, la condition sera évaluée à FAUX, dans les autres cas elle sera évaluée VRAI.

Si la condition est vraie on ne met rien (""). Si elle est fausse, on met "ADD".

Cordialement.

NB- En apprenant à utiliser l'évaluateur de formules, tu pourras suivre pas à pas ces transformations. L'utilisation n'est pas évidente, et il faut acquérir une certaine habitude, mais cela peut bien aider parfois à détecter le point exact où le calcul fait par Excel décroche du chemin que l'on suivait pour établir la formule, et (parfois) à trouver le correctif...

Merci de ton explication très complète et pas à pas.

C'est très intéressant le cheminement de ta formule avec la transformation des résultats afin de les exploiter.

Ensuite la combinaison des formules de matrices liées à d'autres me parait être ma prochaine étape dans Excel.

Je vais essayer de mettre en application ta logique pour mes prochaines formules.

En tout cas merci pour ton temps et explication.

Et je vous souhaite à tous une bonne fin d'année

Cdt

Julien

Rechercher des sujets similaires à "recherche multiple"