Beaucoup de combinaisons = formule forcément très longue?

Bonjour à tous,

J'ai une demande pour savoir s'il existe quelque chose de plus simple dans ce que je souhaite faire...

J'essaye d'être clair:

J'ai 2 liste déroulantes : une de 7 fournisseurs (cellule A1) et une de 8 pivots (cellule A2).

Dans un autre onglet, j'ai un tableau avec une liste de pièces et des colonnes pivot1, 2...,8 et une colonne prix pour chaque fournisseur FNR 1, FNR2.., FNR7).

Dans la colonne pivot, je mets des "1" lorsque la pièce est concernée

Chacun de ces fournisseurs propose des prix pièces qui appartiennent à un ou plusieurs pivots.

Dans une cellule, je souhaite faire:

Si je sélectionne un fournisseur ET un pivot, il me fait une sommeprod de 2 matrices (qui correspond au nombre de "1" dans un pivot et l'autre aux prix d'un fournisseur).

J'espère être clair jusque là lol...

Ce qui me gêne c'est que j'ai 7 fournisseurs et 8 pivots...

J'ai entrepris de faire :

=SI(ET(A1=FNR1;A2=PIVOT1);SOMMEPROD(colonne PIVOT1;colonne FOURNISSEUR1);SI(ET(A1=FNR1;A2=PIVOT2);SOMMEPROD(colonne PIVOT2;colonne FOURNISSEUR1);SI(ET(A1=FNR1;A2=PIVOT3);SOMMEPROD(colonne PIVOT3;colonne FOURNISSEUR1);SI..... et ainsi de suite pour faire toutes les combinaisons possibles entre les fournisseurs et les pivots.

Ma question est savoir s'il existe quelque chose de beaucoup plus simple que de rédiger ce roman de formules...

Merci d'avance de votre aide!!

Bonjour,

on devrait y arriver avec DECALER, EQUIV, INDEX ...

mets un bout de fichier pour y voir plus clair !

Voici un tableau simplifié que j'ai créé sur le même principe,

merci!!

Hello,

En I34 :

=SOMMEPROD(DECALER(A8:A21;;CNUM(DROITE($J$30;1));;)*DECALER(E8:E21;;CNUM(DROITE($L$30;1))*5;;))

En nommant les plages, la formule pourrait être plus simple et plus facile à étendre.
En l'état actuel des choses, tu peux copier coller la formule. Pour "components", il suffirait de changer E8:E21 en F8:F21, etc

Whaou! ca marche du tonnerre mais j'ai rien compris a la formule, donc compliqué de la dupliquer, je vais faire quelques essais

Si tu peux m'expliquer si pas trop trop galère?

Merci déjà pour ca!!

J'ai mis CNUM par habitude, mais ce n'est même pas nécessaire ici en fait.

=SOMMEPROD(DECALER(A8:A21;;DROITE($J$30;1);;)*DECALER(E8:E21;;DROITE($L$30;1)*5;;))

Si tu connais déjà SI, ET, SOMMEPROD, le plus gros du boulot est fait pour toi. Rencarde-toi sur décaler, ça fait plein de trucs supers. En gros ici ça ne fait que décaler la plage de référence. La fonction DROITE sert à extraire le numéro du pivot ou du fournisseur. Si jamais dans ton fichier réel ce sont des noms de fournisseurs et qu'il n'y a pas de chiffre à la fin, il faudra utiliser une autre fonction.

merci,

Oui en effet, mes noms de fournisseurs n'ont pas de chiffres a la fin, sur quoi je peux me baser comme autre formule?

Et est ce possible de me donner la formule pour la cellule I35, ca me permettra surement de mieux comprendre, stp?

MErci encore d'avance

et oui il faut que j'apprenne DECALER qui a l'air d'être souvent utilisé

=SOMMEPROD(DECALER(A8:A21;;EQUIV(J30;B6:I6;0);;)*DECALER(E8:E21;;EQUIV(L30;J5:AS5;0)*5;;))

Et comme je te le disais sur le 1er post (j'ai édité après, peut-être n'avais-tu pas vu le rajout), en bossant avec les plages nommées, ça serait plus simple.
Sinon, pour les autres lignes, il suffit de copier et coller la formule et de juste changer le E8:E21 en F8:F21

=SOMMEPROD(DECALER(A8:A21;;EQUIV(J30;B6:I6;0);;)*DECALER(F8:F21;;EQUIV(L30;J5:AS5;0)*5;;))

et ainsi de suite pour chaque ligne.

Ok merci beaucoup pour ces solutions!

Hello,

Je reviens sur ce sujet car je n'arrive pas vraiment à adapter ce que tu m'as proposé à mon fichier.

En effet ce dernier contient beaucoup plus de choses éparpillées dans différents onglets.

Je pensais réussir à l'adapter mais je m'en sors pas vraiment...

Je me dis que le pb peut venir du fait que:

- Les cellules fusionnées (noms des fournisseurs) dans mon fichiers ne le sont pas,

- Tous les groupes de colonnes de chaque fournisseur ne sont dans mon fichier pas collés mais séparés par beaucoup d'autres colonnes.

De plus sur la dernière proposition de mettre la formule en face de "component" en I35 en modifiant juste E8:E21 en F8:F21 ne fonctionne que pour les fournisseur 1, pour le choix des autres fournisseurs, je ne comprends pas le résultat qu'il m'affiche mais c'est pas les bons..

Saurais tu m'aider encore un peu, stp?

Merci d'avance, je bloque...

Bouge pas, je regarde dans ma boule de cristal et je te redis. Des fois qu'elle puisse être plus précise que toi ...

Pour être plus sérieux, si tu ne donnes pas la structure réelle de ton fichier, comment veux-tu qu'on puisse t'aider ?

Oui en effet,

Je comprends mais ce sont des données confidentielles avec énormément de données...

Et le fichier est lourd, 17Mo, je réfléchis a comment le partager..

Déjà, on peut partir du principe qu'on se fout des autres onglets ... Et on n'a pas besoin d'énormément de lignes non plus .... Ça paraît jouable.

Et pour répondre à tes questions, bien sûr que le fait que les colonnes ne soient pas espacées pareil fait que ça bloque le fonctionnement ...

Je prends un moment pour faire une copie vide de mon fichier et le partage

Si ton fichier est déjà aussi lourd, je crois qu'il faut oublier les formules matricielles et partir soit sur un TCD soit un code VBA qui moulinera que lorsque c'est demandé.

Yes, à voir quand même si la fonction comme cela ne pourrait pas fonctionner. À partir du moment où les écarts sont constants, il n'y a pas de raison pour que ça ne fonctionne plus (du moins je pense).

Bonjour,

Je reviens avec un tableau allégée de données :D

Je vous réexplique par rapport à ce fichier:

En cellules AO35 à AO44 de l'onglet MC, je souhaiterai que soit appliqué les filtres vus ensemble (AK22 et AK9)

Les données des pivot/sous groupes et matière, components, etc. sont dans l'onglet TDB

Dans l'onglet TDB, chaque FNR est composé de 4 parties:

OFFER

COST

Technical/Economical GAPS

COSTO

Les PIVOT/SOUS GROUPES sont en colonnes H à O de l'onglet TDB

Les prix MATIERE/COMPONENTS, etc à prendre en compte sont ceux dans la partie ECONOMICAL GAPS de chaque FNR

Voila, j'espère que c'est claire.

Aussi si sur l'onglet TDB quelqu'un saurait me supprimer les lignes en trop, svp? A partir de la ligne 250 par exemple jusqu'à la fin. J'ai essayé toutes les astuces trouvées sur internet mais impossible de les supprimer.

Merci encore

Rechercher des sujets similaires à "beaucoup combinaisons formule forcement tres longue"