Rechercher une valeur 1ere colonne a partir d'une matrice

Résolu/Fermé
tite lala - 22 mars 2013 à 14:59
tite lala Messages postés 7 Date d'inscription jeudi 28 mars 2013 Statut Membre Dernière intervention 15 janvier 2015 - 29 mars 2013 à 12:40
Bonjour,

J'ai besoin d'aide :

Mon tableau est composé de chiffres disposés en 4 colonnes et environ 26 lignes.
J'aimerais que s'affiche dans la cellule où je tape une formule que je cherche) le chiffre dans la 1ère colonne de mon tableau, j'illustre :

ex:
en cellule B12 : 230 (donc deuxieme colonne) moi je souhaite qu'il me donne ( à cote du tableau dans une autre ceullule indépendante, ex T1) le chiffre qui figure en A12 (ex: 220) donc le chiffre de la 1ère colonne.

et ce de maniere automatique,
en sachant qu'une deuxieme celulle indépendante Ex: J1Donnerais la donnée de B12 (qui aurait pu etre C14 ou D21 ceci releve d'une liaison automatique d'une autre feuille )

Ca me semble difficile à expliquer j'espere que quelqu'un me comprends ^^
Merci

2 réponses

via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
22 mars 2013 à 15:09
Bonjour


Non pas tout compris !

=DECALER(B12;0;-1)

renvoie la valeur de A12

Cdlmnt
0
En fait c'est pas vraiment ca...

-A1 : D26 ( correspond à ma matrice où figure ttes mes valeurs)
- E1= 230 ( corespond à une valeur qui se trouve également (n'importe où) dans ma matrice ex en B12=230)

Moi je souhaite que dans une autre celulle ex:

- F1 soit afficher automatique la valeur de la meme ligne mais de la 1ère colonne de ma matrice donc que soit affiché en F1 la cellule A12

Est ce plus claire et surtout possible?
cdlt
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
22 mars 2013 à 15:38
Ok
Je dois m'absenter
Je regarde ça ce soir
cdlmnt
0
Merci , c'est trés gentil !
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
23 mars 2013 à 00:46
Re

Voilà la formule à rentrer en F1 si valeur cherchée est en E1

=SIERREUR(INDIRECT("A"& SIERREUR(EQUIV(E1;A1:A26;0);SIERREUR(EQUIV(E1;B1:B26;0);SIERREUR(EQUIV(E1;C1:C26;0);SIERREUR(EQUIV(E1;D1:D26;0);0)))));"Non trouvé")

Le principe est avec EQUIV de rechercher la position de la valeur en E1 dans la colonne A1:A26 et si erreur (n'est pas dans cette colonne même recherche dans la colonne B1:26 etc...
on obtient au final une position x dans la matrice qui correspond au n° de ligne puisque la matrice commence en ligne 1 (si ce n'était pas le cas il faudrait décaler d'autant ) et la fonction INDIRECT("A" & cette position) renvoie la valeur de la cellule A x
Le Si erreur du début gère le cas où la valeur en E1 n'existerait pas dans la matrice et renvoie alors le message Non trouvé au lieu d'un message d'erreur

Cela correspond il bien à ce que tu recherchais ?

Cdlmnt
0
J'ai bien essayé on ne doit pas être loin mais le résultat trouvé n'est pas cohérent... :(

Recherche de A1 dans une matrice (matrice A5:D26)
Quand A1 trouvé dans la matrice, il faut afficher la valeur etant sur la même ligne en collone A.
A1 se trouve forcément dans la matrice et le résultat se trouvera obligatoirement dans la colonne A.
ex: A1 se trouve dans ka matrice en C20 la valeur trouvé doit être A20)

Merci
CORDIALEMENT
Lala
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 23/03/2013 à 09:28
Bonjour

A1:D26 baptisée "zone"

essaies
=SI(NB.SI(zone;E1)=0;"";DECALER(A1;SOMMEPROD((zone=E1)*LIGNE(zone))-1;0))

ou
=SI(NB.SI(zone;E1)=0;"";INDEX(A1:A26;SOMMEPROD((zone=E1)*LIGNE(zone))))

Ou encore
par Formule matricielle à valider par « ctrl+maj+entrée » (et non directement par « entrée »), le curseur clignotant dans la barre de formule; Excel encadre alors automatiquement la formule par des {}
=SI(NB.SI(zone;E1)=0;"";INDEX(A1:A26;SOMME(SI(zone=E1;LIGNE(zone));0)))

Et une petite dernière pour la route, toujours matricielle
=SI(NB.SI(zone;E1)=0;"";INDEX(A1:A26;MIN(SI(zone=E1;LIGNE(zone)))))


Michel
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
27 mars 2013 à 10:24
Excusez moi d'avoir essayer d'aider
0
Bonjour Michel_m,

Excusez-moi je ne voulais en aucun cas heurter votre sensibilité, j'ai essayé aussi vos calculs et ca ne fonctionne pas non plus... soit j'ai des messages d'erreurs ou encore une reponse qui n'est pas cohérente avec les resultat en 1ère colonne.J'avais aussi tenté les formules matricielles sans succés.
Bien le merci pour votre aide, et mes excuses pour mon non-retour!
cdlt
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
28 mars 2013 à 09:16
Bonjour

Un exemple similaire avec plusieurs méthodes: on cherche colonne A qui est à la valeur Maxi
dans mes propositions ci-dessus, j'avais simplement remplacer zone=max(zone) par zone =E1
https://www.cjoint.com/?3CCjltYKeH4
0
tite lala Messages postés 7 Date d'inscription jeudi 28 mars 2013 Statut Membre Dernière intervention 15 janvier 2015
28 mars 2013 à 09:56
Comment puis je vous inserer un document je pense que visuellement ca sera plus parlant car je ne m'en sors pas malgrés ce fichier trés explicite je ne pense pas qu'il y ait la dedans la bonne formule
:(
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
28 mars 2013 à 10:37
pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
0