Une Somme.Si raffinée

Bonjour à tous,

Je souhaiterais obtenir de l'aide pour réaliser l'opération suivante, sans aucun doute élémentaire, mais je suis débutant en Excel. J'ai joint un fichier "Exemple_A" pour illustrer le problème. Voici le contexte et l'opération à effectuer :

* dans la feuille 1, appelée "Source", je dispose de données brutes, disons les valeurs des grandeurs Y, X1,X2,X3,... sur les colonnes B,C,D,... pour une liste d'objets item1, item2,... de la colonne A.

* dans la feuille 2, appelée "Résultats", je dispose d'objets Z1,Z2,... en colonne A, un objet Z étant une assemblage d'items de la feuille 1.

Par exemple : Z1 est un assemblage de (item1, item2, item 4).

* je souhaite obtenir les grandeurs Y, X1, X2, X3 dans les colonnes B,C,D... pour les objets Z.

Dans la colonne B2 de l'onglet "Résultats", je souhaite donc écrire une formule demandant à Excel : fais la somme de la grandeur X1, pondérée par Y, pour les item constituants Z.

Dans le fichier joint, vous pourrez voir par exemple que Z1 est en A2, et que la liste des ses constituants est en A3:A5.

Le résultat que je souhaite avoir en cellule B2 de l'onglet Résultats est donc :

Somme X1_{i} * Y_{i}/100 pour tout les i appartenant à la liste A3:A5. Le *1/100 est une normalisation pour les unités, car les données Y_{i} sont dans de facto dans une certaine unité.

Je veux donc dire à Excel :

"Cherche dans la colonne A de la feuille 1 tous les items correspondants à la liste A3:A5, et fais la sommeprod X1_{i}/100*Y_{i}".

Ce doit être très simple, mais je ne sais comment l'écrire.

Un exemple d'utilisation est le suivant : les items i sont des ingrédients, les grandeurs Xi des données en nutrition, les objets Z des produits assemblés. Je souhaite donc avoir dans l'onglet "Résultats" les données de nutrition de Z1. Pour la grandeur X1 de Z1, Z1 étant constitué de item 1, 2 et 4, ce sera donc :

"X1 de item 1 (stocké dans l'onglet sources, cellule C2) * Y de item 1 (cellule B2) / 100 [coefficient pour les unités]

+ idem item 2

+ idem item 4"

La partie qui me pose problème est de dire à Excel : "cherche dans l'onglet Sources les item qui correspondent aux item de la liste A3:A5".

Je souhaiterais avoir ce résultat sans cellule intermédiaire, sans copier les données sources ailleurs.

Auriez-vous des suggestions pour remplir les lignes 2 et 6 de l'onglet "Résultats" du fichier Exemple_A ?

J'espère que c'est clair.

Merci pour votre aide,

A.

4exemple-a.xlsx (9.78 Ko)

Bonjour,

Ci-joint une proposition ...

En espèrant que cela t'aide

3exemple-a.xlsx (9.63 Ko)

Merci beaucoup ! Cela répond exactement à la problématique ! Cela m'a permis de rencontrer INDEX et EQUIV.

J'aurais donc une autre question pour aller un cran plus loin :

* dans ton fichier, dans l'onglet Résultats cellule C2 par exemple, il y a donc la somme des trois INDEX.

Comme le tableau source et la grandeur recherchée (X1) est constante, les arguments "matrice" et [no_col] de ces trois fonctions INDEX sont les mêmes.

Le seul argument qui varie est no_lig, car chaque fonction INDEX va chercher la grandeur X1 pour un item.

Autrement dit, on a :

INDEX(matrice, equiv($A3; matrice2;0), equiv(invariant)) +

INDEX(matrice, equiv ($A4; matrice2;0),equiv(invariant)) +

INDEX(matrice, equiv ($A5; matrice2;0),equiv(invariant))

Comment pourrait-on, pour simplifier la formule, écrire :

"somme pour tous les A_{i}appartenant à la liste A3:A5 de INDEX(matrice, equiv($A_{i}; matrice2;0),equiv(invariant))" ?

Merci beaucoup !

A.

De rien ...

Tu avais prévenu ... avec le titre que tu as choisi ...

A la recherche du raffinement ...

Ci-joint la version 2 ...

En espèrant que cela réponde à ton attente ... (de raffinement...)

Superbe !!!

C'est exactement cela !

Et ça m'a permis de m'initier à la syntaxe du calcul matriciel sous excel ! Je vais pouvoir écrire les choses simplement...

C'est magnifique !

Merci beaucoup

Cela y répond complètement

Ravi que ela te convienne ...

Merci pour tes chaleureux remerciements ...

bonjour

bonjour James

sans les 3 doigts

=SOMMEPROD((Source!B$2:B$5)*(NB.SI(Source!$A$2:$A$5;Résultats!$A$2:$A$5)>0))

cordialement

Rechercher des sujets similaires à "somme raffinee"