Imbriquer 6 fonctions SI(ESTERREUR(CHERCHE(... ou autre

Résolu/Fermé
Bemanace Messages postés 60 Date d'inscription lundi 23 février 2015 Statut Membre Dernière intervention 18 novembre 2021 - 23 févr. 2015 à 20:37
Bemanace Messages postés 60 Date d'inscription lundi 23 février 2015 Statut Membre Dernière intervention 18 novembre 2021 - 24 févr. 2015 à 19:38
Bonjour,
J'aimerai pouvoir imbriquer dans une même cellule 6 fonctions "cherche" (ou autre fonction qui fonctionnerait mieux !)

je souhaiterais avoir une fonction (en P3) qui cherche un "MOT"
si "MOT" est dans B3 alors C3 va en P3, sinon cherche
si "MOT" est dans D3 alors E3 va en P3, sinon cherche
si "MOT" est dans F3 alors G3 va en P3, sinon cherche
si "MOT" est dans H3 alors I3 va en P3, sinon cherche
si "MOT" est dans J3 alors K3 va en P3, sinon cherche
si "MOT" est dans L3 alors M3 va en P3, sinon cherche
si "MOT" est dans N3 alors O3 va en P3, sinon affiche "- -"

j'ai fait avec :
=SI(ESTERREUR(CHERCHE("MOT";$B3));"- -";$C3)
SI(ESTERREUR(CHERCHE("MOT";$D3));"- -";$E3)
SI(ESTERREUR(CHERCHE("MOT";$F3));"- -";$G3)
SI(ESTERREUR(CHERCHE("MOT";$H3));"- -";$I3)
SI(ESTERREUR(CHERCHE("MOT";$J3));"- -";$K3)
SI(ESTERREUR(CHERCHE("MOT";$L3));"- -";$M3)
SI(ESTERREUR(CHERCHE("MOT";$N3));"- -";$O3)

Mais Excel n'en veut pas plus de 2 : cette formule fonctionne très bien mais pas plus.
=SI(NON(ESTERREUR(CHERCHE(R$1;$B5))); $C5;SI(NON(ESTERREUR(CHERCHE(R$1;$D5)));$E5; "- -"))

Avez vous une autre fonction à me proposer ?

Un grand merci d'avance

1 réponse

via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 2 738
Modifié par via55 le 23/02/2015 à 20:50
Bonsoir

Essaie :
=SIERREUR(INDEX(B3:O3;;EQUIV("*mot*";B3:O3;0)+1);"--")

Cdlmnt

"L'imagination est plus importante que le savoir." A. Einstein
1
Bemanace Messages postés 60 Date d'inscription lundi 23 février 2015 Statut Membre Dernière intervention 18 novembre 2021 9
24 févr. 2015 à 16:58
Super ! merci beaucoup pour cette réponse aussi rapide qu'efficace !

J'ai pas tout compris dans la fonction mais j'ai appliqué bêtement, et sa fonctionne plutôt bien, j'ai réussit à l'appliquer à mes différentes recherche.

Reste une chose à amélioré pour que ce soit parfait :
J'aimerai remplacer la recherche de "*mot*" par la recherche du contenu de la cellule P1
j'ai essayé de remplacer "*mot*" par P1, mais du coup ça ne fonctionne que quand il y a exactement la même chose que dans P1.

il faudrait si le mot dans P1 apparaît dans une cellule de recherche

Exemple en P1 j'ai Mercredi (et uniquement ca)
si en B3 j'ai "Mercredi, jeudi" ca doit fonctionner mais avec ma bidouille ca ne fonctionne que si j'ai uniquement mercredi.

Que dois-je mettre à la place de "*MOT*" ?

Merci
0
via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 2 738 > Bemanace Messages postés 60 Date d'inscription lundi 23 février 2015 Statut Membre Dernière intervention 18 novembre 2021
24 févr. 2015 à 17:08
Bonjour
Dans la 1ere formule les * avant et après remplace n'importe quoi donc la fonction recherchait MOT au milieu d'un texte pour faire la même chose avec une valeur en P1 on adapte la formule ainsi :
=SIERREUR(INDEX(B3:O3;;EQUIV("*" & P1 &"*";B3:O3;0)+1);"--")

Pour explication : la fonction EQUIV renvoie le rang de la valeur cherchée dans une plage; par exemple si elle trouve la valeur en D3 elle renvoie (3eme position)
La fonction INDEX renvoie la valeur se trouvant dans une plage à la position indiquée; ici la position indiquée est celle trouvée par EQUIV à laquelle on ajoute 1 ainsi INDEX dans l'exemple renverre la baleur en 4eme position soit celle en E3
Enfin la fonction SIERREUR gère le cas où aucune correspondance n'est trouvée par EQUIV et au lieu de renvoyer un message d'erreur N/A renvoie --

Cdlmnt
0
Bemanace Messages postés 60 Date d'inscription lundi 23 février 2015 Statut Membre Dernière intervention 18 novembre 2021 9
24 févr. 2015 à 19:38
FANTASTIQUE ! ! !
Tout fonctionne exactement comme je l'espérai, grâce à toi !
Un grand merci d'avoir pris le temps de répondre.
Et avec l'explication en bonus, j'adore !
Bien cordialement.
0