SOUS-TOTAL en valeurs uniques

Résolu
touroul Messages postés 515 Date d'inscription   Statut Membre Dernière intervention   -  
danielc0 Messages postés 2120 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour le forum

J'ai quelques difficultés pour arriver à mes fins.
Dans un tableau nommé, je souhaite afficher en fin de colonne le nombre de valeurs uniques. Jusque là, j'y parviens.

Ça se corse quand j'applique un filtre à cette colonne : j'aurais besoin d'afficher le nombre de valeurs uniques en tenant compte du filtre.

Dans l'idéal avec une formule, sans passer par une colonne intermédiaire.
Les paramètres de la commande SOUS.TOTAL ne semblent pas proposer cette possibilité.

Un fichier d'exemple avec les explications ici :

https://we.tl/t-1XcBujGzSY

Par avance merci pour votre aide

Windows / Firefox 148.0

A voir également:

6 réponses

danielc0 Messages postés 2120 Date d'inscription   Statut Membre Dernière intervention   263
 

Bonjour,

Solution avec la version Excel 2021 ou postérieure. En ajoutant une colonne "Calc" au tableau "Tableau1" avec la formule :

=SOUS.TOTAL(103;[@Marque])

En D11 : 

=NBVAL(UNIQUE(FILTRE([Marque];[calc]=1)))

https://www.swisstransfer.com/d/81bf89f3-ae28-4562-83b9-363ff2d51e20

Daniel

1
touroul Messages postés 515 Date d'inscription   Statut Membre Dernière intervention   16
 

Bonjour Daniel

D'abord merci pour le temps consacré.

Effectivement, ça fonctionne.

Je cherche toujours une formule sans colonne intermédiaire, mais si je ne trouve pas, je ferai comme ça en cachant la colonne de calculs.

Encore merci.

0
danielc0 Messages postés 2120 Date d'inscription   Statut Membre Dernière intervention   263
 

Note que s'il n'y a aucun élément filtré, la formule renvoie "1" ;-(


0
bigoudiii Messages postés 276 Date d'inscription   Statut Membre Dernière intervention   91
 

Hello,

Si jamais, une formule sans colonne supplémentaire :

=LET(t;Tableau1[Marque];NBVAL(UNIQUE(FILTRE(t;BYROW(t;LAMBDA(p;AGREGAT(3;3;p)))))))

et si besoin, une autre qui résout le pb de la liste vide :

=LET(t;Tableau1[Marque];SOMME(N((UNIQUE(FILTRE(t;BYROW(t;LAMBDA(p;AGREGAT(3;3;p)));"")))<>"")))
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
touroul Messages postés 515 Date d'inscription   Statut Membre Dernière intervention   16
 

En effet, je n'avais pas remarqué.

J'ai demandé à plusieurs AI. Je ne suis pas trop fan des AI pour certaines choses, mais cette formule sans colonne supplémentaire semble fonctionner :

=NB(UNIQUE(FILTRE([Marque];SOUS.TOTAL(103;DECALER(D5;LIGNE([Marque])-LIGNE(D5);0)))))

Si ça peut être utile ...

0
danielc0 Messages postés 2120 Date d'inscription   Statut Membre Dernière intervention   263
 

Effectivement, mais avec NBVAL au lieu de NB.

Daniel


0