Compter le nb de cellule différentes d'une plage

Bonjour,

Je souhaite simplement que dans une colonne de cellules qui contiennent des noms de personnes qui reviennent souvent, je puisse afficher le nombre de personnes différentes.

Exemple de A1 à A10 j'ai les noms suivants :

A1 : Pascal

A2 : Michel

A3 : Pascal

A4 : Stéphane

A5 : Delphine

A6 : Michel

A7 : Pascal

A8 : Stéphane

A9 : Delphine

A10 : Pascal

Dans la cellule A11, il faudrait trouver 4, c'est-à-dire le nombre de noms différents dans la plage A1:A10 (Pascal, Michel, Stéphane Delphine)

Je pense que c'est très simple mais je n'arrive pas à trouver sur le forum, ni sur l'aide d'Excel...

Les fonctions nb.si ou nb.si.ens, ou somme.si ne me sont d'aucun secours, je le crains...

De même j'ai vu les fonctions complémentaires comme "=DOUBLONS(plage)", mais cela ne me dit pas combien la plage contient de cellules sans doublons...

Faut-il absolument passer par du VBA ? Je ne le souhaite guère...

Merci à vous les champions d'excel !

MrMojo

Bonjour,

=SOMMEPROD(1/NB.SI(A1:A10;A1:A10))

eric

Bonjour Eric,

Ah oui c'est excellent, sommeprod ! Pas mal du tout et très élégant !

Sauf que ça ne marche pas chez moi pour une raison simple : les 10 noms que j'ai indiqués (de A1 à A10) sont en fait vides au départ, et de plus il y a des chances pour que les 10 cellules ne soient jamais remplies en entier. Ce qui me renvoie une erreur de #DIV/0, aussi longtemps qu'une des cellules de la colonne est vide.

Si je mets un point dans chaque cellule vide en attendant qu'elle soit remplie, alors je suis obligé de soustraire 1 à ta formule, (car le point compte comme valeur), ce qui marche tant qu'il y a des points dans la colonne. Dès qu'il y a tous les prénoms, la formule en comptera un de moins...

Donc j'ai fait cette formule conditionnelle, comme dans l'exemple joint "BDR 1" : "Tant qu'il y a des points dans la colonne, compter un prénom en moins, sinon compter le nombre exact de prénoms".

11essai-bdr-1.xlsx (12.40 Ko)

Existe-t-il une valeur quelconque qui puisse être insérée dans la colonne quand il n'y a pas de prénom, mais qui ne soit pas prise en compte par la formule ?

Le souci c'est que les gens qui vont remplir cette colonne vont parfois effacer des noms, et ils ne remplaceront pas les cases vides par des points, ce qui donnera une erreur de division par zéro...

Bref, si tu voies une soluce pour que :

  • soit l'erreur n'apparaisse pas
  • soit une valeur existe qui puisse être mise dans la colonne mais qui ne soit pas prise en compte par la formule.

Merci à toi et bonne soirée.

MrMojo

bonjour

bonsoir Eriiic

un essai ;vois si cela te conviens

fonctions matricielles

10mrjojo.xlsx (10.19 Ko)

cordialement

Bonjour à tous,

j'avais le même style en un poil plus court :

=SOMME(SI(A1:A10<>"";1/NB.SI(A1:A10;A1:A10)))

valider en matriciel également Shift+Ctrl+Entrée

eric

Oh yeah, Eriiic (et aussi tulipe_4 !) ! Merci c'est trop top !

Vous êtes des cracs, ya pas à dire !

Je n'y connais absolument rien aux formules matricielles , j'en avais entendu parler quand un des vos experts m'avait déjà dépanné, mais là c'est d'un simplissime !

J'ai mis le sujet en résolu, du coup, et je vous remercie encore bien bas...

Bonne soirée !

MrMojo

Rechercher des sujets similaires à "compter differentes plage"