Compter les lignes dont une colonne respectent un critère

Résolu/Fermé
sculderoy Messages postés 78 Date d'inscription samedi 26 mars 2011 Statut Membre Dernière intervention 24 septembre 2018 - 20 mai 2016 à 12:49
sculderoy Messages postés 78 Date d'inscription samedi 26 mars 2011 Statut Membre Dernière intervention 24 septembre 2018 - 20 mai 2016 à 14:31
Bonjour,

Alors attention, ça va être un peu tendu tout ça :) Voilà mon problème :

Je dispose d'un fichier de données (des tâches d'un projet) assez basique, sur lequel je dois sortir des statistiques. Parmi ces statistiques, une m'embête un peu. Je m'explique.

Nous travaillons selon une adaptation d'une méthode de travail (Scrum) qui se décompose en itérations de 3 semaines de travail (appelé Sprint). Je dispose d'un fichier qui liste les tâches faites et à venir (planifiées ou non). Ce que je dois faire est simple : lister les tâches des sprints à venir selon leur état.

Par exemple, si nous sommes dans le sprint 20 et que j'ai ces données :
Tâche 01|Sprint 19|A faire
Tâche 02|Sprint 19|Terminé
Tâche 03|Sprint 19|En cours
Tâche 04|Sprint 20|A faire
Tâche 05|Sprint 20|En cours
Tâche 06|Sprint 20|En cours
Tâche 08|Sprint 20|A faire
Tâche 09|Sprint 20|A faire
Tâche 10|Sprint 21|Non prête
Tâche 11|Sprint 21|A estimer
Tâche 13|Sprint 21|A estimer
Tâche 14|Sprint 21|A estimer
Tâche 15|Sprint 22|Non prête
Tâche 16|Sprint 22|A estimer
Tâche 17|Sprint 22|Non prête


Et j'aurais besoin de sortir un truc du genre :
3|A faire
2|En cours
3|Non prête
4|A estimer

Comme vous pouvez le constater, dans ce que j'attends, je ne compte pas les tâches du Sprint 19, je me base uniquement sur le numéro de Sprint en prenant les Sprints courant et à venir (selon une plage de sprint définis en paramètre quelque part).
En toute logique ça devrait (en français) donner un truc comme ça :
COMPTER(PLAGE A:A;Où(PLAGE B:B >= PARAMETRE A:1;A:10) ET Où(PLAGE C:C = A faire)) (et ce pour tous les statuts).

Pensez-vous que c'est possible ?

Pour information, je travail sur Excel d'OFFICE 14.

Je vous remercie sincèrement d'avance pour votre aide.
A voir également:

3 réponses

Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
20 mai 2016 à 13:54
Bonjour ,

La fonction NB.SI devrait pouvoir t'aider.
Et pour plusieurs conditions , la fonction NB.SI.ENS

Dans ce style là

=NB.SI.ENS($B$1:$B$15;"Sprint 20";$C$1:$C$15;H3)
Avec en H3 : H6

3|A faire
2|En cours
3|Non prête
4|A estimer
0
sculderoy Messages postés 78 Date d'inscription samedi 26 mars 2011 Statut Membre Dernière intervention 24 septembre 2018 15
20 mai 2016 à 14:31
C'est gentil :) Je connais bien cette fonction, qui malheureusement ne convient pas dans ce cas là car là où tu écris "Sprint 20" en dur ne correspond pas à ce que je veux. Je veux TOUS LES SPRINTS supérieurs au 20 (j'avais dis supérieur ou égal mais je m'étais trompé).

Merci quand même :)
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
20 mai 2016 à 13:58
Bonjour

Apparemment avec un Tableau croisé dynamique et en filtrant sur sprint20
en 5 minutes sans formules...
tutoriel là dessus
https://silkyroad.developpez.com/excel/tcd/
0
sculderoy Messages postés 78 Date d'inscription samedi 26 mars 2011 Statut Membre Dernière intervention 24 septembre 2018 15
Modifié par sculderoy le 20/05/2016 à 14:33
Bonjour,
Merci à tous les 2 pour vos réponses, mais aucune d'entre elle ne résout mon problème :(

Dans le premier cas, Sprint 20 est en dur, alors que j'ai besoin de tester sur une plage dynamique de valeur (aujourd'hui c'est du sprint 20 à 29, mais demain du sprint 21 à 30, et un peu la flemme de repasser sur toute la feuille pour changer le calcul).

Pour le tableau croisé dynamique, ça ne résout pas non plus mon problème (si je ne m'abuse) car je ne veux pas que celui qui utilise mes stats voit les données (c'est une PMO, elle n'a pas besoin d'infos inutiles). Et si je me trompe, en regardant ton tuto je me rends compte que c'est bien long quand, comme moi, on ne maîtrise pas suffisamment cette fonctionnalité.

Au final j'ai réussi à m'en sortir en bidouillant.
J'ai rajouté 1 colonne en fin de mon fichier de données en faisant un SI(TACHE>SPRINT COURANT;"Oui";"Non")
=SI(AS2>'Informations de sprint'!$B$1;Paramètres!$G$2;Paramètres!$G$3)

Et ensuite je teste sur le OUI et NON pour voir si je dois prendre en compte la tâche... C'est un peu à l'arrache, mais ça fonctionne.
0