Formule matricielle

zorol

XLDnaute Nouveau
Bonjour à tous,

Je pense que le problème suivant a du être résolu auparavant mais je n'arrive plus à mettre la main sur la formule matricielle qui le résout. SI vous pouviez m'aider, ce serait très sympa.

Résumé du problème et simplifié par rapport au tableau existant : j'ai un tableau de deux colonnes. La première contient des codes article. La seconde colonne contient le dernier prix connu de l'article. Chaque ligne correspond à un mouvement et qui est conservé afin d'avoir un historique. Cela signifie que la dernière ligne enregistrée correspond au prix le plus récent pour un article donné et que la colonne des codes articles contient donc des doublons

Je souhaite faire apparaître dans une feuille le dernier prix connu pour un article donné le critère de recherche étant le code article.

Je vous remercie par avance de votre aide.

Bonne journée
 

Modeste

XLDnaute Barbatruc
Re : Formule matricielle

Bonjour Zorol et bienvenue,

Un petit fichier exemple aurait été le bienvenu (sans supplément de prix!)

Supposons tes codes en A1:A20 et tes prix en B1:B20.
Si le code à retrouver figure en D1, cette formule devrait fonctionner:
Code:
=INDEX($B$1:$B$20;MAX(SI($A$1:$A$20=D1;LIGNE($A$1:$A$20))))
Valider avec Ctrl+Shift+Enter, comme tu le sais sans doute!

... Si j'ai bien compris!?

[Edit:] Salut Dugenou :)
 
Dernière édition:

Dugenou

XLDnaute Barbatruc
Re : Formule matricielle

Bonjour,
pas facile sans fichier exemple
=index(colonne des prix;grande.valeur(si(colonne des articles = code article recherché;ligne(colonne des articles));1))
Cordialement

Edit : Bonjour Modeste !
 

zorol

XLDnaute Nouveau
Re : Formule matricielle

Bonjour,

merci pour les réponses, mais cela ne marche pas. Soit j'ai un #REF quand il y a une valeur à rechercher (solution de modeste), soit la prix donné n'est pas le bon dans la seconde solution.

D'un autre côté sans fichier difficile de trouver :eek: Pour que vous m'aidiez vous trouver en PJ un fichier dans lequel j'ai simplifier le problème mais qui correspond à ce que j'attends. Vous y trouverez également les données attendues en réponse à la formule recherchée.

Merci de votre aide à tous.
 

Pièces jointes

  • exemple.xlsx
    9.3 KB · Affichages: 41
  • exemple.xlsx
    9.3 KB · Affichages: 52
  • exemple.xlsx
    9.3 KB · Affichages: 47

Dugenou

XLDnaute Barbatruc
Re : Formule matricielle

Bonjour,
Et ben voilà c'est bien plus parlant !
l'index doit commencer à la ligne1 car la formule renvoie un N° de ligne (avec ligne(...)) et non un N° d'index
la valeur recherchée est en D2 et non en D7
la validation doit être faite avec ctrl+maj prov+enter : les {} doivent apparaitre autour de la formule
voir pj
 

Pièces jointes

  • zorol matriciel.xlsx
    9.3 KB · Affichages: 33

zorol

XLDnaute Nouveau
Re : Formule matricielle

Merci DUGENOU,

It's great. Par contre je dois être une vraie quiche aujourd'hui : ta formule est exactement la même que celle de Modeste. Ou alors j'ai un problème pour la transposer dans mon fichier.

Je teste et je vous dis quoi !

A +
 

Dugenou

XLDnaute Barbatruc
Re : Formule matricielle

oui c'est quasiment la même, j'ai fait avec grande.valeur(...;1) au lieu de MAX() mais ça revient au même (Job dirait certainement que celle de Modeste prend moins de place en mémoire...)
Pour la transposition : attention aux zones de référence (avec ou sans $) et surtout à la validation en matriciel
Il existe une syntaxe plus complexe qui permet de travailler avec la zone d'index au lieu de devoir utiliser une zone qui commence en ligne1. Ensuite on peut ajouter un sierreur pour le cas ou il n'y a pas de résultat à renvoyer.
Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote