OVH Cloud OVH Cloud

Compter le nb cellules sur 2 critères dont une date

6 réponses
Avatar
mik
Bonjour,

J'ai une colonne avec des dates et une colonne avec du texte, je cherche a
compter le nombre de lignes qui ont un texte donné (1er critère) par année
(2ème critère).

Ca fait 2 ans que j'ai pas ouvert Excel et je dois faire mes preuves dans un
nouveau job...

Merci d'avance,
Mik

6 réponses

Avatar
Nicolas B.
Salut,

Exemple avec sommeprod :
En A1:A9 les dates et en B1:B9 le texte :

=sommeprod((annee(a1:a9) 06)*(b1:b9="toto"))

(Compte le nombre de toto en 2006.)


A+
Nicolas B.

Bonjour,

J'ai une colonne avec des dates et une colonne avec du texte, je cherche a
compter le nombre de lignes qui ont un texte donné (1er critère) par année
(2ème critère).

Ca fait 2 ans que j'ai pas ouvert Excel et je dois faire mes preuves dans un
nouveau job...

Merci d'avance,
Mik


Avatar
mik
J'ai pas compris la fonction sommeprod mais ca donne le bon résultat.

Merci beaucoup,
Mik


Salut,

Exemple avec sommeprod :
En A1:A9 les dates et en B1:B9 le texte :

=sommeprod((annee(a1:a9) 06)*(b1:b9="toto"))

(Compte le nombre de toto en 2006.)


A+
Nicolas B.

Bonjour,

J'ai une colonne avec des dates et une colonne avec du texte, je cherche a
compter le nombre de lignes qui ont un texte donné (1er critère) par année
(2ème critère).

Ca fait 2 ans que j'ai pas ouvert Excel et je dois faire mes preuves dans un
nouveau job...

Merci d'avance,
Mik





Avatar
Nicolas B.
Sommeprod permet (entre autres) de compter des cellules ou de faire des
sommes selon certains critères.

