Propagation de formule

Medestrac -  
ALS35 Messages postés 1033 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

J'ai un tableau en A1:C10 avec trois en-têtes: date | nom | statut.

Je veux en extraire le nombre de fois que chaque personne a eu le statut "Absent".

Première étape: F2 = unique(B2:B10) me donne une liste des noms sans doublons (mettons que je n'ai que 2 noms -> J'ai donc un nom en F2 et l'autre en F3

Seconde étape: G2 = somme((B$2:B$10=F2)*(C$2:C$10="Absent")

Troisième étape: je propage la formule en G2 jusqu'à la fin de ma liste de noms sans doublons ( donc pour l'exemple, je propage à G3)

Si je rajoute un nom dans mon tableau, la formule unique se modifie automatiquement en =unique(B2:B11), et rajoute donc le nouveau nom à la liste, en F4

Les formules G2 et G3 étendent automatiquement la plage à B$2:B$11.

Jusque là tout s'actualise tout seul. Mais comment faire pour que la formule se propage "toute seule" à G4?

Si j'avais pu faire un tableau, la formule se propagerait automatiquement lorsque je rajoute une ligne, mais je ne peux pas faire de tableau avec une formule "=unique(...)".

Une astuce?


Windows / Firefox 107.0

A voir également:

3 réponses

Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 354
 

Bonjour.

Je ne connais pas certaines de tes fonctions.

Je suppose que tu utilises une version en ligne d'Excel, genre 365 ou 2016 ?


0
Medestrac
 

J'utilise Excel 2016, mais pas en ligne.

0
ALS35 Messages postés 1033 Date d'inscription   Statut Membre Dernière intervention   145
 

Bonjour,

En principe, la fonction UNIQUE n'est disponible que pour la version Excel 365 ?

Essaie avec un tableau structuré pour tes données et essaie :

en F2 
=UNIQUE(Tableau1[Nom])
en G2
=NB.SI.ENS(Tableau1[Statut];"absent";Tableau1[Nom];F2#)

Cordialement

0
Medestrac
 

Bonjour,

Effectivement j'ai dit une bêtise, on est passé à Excel 365 il n'y a pas longtemps.

Je te remercie pour tes conseils qui fonctionnent bien.

Je ne connaissais pas la notation F2#, à quoi correspond le dièse?

0
ALS35 Messages postés 1033 Date d'inscription   Statut Membre Dernière intervention   145
 

Bonjour,

F2# permet de prendre en compte toute la plage dynamique référencée par la formule de la cellule F2 et pas simplement une plage fixe comme F2:F10 par exemple.

Tu pourrais aussi mettre en G2 directement :

=NB.SI.ENS(Tableau1[Statut];"absent";Tableau1[Nom];UNIQUE(Tableau1[Nom]))

Et comme tu as Excel 365, tu peux également faire une seule formule dynamique pour tes deux colonnes en les assemblant par :

=ASSEMB.H(UNIQUE(Tableau1[Nom]);NB.SI.ENS(Tableau1[Statut];"absent";Tableau1[Nom];UNIQUE(Tableau1[Nom])))

ou même mieux en utilisant la fonction LET :

=LET(n;Tableau1[Nom];s;Tableau1[Statut];nu;UNIQUE(n);ASSEMB.H(nu;NB.SI.ENS(s;"absent";n;nu)))

Cordialement

0