Recherche matricielle 3 critères

Bonjour à Tous,

Et Meilleurs Voeux!

Je rencontre des difficultés pour effectuer une recherche matricielle selon trois critères.

Dans l'exemple joint, je souhaite faire apparaitre en B5 la valeur contenue dans la matrice D2:H8 en fonction:

  • de la valeur saisie en B2 (Code Produit)
  • de la valeur saisie en A5 (Nom Produit)
  • de la valeur saisie en B4 (Date)

J'ai d'abord utilisé la fonction =SOMME.SI.ENS(F3:F8;D3:D8;B2;E3:E8;A5).

Cette fonction ne répond pas à mon besoin car elle m'oblige à indiquer la plage de cellule pour la somme (ici la sélection F3:F8).

Je souhaite que la colonne soit recherchée en fonction de la valeur saisie en B4 (Date).

J'ai essayé une fonction de recherche matricielle mais je dois mal l'utiliser car elle fait apparaitre un message d'erreur (#VALEUR!).

=INDEX(D2:H8;EQUIV(B2&A5;D2:D8&E2:E8;0);EQUIV(B4;D2:H2;0))

Merci d'avance pour votre aide.

Bonjour. Bienvenue sur le Forum

Formule en B5, incrémentée vers le bas

=SOMMEPROD(($D$3:$D$100=$B$2)*($E$3:$E$100=$A5)*(DECALER($E$3:$E$100;0;EQUIV($B$4;$F$2:$H$2;0))))

Cordialement

Bonjour Amadeus,

pourquoi utiliser une sommeprod plutôt qu'une somme.si.ens qui ferait la même chose ?

Il est plus performant ?

bonjour ;bonjour Amadeus

une contribution

20jremy.xlsx (13.81 Ko)

cordialement


bonjour Pewi

pasque nous les anciens ,on fait dans le "classic mais chic " ; en surcroit c'est plus parlant

cordialement

tulipe_4 a écrit :

bonjour Pewi

pasque nous les anciens ,on fait dans le "classic mais chic " ; en surcroit c'est plus parlant

cordialement

Ah, non, mais je reconnais que c'est toujours la classe de multiplier par des booléens, mais, c'est le genre de choses qui rendent le code illisible (pour les non-connaisseurs) surtout si en plus c'est sur une plage

Mais je comprends donc que cela remonte à une époque où nb.si.ens n'existait pas. (je me disais bien que c'était bizarre que je ne l'ait pas découverte plus tôt celle là)

Bonjour,

Avant tout je vous remercie pour vos réponses, et les différentes solutions proposées.

Mon erreur portait sur le fait que je ne validais pas la forume matricielle à l'aide de CTRL+SHIFT+MAJ.

La bonne formulation est donc:

{=INDEX($D$2:$H$12;EQUIV($B$2&$A5;$D$2:$D$12&$E$2:$E$12;0);EQUIV($B$4;$D$2:$H$2;0))}

En revanche j'ai une question car ma formule ne fonctionne plus si le critère recherché résulte d'un calcul (au lieu d'une saisie).

Ci-joint l'exemple avec un calcul en B13.

Merci de votre aide.

Jremi

bonjour

sans rancune

 =INDEX($D$11:$H$17;EQUIV($B$11&$A14;$D$11:$D$17&$E$11:$E$17;0);EQUIV($B$13*1;$D$11:$H$11;0))

a noter :B$13*1

cordialement

Rechercher des sujets similaires à "recherche matricielle criteres"