La fonction fait (tu l'auras deviné) la somme des produits sur plusieurs
tableaux. Ainsi, =sommeprod(a1:a2;b1:b2) (qu'on peut aussi écrire
=sommeprod(a1:a2*b1:b2)) renverra a1*b1+a2*b2.

Au lieu de mettre des plages dans le sommeprod, on peut mettre des
conditions sur des plages.

Dans la formule de mon message précédent, les deux conditions sont
(annee(a1:a9) 06)
et
(b1:b9="toto")

Chaque condition renvoie un tableau de valeurs VRAI ou FAUX
(c'est-à-dire 1 ou 0) indiquant à chaque ligne (ou colonne) du tableau
si la condition est vérifiée.

Exemple : A1 = 2005, A2 = 2006 et A3 = 2006. La condition
(a1:a3 06)
renvoie le tableau {FAUX;VRAI;VRAI} = {0;1;1}.

De même une condition
(b1:b3="toto")
pourrait renvoyer le tableau {VRAI;FAUX;VRAI} = {1;0;1}.

En appliquant un sommeprod sur ces deux tableaux avec la formule
=sommeprod((a1:a3 06)*(b1:b3="toto"))

on effectue l'opération suivante :
=sommeprod({0;1;1}*{1;0;1})
= 0*1 + 1*0 + 1*1 = 1

c'est-à-dire qu'on compte le nombre de fois que les deux conditions sont
simultanément vérifiées.


Tu trouveras des exemples détaillés avec sommeprod sur xlwiki :
http://xlwiki.free.fr/wiki/wakka.php?wiki=SommeProd


A+
Nicolas B.

J'ai pas compris la fonction sommeprod mais ca donne le bon résultat.

Merci beaucoup,
Mik


Salut,

Exemple avec sommeprod :
En A1:A9 les dates et en B1:B9 le texte :

=sommeprod((annee(a1:a9) 06)*(b1:b9="toto"))

(Compte le nombre de toto en 2006.)


A+
Nicolas B.




Avatar
mik
Comme j'ai pas compris comment cette fonction pouvait renvoyer le résultat
escompté, j'arrive pas à ajouter un 3ème critère...
Est-ce possible??

Merci d'avance,
Mik


J'ai pas compris la fonction sommeprod mais ca donne le bon résultat.

Merci beaucoup,
Mik


Salut,

Exemple avec sommeprod :
En A1:A9 les dates et en B1:B9 le texte :

=sommeprod((annee(a1:a9) 06)*(b1:b9="toto"))

(Compte le nombre de toto en 2006.)


A+
Nicolas B.

Bonjour,

J'ai une colonne avec des dates et une colonne avec du texte, je cherche a
compter le nombre de lignes qui ont un texte donné (1er critère) par année
(2ème critère).

Ca fait 2 ans que j'ai pas ouvert Excel et je dois faire mes preuves dans un
nouveau job...

Merci d'avance,
Mik







Avatar
mik
Merci beaucoup pour les explications. J'ai compris comment ta solution a
fonctionné mais du coup je comprends pas pourquoi un 3ème critère donne
toujours 0.
Si tu pouvais m'éclairer encore un peu...

Merci d'avance,
Mik


Sommeprod permet (entre autres) de compter des cellules ou de faire des
sommes selon certains critères.

La fonction fait (tu l'auras deviné) la somme des produits sur plusieurs
tableaux. Ainsi, =sommeprod(a1:a2;b1:b2) (qu'on peut aussi écrire
=sommeprod(a1:a2*b1:b2)) renverra a1*b1+a2*b2.

Au lieu de mettre des plages dans le sommeprod, on peut mettre des
conditions sur des plages.

Dans la formule de mon message précédent, les deux conditions sont
(annee(a1:a9) 06)
et
(b1:b9="toto")

Chaque condition renvoie un tableau de valeurs VRAI ou FAUX
(c'est-à-dire 1 ou 0) indiquant à chaque ligne (ou colonne) du tableau
si la condition est vérifiée.

Exemple : A1 = 2005, A2 = 2006 et A3 = 2006. La condition
(a1:a3 06)
renvoie le tableau {FAUX;VRAI;VRAI} = {0;1;1}.

De même une condition
(b1:b3="toto")
pourrait renvoyer le tableau {VRAI;FAUX;VRAI} = {1;0;1}.

En appliquant un sommeprod sur ces deux tableaux avec la formule
=sommeprod((a1:a3 06)*(b1:b3="toto"))

on effectue l'opération suivante :
=sommeprod({0;1;1}*{1;0;1})
= 0*1 + 1*0 + 1*1 = 1

c'est-à-dire qu'on compte le nombre de fois que les deux conditions sont
simultanément vérifiées.


Tu trouveras des exemples détaillés avec sommeprod sur xlwiki :
http://xlwiki.free.fr/wiki/wakka.php?wiki=SommeProd


A+
Nicolas B.

J'ai pas compris la fonction sommeprod mais ca donne le bon résultat.

Merci beaucoup,
Mik


Salut,

Exemple avec sommeprod :
En A1:A9 les dates et en B1:B9 le texte :

=sommeprod((annee(a1:a9) 06)*(b1:b9="toto"))

(Compte le nombre de toto en 2006.)


A+
Nicolas B.







Avatar
Nicolas B.
mais du coup je comprends pas pourquoi un 3ème critère donne
toujours 0.



La syntaxe de sommeprod avec trois conditions devrait ressembler à :
=sommeprod((Cond1)*(Cond2)*(Cond3))

Les conditions étant des expressions du type a1:a9>8, annee(a1:a9)<>2006...


Vérifie les deux choses suivantes :

- les conditions doivent porter sur des plages :
=sommeprod((a1:a9=1)*(b1<5)) : pas correct : la formule fonctionne bien
mais donne toujours 0 si b1 >= 5.

- la syntaxe de sommeprod avec le point virgule ne convient pas :
=sommeprod((a1:a9=1);(b1:b5<5)) renverra 0.
=sommeprod((a1:a9=1);(b1:b5<5)) fonctionne mieux.


A+
Nicolas B.

Merci beaucoup pour les explications. J'ai compris comment ta solution a
fonctionné mais du coup je comprends pas pourquoi un 3ème critère donne
toujours 0.
Si tu pouvais m'éclairer encore un peu...

Merci d'avance,
Mik