Excel fonction RECHERCHE
photon
-
pierrot_42 Messages postés 59 Statut Membre -
pierrot_42 Messages postés 59 Statut Membre -
Bonjour à tous !
Je cherche à faire une opération qui me paraissait relativement simple sur Excel, mais là j'avoue que je bloque un peu (je suis débutant). Je dois faire une mauvaise utilisation de la fonction RECHERCHE ...
Je vous explique mon problème :
J'ai dans mon fichier une feuille "chantiers" et une feuilles "taches".
A chaque tâche est associé un numéro au format 1.1; 1.2; 2.1 ; 2.2; 2.3 etc. (donc un tableau à 2 colonnes : nom de tâche et num. de tâche)
et une seconde feuille, "chantiers" qui liste les noms des chantiers et associe à chaque chantier la ou les taches qu'il englobe. (encore un tableau à 2 colonnes)
Je désire rajouter dans la feuille "taches" une 3ème colonne qui précise si la tâche est contenue dans un chantier ou non.
Mon idée était donc, avec la fonction RECHERCHEV, de récupérer le num. de la tâche, trouver ce numéro dans le tableau chantier (ou non si la tâche n'est pas associée à un chantier) et dans le cas ou un chantier est associé renvoyer son nom.
J'espère avoir été clair, voici un fichier simplifié sur lequel je fais mes tests :
http://www.cijoint.fr/cjlink.php?file=cj201106/cijyZBRe8E.xlsx
Voilà si quelqu'un a une idée, son aide sera grandement appréciée ^^
Merci beaucoup.
Je cherche à faire une opération qui me paraissait relativement simple sur Excel, mais là j'avoue que je bloque un peu (je suis débutant). Je dois faire une mauvaise utilisation de la fonction RECHERCHE ...
Je vous explique mon problème :
J'ai dans mon fichier une feuille "chantiers" et une feuilles "taches".
A chaque tâche est associé un numéro au format 1.1; 1.2; 2.1 ; 2.2; 2.3 etc. (donc un tableau à 2 colonnes : nom de tâche et num. de tâche)
et une seconde feuille, "chantiers" qui liste les noms des chantiers et associe à chaque chantier la ou les taches qu'il englobe. (encore un tableau à 2 colonnes)
Je désire rajouter dans la feuille "taches" une 3ème colonne qui précise si la tâche est contenue dans un chantier ou non.
Mon idée était donc, avec la fonction RECHERCHEV, de récupérer le num. de la tâche, trouver ce numéro dans le tableau chantier (ou non si la tâche n'est pas associée à un chantier) et dans le cas ou un chantier est associé renvoyer son nom.
J'espère avoir été clair, voici un fichier simplifié sur lequel je fais mes tests :
http://www.cijoint.fr/cjlink.php?file=cj201106/cijyZBRe8E.xlsx
Voilà si quelqu'un a une idée, son aide sera grandement appréciée ^^
Merci beaucoup.
A voir également:
- Excel fonction RECHERCHE
- Fonction si et excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Fonction moyenne excel - Guide
3 réponses
Bonjour
votre fichier ici:
http://www.cijoint.fr/cjlink.php?file=cj201106/cijxDL0mFX.xls
quelques remarques:
A)_Vous ne pouvez pas utiliser la fonction RECHERCHEV car la valeur cherchée est dans la 2° colonne du champ.RECHERCHEV ne cherche que dans la 1° colonne d'un champ.
ce code est remplacé dans le fichier par la combinaison: INDEX(EQUIV)
B)_ certain N° de chantier sont plusieurs dans la même ligne, il est donc nécessaire de préciser au code EQUIV qu'il faut trouver la valeur cherchée parmi plusieurs valeurs d'une même cellule.
d'ou l'écriture:
"*"&cellule&"*"
C) pour éviter un affichage parasite de #/NA lorsque le code tache n'existe pas dans la colonne B chantier, la condition NB.SI en tête de formule:
_cherche si le code est présent dans la colonne chantier B
_renvoie 0 si le code n'existe pas
_sinon applique la, formule.
vous pouvez remplacer le 0 par un texte entre guillemets, par exemple:
"pas de chantier"
qui s'affichera si le N° de tache n'est pas présent dans la liste chantier.
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
votre fichier ici:
http://www.cijoint.fr/cjlink.php?file=cj201106/cijxDL0mFX.xls
quelques remarques:
A)_Vous ne pouvez pas utiliser la fonction RECHERCHEV car la valeur cherchée est dans la 2° colonne du champ.RECHERCHEV ne cherche que dans la 1° colonne d'un champ.
ce code est remplacé dans le fichier par la combinaison: INDEX(EQUIV)
B)_ certain N° de chantier sont plusieurs dans la même ligne, il est donc nécessaire de préciser au code EQUIV qu'il faut trouver la valeur cherchée parmi plusieurs valeurs d'une même cellule.
d'ou l'écriture:
"*"&cellule&"*"
C) pour éviter un affichage parasite de #/NA lorsque le code tache n'existe pas dans la colonne B chantier, la condition NB.SI en tête de formule:
_cherche si le code est présent dans la colonne chantier B
_renvoie 0 si le code n'existe pas
_sinon applique la, formule.
vous pouvez remplacer le 0 par un texte entre guillemets, par exemple:
"pas de chantier"
qui s'affichera si le N° de tache n'est pas présent dans la liste chantier.
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
Re
regardez ici si cela convient, c'est beaucoup moins simple.
http://www.cijoint.fr/cjlink.php?file=cj201106/cijahdzvCn.xls
revenez si besoin d'explications, mais un peu plus tard parce que là je suis à la bourre:-)
Pour augmenter le nombre de chantiers disponibles, ,tirez la formule vers la droite et dans le code NB.SI, remplacez la valeur >x par la valeur suivante
tirez ensuite la formule vers le bas
(exemple:ici on va jusqu'à 5 donc la suivante est >6)
crdlmnt
regardez ici si cela convient, c'est beaucoup moins simple.
http://www.cijoint.fr/cjlink.php?file=cj201106/cijahdzvCn.xls
revenez si besoin d'explications, mais un peu plus tard parce que là je suis à la bourre:-)
Pour augmenter le nombre de chantiers disponibles, ,tirez la formule vers la droite et dans le code NB.SI, remplacez la valeur >x par la valeur suivante
tirez ensuite la formule vers le bas
(exemple:ici on va jusqu'à 5 donc la suivante est >6)
crdlmnt
Bonjour Vaucluse,
Jolie formule pour résoudre la recherche multiple, qui n'est pas spécialement simple par formule sur excel.
Si je puis me permettre, je te suggère de remplacer ">1" en D2 par "">COLONNE()-3" ce qui permet d'étendre la formule sur toute la plage sans modification.
Bonne journée à toi.
Jolie formule pour résoudre la recherche multiple, qui n'est pas spécialement simple par formule sur excel.
Si je puis me permettre, je te suggère de remplacer ">1" en D2 par "">COLONNE()-3" ce qui permet d'étendre la formule sur toute la plage sans modification.
Bonne journée à toi.
Bonjour gb
exact la proposition.
J'y pense, mais je ne le place pas car je crains que ce soit un peu plus complexe pour l'utilisateur d'ajuster si l"adaptation a un autre type de tableau lui est nécessaire.
Mais c'est effectivement la solution pour avoir une formule qui ne nécessite pas d'intervention après copie.
Pour l'utilisateur, on va préciser que le code COLONNE()-3 donne le N° de colonne dans la feuille (donc 4 en colonne D) diminué de 3
=1 en colonne 4,2 en colonne 5 etc...
Bien amicalement
exact la proposition.
J'y pense, mais je ne le place pas car je crains que ce soit un peu plus complexe pour l'utilisateur d'ajuster si l"adaptation a un autre type de tableau lui est nécessaire.
Mais c'est effectivement la solution pour avoir une formule qui ne nécessite pas d'intervention après copie.
Pour l'utilisateur, on va préciser que le code COLONNE()-3 donne le N° de colonne dans la feuille (donc 4 en colonne D) diminué de 3
=1 en colonne 4,2 en colonne 5 etc...
Bien amicalement
Merci beaucoup pour votre réponse très complète et très claire !
La solution du INDEX(EQUIV) permet effectivement de traiter mon problème.
Le seul "soucis" qui persiste est que certaines tâches sont traitées dans plusieurs chantiers. (par exemple la tâche 3.2 est traitée dans les chantiers 11, 21 et 22)
Or je ne crois pas qu'il soit possible, avec cette méthode, de poursuivre la recherche après que la première valeur ait été trouvée.
Sauriez-vous comment corriger ça ?
Dans tous les cas, merci encore pour votre réponse.
Et pourtant on y arrive, regardes le fichier joint à mon dernier message.!!!!
crdlmnt