Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Conception
Conception Questions relatives à la conception d'un classeur Excel (structure, organisation, protection, sécurisation, ...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/05/2011, 11h59   #1
Membre du Club
 
Avatar de Djromé
 
Inscription : juillet 2009
Messages : 161
Détails du profil
Informations personnelles :
Localisation : Luxembourg

Informations forums :
Inscription : juillet 2009
Messages : 161
Points : 58
Points : 58
Par défaut Compter les valeurs uniquement 1 fois?

Salut les Kracks,

J'ai un tableau avec une colonne comprenant des dates.

Citation:
11/05/2011
11/05/2011
11/05/2011
13/05/2011
13/05/2011
J'aimerai savoir si il y a une formule (peut-être un countif imbriqué? mais sans utiliser VBA) pour soustraire le nombre de jour unique, à savoir 2 dans mon cas ci-dessus (11/05/2011 & 13/05/2011).
__________________
Merci les kracks,

Apprendre à un imbécile, c'est comme soigner un mort
"alors avec moi, bon courage!"
(дурака учить, что мертвого лечить, c'est plus beau en Russe!)
Djromé est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2011, 14h19   #2
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 305
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 305
Points : 2 653
Points : 2 653
Bonjour,
Intéressant comme question.
Une première solution avant d'autres plus intéressantes.
Contraintes: Les dates doivent être triées et la formule occupe une colonne.
Les dates en A2::A13, la formule en B2:B13 et placer la somme de la plage B2:B13 dans une autre cellule.
Code :
=SI(A1=A2;0; 1*(NB.SI($A$2:$A$13;A2)<>0 ))
Et plus court, sans la formule SI
Code :
=(A1<>A2) * (1 * (NB.SI($A$2:$A$13;A2)<>0))
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 20/05/2011, 19h59   #3
Membre du Club
 
Avatar de Djromé
 
Inscription : juillet 2009
Messages : 161
Détails du profil
Informations personnelles :
Localisation : Luxembourg

Informations forums :
Inscription : juillet 2009
Messages : 161
Points : 58
Points : 58
Bonsoir Philippe,

Effectivement, il me suffirait de pouvoir imbriquer un compte
NB.SI(maplage;1) pour compter les jours existant, mais je ne sais pas si c'est faisable sans VBA. Je pensais qu'il existait une formule comptant les valeurs uniques dans une plage données???
Surtout qu'il y en a beaucoup!
Merci pour ton temps...

Bon week-end.
__________________
Merci les kracks,

Apprendre à un imbécile, c'est comme soigner un mort
"alors avec moi, bon courage!"
(дурака учить, что мертвого лечить, c'est plus beau en Russe!)
Djromé est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2011, 11h15   #4
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 305
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 305
Points : 2 653
Points : 2 653
Bonjour,
Cette question me taraudait.
Avec les dates en A2:A13 et sans contrainte de tri. Formule à placer sur une cellule quelconque.
Code :
=SOMMEPROD(1/NB.SI(A2:A13;A2:A13))
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 21/05/2011, 22h09   #5
Membre du Club
 
Avatar de Djromé
 
Inscription : juillet 2009
Messages : 161
Détails du profil
Informations personnelles :
Localisation : Luxembourg

Informations forums :
Inscription : juillet 2009
Messages : 161
Points : 58
Points : 58
Merci Philippe,

Effectivement, ta formule marche impeccablement!
Elle mériterait à être connu car les doublons sont légions dans de nombreuses base de données, j'aurai même pensé que Microsoft aurait développé une formule plus simple!

Encore merci, je vais la retenir par coeur car mon utilisation de sommeprod (sumproduct) est marginale!

Salutations
__________________
Merci les kracks,

Apprendre à un imbécile, c'est comme soigner un mort
"alors avec moi, bon courage!"
(дурака учить, что мертвого лечить, c'est plus beau en Russe!)
Djromé est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2011, 01h03   #6
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Bonsoir

Cette formule matricielle ne tient pas compte des cellules vides (dans n'importe quelle cellule. à valider par Ctrl Maj Entrée)
Citation:
=SOMME((A2:A12<>"")/SI(A2:A12="";1;NB.SI(A2:A12;A2:A12)))

Et cette formule avec un autre critère (compter sans doublons et en ne tenant pas compte des cellules vides les données commençant par la lettre D)
Citation:
=SOMME((GAUCHE(A2:A12;1)="D")/SI(A2:A12="";1;NB.SI(A2:A12;A2:A12)))
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 22/05/2011, 10h22   #7
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 305
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 305
Points : 2 653
Points : 2 653
Par défaut Ajouté une formule

Bonjour,
Mercatog, bravo, je n'avais pas testé suffisamment.
Une autre solution. Sans Ctrl+MAj+Enter
Code :
=SOMMEPROD(N(FREQUENCE(A2:A14;A2:A14)>0))
Attention : Ne fonctionne pas avec du texte
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h39.


 
 
 
 
Partenaires

Hébergement Web