Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Fomule somme d'une colonne

gabvoir

XLDnaute Nouveau
Bonjour,

Je souhaiterais trouver une formule (sommeprod ou autre formule matricielle) qui me permette de faire une somme des valeurs d'une colonne.
Je m'explique:
J'ai une multiplication matricielle qui me donne ça :
{1.1.0.0;0.0.0.0;0.0.0.0}
Je voudrais obtenir :
{1.1.0.0}

Autre exemple :
{0.0.0.0;0.1.1.0;0.0.0.0}
donne :
{0.1.1.0}

Sachant qu'à chaque fois il n'y a qu'une ligne qui peut contenir des 1, et que le nombre de colonne est indéfini.
Pour info voila la formule qui me génère cela :
=(Prix[[Pour 500]:[Pour 10000]]<>0)*(Prix[Référence]=$K$2)

Merci pour votre aide,

Gabvoir
 

Modeste geedee

XLDnaute Barbatruc
Re : Fomule somme d'une colonne

Bonsour®

Pour info voila la formule qui me génère cela :
=(Prix[[Pour 500]:[Pour 10000]]<>0)*(Prix[Référence]=$K$2)

remplacer par :
=1*(ET(PRIX[[#Cette ligne];[pour 5000]]>0;PRIX[[#Cette ligne];[pour 10000]]>0;PRIX[[#Cette ligne];[reference]]=$K$2))


pour avoir le nombre de references correspondantes :
=SOMMEPROD((PRIX[pour 5000]>0)*(PRIX[pour 10000]>0)*(PRIX[reference]=$K$2))



 

Pièces jointes

  • Capture.jpg
    27 KB · Affichages: 46
  • Capture.jpg
    27 KB · Affichages: 52
  • Capture2.jpg
    18.7 KB · Affichages: 43
  • Capture2.jpg
    18.7 KB · Affichages: 49
  • Capture3.JPG
    33.1 KB · Affichages: 42
  • Capture3.JPG
    33.1 KB · Affichages: 50

gabvoir

XLDnaute Nouveau
Re : Fomule somme d'une colonne

Merci pour ta réponse !

Ca ne répond pas tout a fait a ma demande, j'ai peut etre pas été assez clair sur ma demande, et surtout sur la finalité

Donc le tableau de données de base c'est tout a fait ca, mais en fait je souhaiterais extraire ces données pour les mettre dans une liste déroulante d'un autre tableau.

Je met en PJ un exemple de ce que je voudrai. Le principe est donc de mettre des "Validation de données" avec Liste dans les cases du tableau de sortie, en passant par des noms déifnis du type "PrixCA002" et de mettre dans la source de la validation "Indirect("PrixCA002")".

Donc le but c'est de sortir du tableau Prix, donc pas de [#Cette ligne].

Code:
(Prix[[Pour 500]:[Pour 10000]]<>0)*(Prix[Référence]="CA002")
=> {1.0.0.0;0.0.0.0;0.0.0.0} (A)

J'ai trouvé pour faire la somme des colonnes :
Suffi de multiplier la transposer de (A) par une matrice colonne rempli de 1
Code:
Transpose(A)
=> {0.0.1;0.0.0;0.0.0;0;0;0} (B)
Code:
(Prix[Référence]<>"")*1
=> {1;1;1} (C)

Donc ca donnerai :
Code:
ProduitMat(B;C)
=> {1;0;0;0} (D)
Exactement ce que je cherchais

Mais pour finir je voulais donc récupérer les entetes du tableau correspondante, donc je transpose pour remettre en ligne et je fais un si pour remplacer par les entetes :
Code:
Si(Transpose(D)=1;Prix[[#En-têtes];[Pour 500]:[Pour 10000]];"")
=> {"Pour 500";"";"";""}

Ce qui donne au total quelque chose d'assez gros :
Code:
SI(
TRANSPOSE(PRODUITMAT(TRANSPOSE((Prix[[Pour 500]:[Pour 10000]]<>0)*(Prix[Référence]="CA002"));(Prix[Référence]<>"")*1)=1);
Prix[[#En-têtes];[Pour 500]:[Pour 10000]];"")

Bref maintenant je veux inclure cette matrice dans une liste de validation :
J'ai donc créé PrixCA002 avec la fameuse formule au dessus, et mis dans la validation Indirect("PrixCA002")

Ca ne fonctionne pas.
Auriez vous une idée de l'erreur ?
Formule matricielle dans un nom défini ? Dans un champ de validation ?

Merci pour votre aide !
 

Pièces jointes

  • Prix.xlsx
    14.6 KB · Affichages: 37
  • Prix.xlsx
    14.6 KB · Affichages: 45
  • Prix.xlsx
    14.6 KB · Affichages: 49

Discussions similaires

Réponses
2
Affichages
104
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…