Recherche formule
Fermé
PAGLICED
Messages postés
8
Date d'inscription
lundi 11 août 2014
Statut
Membre
Dernière intervention
6 septembre 2014
-
5 sept. 2014 à 18:18
via55 Messages postés 14502 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 9 décembre 2024 - 6 sept. 2014 à 20:48
via55 Messages postés 14502 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 9 décembre 2024 - 6 sept. 2014 à 20:48
A voir également:
- Recherche formule
- Formule si et - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Formule excel moyenne - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Excel mise en forme conditionnelle formule - Guide
10 réponses
PAGLICED
Messages postés
8
Date d'inscription
lundi 11 août 2014
Statut
Membre
Dernière intervention
6 septembre 2014
5 sept. 2014 à 18:23
5 sept. 2014 à 18:23
Désolé les tableau sont pas correctement afficher
1er tableau les valeurs AAA. BBB. CCC. DDD etc sont dans la colonne A.
Les valeurs KKK. LLL. MMM. NNN etc sont dans la colonne C
Les valeurs 10. 20. 30. 40. 50. Sont dans la colonne E
Second tableau
AAA colonne A. BBB colonne C. CCC colonne E Etc...
1er tableau les valeurs AAA. BBB. CCC. DDD etc sont dans la colonne A.
Les valeurs KKK. LLL. MMM. NNN etc sont dans la colonne C
Les valeurs 10. 20. 30. 40. 50. Sont dans la colonne E
Second tableau
AAA colonne A. BBB colonne C. CCC colonne E Etc...
via55
Messages postés
14502
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 décembre 2024
2 736
5 sept. 2014 à 19:03
5 sept. 2014 à 19:03
Bonsoir
Si j'ai bien compris la problématique :
1) pour plus de lisibilité et de clarté nommer les plages du premier tableau ainsi :
- la plage des colonnes A:B colAB
- la plage de la colonne A colA
- la plage des colonne C:D colCD
-la plage de al colonne C colC
- la plage de la colonne E valeurs
2) en B1 la formule serait alors :
=SI(SIERREUR(RECHERCHEV(A1;colAB;2;0);"")="indeterminé";INDEX(valeurs;EQUIV(A1;colA;0));SI(SIERREUR(RECHERCHEV(A1;colCD;2;0);"")="indeterminé";INDEX(valeurs;EQUIV(A1;colC;0));""))
Cdlmnt
Si j'ai bien compris la problématique :
1) pour plus de lisibilité et de clarté nommer les plages du premier tableau ainsi :
- la plage des colonnes A:B colAB
- la plage de la colonne A colA
- la plage des colonne C:D colCD
-la plage de al colonne C colC
- la plage de la colonne E valeurs
2) en B1 la formule serait alors :
=SI(SIERREUR(RECHERCHEV(A1;colAB;2;0);"")="indeterminé";INDEX(valeurs;EQUIV(A1;colA;0));SI(SIERREUR(RECHERCHEV(A1;colCD;2;0);"")="indeterminé";INDEX(valeurs;EQUIV(A1;colC;0));""))
Cdlmnt
PAGLICED
Messages postés
8
Date d'inscription
lundi 11 août 2014
Statut
Membre
Dernière intervention
6 septembre 2014
5 sept. 2014 à 19:34
5 sept. 2014 à 19:34
Merci de ta réponse via 55
Peut tu m'expliquer ta formule
Qu'entend tu par nommer les plages
Ta formule m'intéresse mais j'ai plusieurs tableau identique au premier tableau sur une même page l'un en dessous de l'autre pour les différente ligne du tableau numero 2 comment dois je faire
Cordialement
Peut tu m'expliquer ta formule
Qu'entend tu par nommer les plages
Ta formule m'intéresse mais j'ai plusieurs tableau identique au premier tableau sur une même page l'un en dessous de l'autre pour les différente ligne du tableau numero 2 comment dois je faire
Cordialement
via55
Messages postés
14502
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 décembre 2024
2 736
5 sept. 2014 à 19:45
5 sept. 2014 à 19:45
Re
Pour nommer une plage
Selectionner la plage puis Clic droit Nommer une plage
Tu ne parlais que d'un tableau au départ
Un exemple de ton fichier allégé et anonymé posté sur cjoint.com serait le bienvenu ! Une fois posté tu reviens ici indiquer le lien fourni
Je m'absente quelques heures, je le regarderai en rentrant
Cdlmnt
Pour nommer une plage
Selectionner la plage puis Clic droit Nommer une plage
Tu ne parlais que d'un tableau au départ
Un exemple de ton fichier allégé et anonymé posté sur cjoint.com serait le bienvenu ! Une fois posté tu reviens ici indiquer le lien fourni
Je m'absente quelques heures, je le regarderai en rentrant
Cdlmnt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
PAGLICED
Messages postés
8
Date d'inscription
lundi 11 août 2014
Statut
Membre
Dernière intervention
6 septembre 2014
5 sept. 2014 à 22:07
5 sept. 2014 à 22:07
MERCI VIA55
VOILA LE LIEN
https://www.cjoint.com/?DIfwgHoKJ6N
merci cordialement
VOILA LE LIEN
https://www.cjoint.com/?DIfwgHoKJ6N
merci cordialement
via55
Messages postés
14502
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 décembre 2024
2 736
Modifié par via55 le 6/09/2014 à 00:03
Modifié par via55 le 6/09/2014 à 00:03
Re
Bien reçu le fichier mais je ne comprends plus rien au regard de ta problématique de départ car le tableau en feuille 2 ne correspond pas à ta demande initiale (tu parlais de B1 , rien à voir, de plus à quoi correspond la formule en E =SI(D4="N";B4*C4;"") alors que en D4 tu ne peux avoir que V F ou I !? )
Donnes moi plus de précisions, quelles infos de quelles cellules du tableau 1 avec les valeurs de 10 à 10 souhaitent tu rapatrier dans le tableau 1 et où ? donne moi un exemple précis avec les adresses des cellules et les valeurs
Dans l'attente
Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein
Bien reçu le fichier mais je ne comprends plus rien au regard de ta problématique de départ car le tableau en feuille 2 ne correspond pas à ta demande initiale (tu parlais de B1 , rien à voir, de plus à quoi correspond la formule en E =SI(D4="N";B4*C4;"") alors que en D4 tu ne peux avoir que V F ou I !? )
Donnes moi plus de précisions, quelles infos de quelles cellules du tableau 1 avec les valeurs de 10 à 10 souhaitent tu rapatrier dans le tableau 1 et où ? donne moi un exemple précis avec les adresses des cellules et les valeurs
Dans l'attente
Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein
PAGLICED
Messages postés
8
Date d'inscription
lundi 11 août 2014
Statut
Membre
Dernière intervention
6 septembre 2014
6 sept. 2014 à 00:45
6 sept. 2014 à 00:45
Pour la colonne E Il s'agit d'une erreur ... N voulais dire neutre , remplacé par I pour indéterminé donc à la place de N faut y mettre un I
J'ai certainement pas été assez clair dans mes explications
Je cherche a affiché la valeur de E (Page 3) dans le tableau Page 2
Chaque tableau (page 3) est reprensenté par ligne sur la page 2
Je m'explique je cherche une formule qui (si la valeur est indéterminé donc I. ) dans le tableau 3 , afficher la valeur de E
mais le plus dur c'est que cette formule dois chercher dans le tableau page 3 la position de (AAA ou BBB ou CCC etc...) et afficher la valeur de E se trouvant sur la ligne
Si AAA se trouve en A10 en (indéterminé) afficher la valeur E10
Mais si après recherche AAA se trouve en A6 toujours avec une valeur indéterminé afficher la valeur E6
Ne rien afficher si autre que la valeur Indéterminé
C'est vraiment dur d'expliquer ce que je veux par écrit j'espère que tu arrivera a me comprendre cordialement
J'ai certainement pas été assez clair dans mes explications
Je cherche a affiché la valeur de E (Page 3) dans le tableau Page 2
Chaque tableau (page 3) est reprensenté par ligne sur la page 2
Je m'explique je cherche une formule qui (si la valeur est indéterminé donc I. ) dans le tableau 3 , afficher la valeur de E
mais le plus dur c'est que cette formule dois chercher dans le tableau page 3 la position de (AAA ou BBB ou CCC etc...) et afficher la valeur de E se trouvant sur la ligne
Si AAA se trouve en A10 en (indéterminé) afficher la valeur E10
Mais si après recherche AAA se trouve en A6 toujours avec une valeur indéterminé afficher la valeur E6
Ne rien afficher si autre que la valeur Indéterminé
C'est vraiment dur d'expliquer ce que je veux par écrit j'espère que tu arrivera a me comprendre cordialement
via55
Messages postés
14502
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 décembre 2024
2 736
6 sept. 2014 à 01:12
6 sept. 2014 à 01:12
En espérant que cela correspond à tes attentes :
https://www.cjoint.com/?0Igbm6PH7vk
Explications dans le fichier
Cdlmnt
https://www.cjoint.com/?0Igbm6PH7vk
Explications dans le fichier
Cdlmnt
PAGLICED
Messages postés
8
Date d'inscription
lundi 11 août 2014
Statut
Membre
Dernière intervention
6 septembre 2014
6 sept. 2014 à 20:01
6 sept. 2014 à 20:01
Merci via55 c'est super sympa
J'ai du ma a comprendre la formule mais je vais chercher j'aime bien comprendre ce que je fait
Peut tu me dire comment nommer les plages des colonnes
Faut il sélectionner les cellules en question pour les renommer ???
Enfin merci encore t'es un dieu d'excel
Cordialement
J'ai du ma a comprendre la formule mais je vais chercher j'aime bien comprendre ce que je fait
Peut tu me dire comment nommer les plages des colonnes
Faut il sélectionner les cellules en question pour les renommer ???
Enfin merci encore t'es un dieu d'excel
Cordialement
via55
Messages postés
14502
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 décembre 2024
2 736
6 sept. 2014 à 20:48
6 sept. 2014 à 20:48
Bonsoir pagliced
Pour nomme une plage comme je le disais dans un precedent message : selectionner la plage, clic droit Nommer plage
En ce qui concerne la formule elle est un peu complexe car d'une part gère les erreurs et d'autre part fait appel à INDIRECT pour trouver la plage de recherche ; en simplifiant on utilise INDEX pour rechercher dans une plage une valeur en ligne x et colonne y de la plage ; ici si on veut avoir la valeur en 4eme ligne et en colonne 1 de la plage nommée t_1b il faut simplement écrire INDEX(t_1b;2;1) ; comme il n'y a qu'une colonne dans nos plages on peut simplifier et omettre l'élement colonne la formule sera donc simplement (t_1b;2)
mais comme on ne connait la plage est variable (en fonction du N° de tableau dans la colonne TABLEAU) et la ligne aussi (en fonction de ce qui se trouve dans la cellule de la colonne VALEUR) il faut :
- reconstituer une adresse avec INDIRECT ("t_" & $A4 & "b") A4 étant égal à 1 le nom reconstitué sera bien t_1b
- trouver la ligne correspondant à celle ou se trouve la valeur dont on cherche le résultat ici III qui se trouve en B2, on le fait avec EQUIV(valeur cherchée,plage de recherche, type exact ou non) ce qui donne EQUIV(B$2;INDIRECT("t_"&$A4&"a");0) (la plage de recherche étant elle aussi variable selon le tableau on la détermine là aussi avec la fonction INDIRECT
la fonction INDEX s'écrit alors maintenant INDEX(INDIRECT("t_"&$A4&"b");EQUIV(B$2;INDIRECT("t_"&$A4&"a");0))
Si on n'avait qu'une colonne de recherche avec les valeurs AAA, BBB etc on s'arreterait là mais comme la valeur cherchée peut être dans une autre colonne on gère l'erreur avec SI ERREUR ce qui donne
=SIERREUR(INDEX(INDIRECT("t_"&$A5&"b");EQUIV(B$2;INDIRECT("t_"&$A5&"a");0)); et il faut mettre après ce ; là où il faut chercher en cas d'erreur (non trouvé dans la première colonne) d'où la formule complète :
=SIERREUR(INDEX(INDIRECT("t_"&$A5&"b");EQUIV(B$2;INDIRECT("t_"&$A5&"a");0));INDEX(INDIRECT("t_"&$A5&"d");EQUIV(B$2;INDIRECT("t_"&$A5&"c");0))) dans laquelle la dernière partie effectue la même recherche avec INDEX que dans la première mais nonplus à partir des colonnes 1 et 2 mais 3 et 4
En espérant avoir été clair !
Cdlmnt
Pour nomme une plage comme je le disais dans un precedent message : selectionner la plage, clic droit Nommer plage
En ce qui concerne la formule elle est un peu complexe car d'une part gère les erreurs et d'autre part fait appel à INDIRECT pour trouver la plage de recherche ; en simplifiant on utilise INDEX pour rechercher dans une plage une valeur en ligne x et colonne y de la plage ; ici si on veut avoir la valeur en 4eme ligne et en colonne 1 de la plage nommée t_1b il faut simplement écrire INDEX(t_1b;2;1) ; comme il n'y a qu'une colonne dans nos plages on peut simplifier et omettre l'élement colonne la formule sera donc simplement (t_1b;2)
mais comme on ne connait la plage est variable (en fonction du N° de tableau dans la colonne TABLEAU) et la ligne aussi (en fonction de ce qui se trouve dans la cellule de la colonne VALEUR) il faut :
- reconstituer une adresse avec INDIRECT ("t_" & $A4 & "b") A4 étant égal à 1 le nom reconstitué sera bien t_1b
- trouver la ligne correspondant à celle ou se trouve la valeur dont on cherche le résultat ici III qui se trouve en B2, on le fait avec EQUIV(valeur cherchée,plage de recherche, type exact ou non) ce qui donne EQUIV(B$2;INDIRECT("t_"&$A4&"a");0) (la plage de recherche étant elle aussi variable selon le tableau on la détermine là aussi avec la fonction INDIRECT
la fonction INDEX s'écrit alors maintenant INDEX(INDIRECT("t_"&$A4&"b");EQUIV(B$2;INDIRECT("t_"&$A4&"a");0))
Si on n'avait qu'une colonne de recherche avec les valeurs AAA, BBB etc on s'arreterait là mais comme la valeur cherchée peut être dans une autre colonne on gère l'erreur avec SI ERREUR ce qui donne
=SIERREUR(INDEX(INDIRECT("t_"&$A5&"b");EQUIV(B$2;INDIRECT("t_"&$A5&"a");0)); et il faut mettre après ce ; là où il faut chercher en cas d'erreur (non trouvé dans la première colonne) d'où la formule complète :
=SIERREUR(INDEX(INDIRECT("t_"&$A5&"b");EQUIV(B$2;INDIRECT("t_"&$A5&"a");0));INDEX(INDIRECT("t_"&$A5&"d");EQUIV(B$2;INDIRECT("t_"&$A5&"c");0))) dans laquelle la dernière partie effectue la même recherche avec INDEX que dans la première mais nonplus à partir des colonnes 1 et 2 mais 3 et 4
En espérant avoir été clair !
Cdlmnt