Propagation de formule

Fermé
Medestrac - 5 déc. 2022 à 14:00
ALS35 Messages postés 1033 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 9 janvier 2024 - 6 déc. 2022 à 15:30

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 58646 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 15 septembre 2024 17 195
5 déc. 2022 à 14:12

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

J'utilise Excel 2016, mais pas en ligne.

0
ALS35 Messages postés 1033 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 9 janvier 2024 139
5 déc. 2022 à 17:52

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

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 jeudi 18 juillet 2019 Statut Membre Dernière intervention 9 janvier 2024 139
6 déc. 2022 à 15:30

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