[EXCEL] Sommeprod + Index + Equiv

Bonjour à tous,

J'essai en vain de trouver une formule qui me permettrai en une unique formule (sans formule intermédiaire et sans colonne intermédiaire), de calculer une somme.
La difficulté vient du fait que cette somme doit être calculé via les résulats d'un INDEX+EQUIV effectué sur une plage de mesure.

Voir mon exemple en pj, je cherche à trouver le résultat de 14,2 en une formule sans passer par la colonne intermédiaire G.

Pour chaque valeur du tableau en colonne B, on cherche la valeur 2 équivalente dans le tableau Tbl et on additionne toutes les valeurs 2.
À noter que chaque valeur est arrondis au supérieur pour récupérer la 'Valeur 2' correspondante.
J'ai bien tenté plusieurs choses avec SOMMEPROD mais sans succès...

Merci d'avance pour votre aide !

Bonne journée,

Baboutz

19formule-somme.xlsx (11.22 Ko)

Bonsoir à tous !

Une proposition ?

=SOMME(RECHERCHEX(B3:B6;Tbl[Valeur];Tbl[Valeur 2];0;1))

Hello JFL,

Merci pour ton aide !

Malheureusement j'ai oublié de le préciser mais je suis sur Excel 2016 au boulot et je n'ai donc pas accès à cette fonction

Vivement qu'on y passe tout de même, quand je vois la simplicité de la formule!

Bonjour à tous !

Alors peut être comme ceci :

=SOMME(INDEX(Tbl[Valeur 2];EQUIV(B3:B6;Tbl[Valeur];-1)))

Éventuellement à valider en mode matriciel.

Non ça ne marche pas, en validation classique cela me sort un #VALEUR et en matriciel ça me sort 4,5, comme s'il ne prenait en compte que la première valeur !

Bonjour à tous de nouveau !

Je vous livre mon classeur test :

image

Bonjour à tous,

Pour le principe, et si vraiment la matricielle ne fonctionne pas...

Une alternative super chiante à mettre en place, pas du tout dynamique, mais qui fonctionne :

=SOMME.SI(Tbl[Valeur];ARRONDI.SUP(B4;1);Tbl[Valeur 2])+SOMME.SI(Tbl[Valeur];ARRONDI.SUP(B3;1);Tbl[Valeur 2])+SOMME.SI(Tbl[Valeur];ARRONDI.SUP(B5;1);Tbl[Valeur 2])+SOMME.SI(Tbl[Valeur];ARRONDI.SUP(B6;1);Tbl[Valeur 2])

Sinon, une option PowerQuery est aussi envisageable...

Bonjour JB_,

@JFL Cela doit marcher chez toi car E365 prends en compte les calculs matriciels dynamiques, ce qui n'est pas le cas de E2016 et donc chez moi EQUIV avec une plage en entrée ça plante..

@JB_ Merci mais effectivement je recherche une solution dynamique... et il s'avère que j'ai trouvé

J'ai réussi à trouver la solution grâce à ce poste StackOverflow. La technique proposé consiste à « dé-référencé » INDEX afin qu'il retourne une plage. J'ai utilisé la même technique sur EQUIV et cela fonctionne ! Cerise sur le gâteau, pas besoin de formule matricielle.
J'avoue en revanche que c'est assez technique donc je ne saurais pas l'expliquer proprement...

Voici la formule qui marche dans mon fichier exemple :

=SOMME(INDEX(Tbl[Valeur 2];EQUIV(N(SI({1};B3:B6));Tbl[Valeur];-1)))

Merci pour votre aide en tout cas !

Bonne journée,

Baboutz

Bonsoir à tous !

Voici la formule qui marche dans mon fichier exemple :

=SOMME(INDEX(Tbl[Valeur 2];EQUIV(N(SI({1};B3:B6));Tbl[Valeur];-1)))

La construction est intéressante ...

Je vous remercie de ce retour.

Avec plaisir !

Rechercher des sujets similaires à "sommeprod index equiv"