SommeProd

Bonjour à tous

Voici un autre problème pour ma synthèse de formation.

Dans une feuille, j'ai une colonne avec "les agents", une autre avec "la structure à laquelle appartienne ces agents" et une autre "formation".

Dans une autre feuille j'ai une colonne "formation" alimentée par une liste déroulante et une colonne "nombre de structure concerné par la formation".

J'aimerai donc à partir du moment où j'ai sélectionné une formation dans la liste, que le nombre de structure soit calculé.

J'ai fait cette formule là :

=SOMMEPROD(1/NB.SI('Form Mut 2013 Act collectives'!$K$5:$K$223;'Form Mut 2013 Act collectives'!$K$5:$K$223)*('Form Mut 2013 Act collectives'!$C$5:$C$223='Récap form mut et isolées 2013'!$B7))

Je la traduis comme ça, quand je sélectionne une formation en B7 dans ma 2ème feuille, si dans la plage C5 à C 223 j'ai la même valeur texte, alors je compte dans ma colonne structure (K5:K223) le nombre de structure différente concernée par cette formation.

J'ai déjà fait ce genre de formule pour un cas similaire et ça marchait mais là le résultat me donne 0,49 au lieu de 4.

Merci d'avance pour votre aide

bonjour

met un fichier en piece jointe ,ce sera plus simple

a+

J'ai recopié un fichier en enlevant les données confidentielles.

En deuxième page vous pouvez voir les résultats que j’obtiens et dans la colonne d'à côté les résultats attendus.

bonjour

voici un essai qui marche ;mais j'ai une colonne de cocatenation ;j'ai essayé de faire un condensé mais nb.si refuse la conca ???

19arnaudc86.xlsx (16.45 Ko)

cordialement

Bonjour

Formule matricielle à mettre en D4.

Valider avec ctrl-Maj-Entrée. Pour avoir les {}

Puis tirer vers le bas.

=NB(1/FREQUENCE(SI(Feuil1!$A$3:$A$221=Feuil2!$B4;EQUIV(Feuil1!$B$3:$B$221;Feuil1!$B$3:$B$221;0));LIGNE(INDIRECT("1:"&LIGNES(Feuil1!$B$3:$B$221)))))

Bonjour

Merci beaucoup habitude ça marche nickel. Peux-tu m'expliquer un peu le fonctionnement de cette formule, j'aime bien comprendre ce que je recopie.

Et merci à toi aussi Tulipe.

Bonne journée

Bonjour

LIGNES(Feuil1!$B$3:$B$221)

: Retourne le nombre de ligne entre 3 et 221

INDIRECT("1:"&LIGNES(Feuil1!$B$3:$B$5))

: le & Concatene 1 au nombre de ligne et retourne en texte "1:219" et le indirect revoie la valeur 1:219

LIGNE(INDIRECT("1:"&LIGNES(Feuil1!$B$3:$B$221)))

: retourne une matrice de {1;2;3..... à 219}

EQUIV(Feuil1!$B$3:$B$8;Feuil1!$B$3:$B$8;0))

: retourne une matrice de la première ligne à partir de 3 (B3) OÙ chaque valeur de B3 à B221 à été trouvé

Donc une matrice de 219 valeurs, {1;1;3;3;3;3;3;8;8;etc}

SI(Feuil1!$A$3:$A$221=Feuil2!$B3;EQUIV(Feuil1!$B$3:$B$221;Feuil1!$B$3:$B$221;0))

: Vérifie sur les valeurs de B correspondent à B3, si non, retourne Faux, si oui,retourne Vrai.

Donc un matrice de 219 valeurs, {FAUX; FAUX;FAUX;FAUX;FAUX;etc}

Ensuite Croise pour la premiere valeur de Fréquence, la matrice SI avec la matrice EQUIV : {1;1;3;3;3;3;3;8;8;etc} et {FAUX; FAUX;FAUX;FAUX;FAUX;etc}

crée une nouvelle matrice de valeur et de faux, 219 valeurs , {FAUX;FAUX;FAUX;FAUX; etc.}

Pour Cartographie ca donnerait une matrice de 219 valeurs {1;1;3;3;3;3;3;3;8;8;FAUX;FAUX;etc....}

Fréquence retourne une matrice du nombre de fois que la 2ieme matrice à été trouvé dans la première.

Pour Cartographie croisement de {1;1;3;3;3;3;3;3;8;8;FAUX;FAUX;etc....} avec {1;2;3;4;5;6;7;8;9;10;11;12;.....}

résultat : {2;0;5;0;0;0;0;2;0;0;0;0}

On veut alors le nombre de valeurs différentes de 0. Comme la fonction NB compte les zéro, le 1/ va mettre des erreurs où il y a des zéro, ca évite à NB de les compter.

Ca pourrait être 5/, 12/, même 0/

Rechercher des sujets similaires à "sommeprod"