Fonction recherche sans tri croissant
Bonjour a tous
Je vais essayer d'expliquer mon problème.
J'ai déja utilisé la fonction recherche,mais dans mon cas présent elle ne fonctionne pas car il faudrait que je trie mes lignes et ce n'est pas possible.je ne suis pas du tout un expert dans Excel mais je pratique régulièrement.
Je souhaiterais trouver une fonction qui cherche dans plusieurs colonnes une référence et qui récupère dans une céllule une valeur associée a cette référence.
Pour mon exemple que je vous envoie je souhaiterai récupérer par une fonction de recherche en cellule P9 la valeur qui correspond a la céllule associée si je met dans ma cellule 022 une reference qui se trouve dans la colonne K par exemple F1 ou F2 ou F3 et la cellule associée est dans la colonne C le résultat devrait etre 11,06 ou 7,48 ou 13,42.
Cet exemple est simplement avec 2 colonnes différentes mais je voudrais pouoir faire des recherches sur un plus grand nombre de colonnes.
désolé si mes explications ne sont pas tres claires!!
Merci d'avance pour vos réponses
Tu peux effectuer tes recherches en couplant les fonctions INDEX + EQUIV
=INDEX(C4:C50;EQUIV(O20;K4:K50;0))A+
Bonsoir Frangy
Je viens de faire le test et ça fonctionne a merveille maintenant est-il possible de multiplier les recherches pour les faire dans d'autres colonnes car dans l'exemple je n'ai que 3 modules ou j'applique la fonction mais en réalité il faut que je fasse la recherche sur 48 modules,tous dans une meme feuille mais dans des colonnes adjacentes...
Merci encore pour vos reponses aussi rapides
@ bientôt
Avec la combinaison INDEX + EQUIV, tu dois pouvoir trouver les différentes valeurs dans les modules.
La partie EQUIV te permet de trouver le numéro de la ligne et celui de la colonne est déclaré dans INDEX.
Si tu as des difficultés à appliquer la formule, fais passer un exemple plus complet de ton classeur avec quelques explications.
A+
bonjour
Après réflexion la formule index et equiv est bien pour résoudre mon problème mais il y a des conditions supplémentaires.
- L'INDEX doit se faire dans C4:C50 mais aussi N4:N50 et Y4:Y50 et d'autres si j'ajoute des colonnes.
- L'EQUIV doit se faire dans K4:K50 mais aussi V4:V50 et AG4:AG50 et d'autres si j'ajoute des colonnes.
-La valeur de AL9 doit être aussi la somme des valeurs trouvées pour AK20+AN20+AQ20+AT20 et cette somme doit être un nombre même si il n'y a pas de valeur dans AK20 ou AN20 ou AQ20 etc...
pour l'instant quand je fait l'essai de la somme ça marche mais si aucune valeur dans une de ces cellules le résultat est:#N/A
voir l'exemple.
Merci encore pour votre aide et votre patience.
Bonjour,
Pour pouvoir utiliser INDEX, il faut que tu parviennes à indiquer clairement :
1) quelle est la valeur cherchée ?
2) dans quelle colonne doit s’effectuer la recherche ?
Avec ces 2 paramètres, tu peux déterminer sur quelle ligne se trouve la valeur à retourner.
3) quelle est la colonne qui contient les valeurs à retourner ?
Avec ce 3eme paramètre, tu peux déterminer dans quelle cellule se trouve la valeur à retourner.
Pour t’aider, il faudrait d’abord que je comprenne la structure de ton projet et ce que tu cherches à faire.
Je ne sais toujours pas ce que tu cherches, où il faut le chercher et où il faut le renvoyer.
A+
Bonjour
Pour expliquer clairement,
nous cherchons a savoir les consommation par phase des appareils branchés sur le rack N°1
dans le rack N°1 nous pouvons brancher 4 groupes d'appareils dans les prises AK20,AN20,AQ20 et AT20.
nous devons retourner les valeur de chaque phase dans le rack
par exemple si nous branchons F1,F2,G1,G2 dans le rack nous allons chercher dans le tableur la cellule F1,F2,G1 et G2 et renvoyer
la valeur de la phase 1 dans le rack ou la phase 1 est la cellule AL9
la valeur de la phase 2 dans le rack ou la phase 2 est la cellule AO9
la valeur de la phase 3 dans le rack ou la phase 3 est la cellule AR9
le seul point a adapter a mon problème c'est que ma recherche doit s'effectuer pour chaque module.
Quand je parle de module il s'agit du groupe de cellules qui sont encadrées en gras et qui portent un numéro dans l'angle en haut a gauche.
Dans l'exemple il y a 9 modules numérotés de 1à9.
Donc pour résumer je dois additionner les phases des cables branchés comme F1,F2,G1 et G2.
le résultat de la phase 1 sera donc la somme des 4 phases 1 dans AL9
le résultat de la phase 2 sera donc la somme des 4 phases 2 dans AO9
le résultat de la phase 3 sera donc la somme des 4 phases 3 dans AR9.
En esperant mettre mieux expliqué
par avance merci a bientôt
Si j’ai bien compris, si tu branches F1,F2,G1,G2 dans le rack, tu vas chercher dans le tableur les cellules :
- F1 du module 1
- F1 du module 7
- F2 du module 2
- F2 du module 8
- G1 du module 5
- G2 du module 6
A+
bonsoir
je viens de m'apercevoir que j'avais commis une erreur dans les modules 7,8 et 9.
en effet 2 modules n'auront jamais la même référence
j'ai"x" modules qui sont au nombre de 48 pour l'instant.
du coup la fonction =INDEX(C4:C50;EQUIV(O20;K4:K50;0)) marche tres bien mais je ne sais pas la configurer pour chercher dans tout les modules et surtout creer une somme avec une valeur meme si certaines cellules sont vides.je transmet le fichier avec des references différentes
merci
Pour faciliter la tâche, j’ai opté pour une autre formulation.
J’ai affecté un nom à chaque référence (F1, F2, G1, ...).
La référence F1 a le nom F1_, la référence F2 a le nom F2_, etc.
Cette disposition permet de trouver directement la cellule correspondante dans les modules grâce à la formule =INDIRECT(AK20 & "_")
En contrepartie, cela demande à déclarer les 48 noms mais c’est un moindre mal.
Cette cellule étant trouvée, il suffit de prendre la valeur décalée de -8 colonnes pour avoir la valeur de la phase 1, décalée de -6 colonnes pour avoir la valeur de la phase 2 et décalée de -5 colonnes pour avoir la valeur de la phase 3.
Il reste ensuite à faire la somme des 4 valeurs par phase pour les références indiquées dans le Rack1 et à gérer le cas où une référence est absente.
A+
Bonjour
j'ai fait le test avec la fonction indirect et je n'ai pas trouvé ou affecter les noms.
je vais quand meme essayer de trouver une solution avec index et equiv
merci encore et si vous trouvez quelque chose pour m'aider encore je suis preneur.
A bientôt
Bonjour,
Je te conseille quand même d'essayer la solution avec les noms. As-tu fait le test avec le classeur que je t'ai envoyé ?
Pour la création des noms, tu dois aller dans le menu "Insertion" > "Nom" > "Définir..."
La difficulté pour utiliser les fonctions INDEX + EQUIV, c’est que tes modules ne sont pas alignés.
La recherche ne peut donc pas se faire dans une seule colonne.
Si tu souhaites continuer dans ce sens, il sera intéressant d'envisager de modifier la disposition de tes modules.
A+