J'ai des dates dans une colonne et je veux trouver le nombre de jours
(fonction NB, OK) le problème c'est que j'ai la même date plusieurs fois !
Comment faire pour compter une seule fois chaque date ?
Merci !!!!
Merci de ta réponse dont je me doutais bien un peu toutefois.
A+
"AV" a écrit dans le message de news: OE$#VVx$
Selon toi , quelle est la limite de formules de cet ordre ?
SOMMEPROD est un calcul matriciel donc dès que la plage est grande le temps de
calcul est grand ! A part ça une base de données avec 58596 lignes renseignées ça court quand même
pas les rues ;-) Quant à limite exacte c'est peut-être une affaire ..de puissance de machine
AV
anonymousA
Je suis bien d'accord sur la lenteur des NB.SI. Ceci dit, la colonne est déjà triée. Enfin, non je ne connias pas la macro de Laurent Longre.les XLL sont un sujet sur lequel je ne me suis encore pas étendu.
Merci de ton renseignement.
"Daniel.M" a écrit dans le message de news: OFV4wVx$
Bonjour,
AMA, avec autant de données, ça va être lent, il n'y a pas de doutes. Car c'est
la fonction NB.SI() qui prend tout ce temps.
1.Avez-vous la possibilité de trier, ne serait-ce que temporairement, vos données sur la colonne à compter? 2.Avez-vous accès à la librairie morefun.XLL de Laurent Longre?
Avisez pour les 2 questions et on pourra adapter.
Salutations,
Daniel M.
"anomymousA" wrote in message news:
bonjour,
j'ai tenté d'appliquer ta formule sur le même type de données. Pour peu de
données (1600 environ), le résultat est correct et relativement rapide. Pour une masse de données importante, 58596 très exactement , base qui m'a
servi de test à la procédure sous VBA que j'avais communiquée à Marie, j'ai
abandonné, car le résultat se faisait vraiment trop attendre. Selon toi , quelle est la limite de formules de cet ordre ?
Merci.
A+
Merci mais ça ne fait pas ce que je veux ! Je me suis certainement mal expliquée, J'ai une colonne avec des dates ex. : 01/01/05 02/01/05 03/01/05 02/01/05 Je voudrais trouver le résultat : 3
C'est très exactement ce que fait la formule proposée ! Si tu as en A1:A4 les valeurs que tu as cité, la formule : =SOMMEPROD(1/NB.SI(A1:A4;A1:A4)) te renvoie le résultat attendu : 3
AV
Je suis bien d'accord sur la lenteur des NB.SI. Ceci dit, la colonne est
déjà triée.
Enfin, non je ne connias pas la macro de Laurent Longre.les XLL sont un
sujet sur lequel je ne me suis encore pas étendu.
Merci de ton renseignement.
"Daniel.M" <prenom.maher@bigfoot.inutil.com> a écrit dans le message de
news: OFV4wVx$EHA.2676@TK2MSFTNGP12.phx.gbl...
Bonjour,
AMA, avec autant de données, ça va être lent, il n'y a pas de doutes. Car
c'est
la fonction NB.SI() qui prend tout ce temps.
1.Avez-vous la possibilité de trier, ne serait-ce que temporairement, vos
données sur la colonne à compter?
2.Avez-vous accès à la librairie morefun.XLL de Laurent Longre?
Avisez pour les 2 questions et on pourra adapter.
Salutations,
Daniel M.
"anomymousA" <anomymousA@discussions.microsoft.com> wrote in message
news:DCB3A895-E1DE-40A9-B6D8-46E0C6F9C4E7@microsoft.com...
bonjour,
j'ai tenté d'appliquer ta formule sur le même type de données. Pour peu
de
données (1600 environ), le résultat est correct et relativement rapide.
Pour une masse de données importante, 58596 très exactement , base qui
m'a
servi de test à la procédure sous VBA que j'avais communiquée à Marie,
j'ai
abandonné, car le résultat se faisait vraiment trop attendre.
Selon toi , quelle est la limite de formules de cet ordre ?
Merci.
A+
Merci mais ça ne fait pas ce que je veux !
Je me suis certainement mal expliquée,
J'ai une colonne avec des dates ex. :
01/01/05
02/01/05
03/01/05
02/01/05
Je voudrais trouver le résultat : 3
C'est très exactement ce que fait la formule proposée !
Si tu as en A1:A4 les valeurs que tu as cité, la formule :
=SOMMEPROD(1/NB.SI(A1:A4;A1:A4))
te renvoie le résultat attendu : 3
Je suis bien d'accord sur la lenteur des NB.SI. Ceci dit, la colonne est déjà triée. Enfin, non je ne connias pas la macro de Laurent Longre.les XLL sont un sujet sur lequel je ne me suis encore pas étendu.
Merci de ton renseignement.
"Daniel.M" a écrit dans le message de news: OFV4wVx$
Bonjour,
AMA, avec autant de données, ça va être lent, il n'y a pas de doutes. Car c'est
la fonction NB.SI() qui prend tout ce temps.
1.Avez-vous la possibilité de trier, ne serait-ce que temporairement, vos données sur la colonne à compter? 2.Avez-vous accès à la librairie morefun.XLL de Laurent Longre?
Avisez pour les 2 questions et on pourra adapter.
Salutations,
Daniel M.
"anomymousA" wrote in message news:
bonjour,
j'ai tenté d'appliquer ta formule sur le même type de données. Pour peu de
données (1600 environ), le résultat est correct et relativement rapide. Pour une masse de données importante, 58596 très exactement , base qui m'a
servi de test à la procédure sous VBA que j'avais communiquée à Marie, j'ai
abandonné, car le résultat se faisait vraiment trop attendre. Selon toi , quelle est la limite de formules de cet ordre ?
Merci.
A+
Merci mais ça ne fait pas ce que je veux ! Je me suis certainement mal expliquée, J'ai une colonne avec des dates ex. : 01/01/05 02/01/05 03/01/05 02/01/05 Je voudrais trouver le résultat : 3
C'est très exactement ce que fait la formule proposée ! Si tu as en A1:A4 les valeurs que tu as cité, la formule : =SOMMEPROD(1/NB.SI(A1:A4;A1:A4)) te renvoie le résultat attendu : 3
AV
Daniel.M
Bonjour,
Je suis bien d'accord sur la lenteur des NB.SI. Ceci dit, la colonne est déjà triée.
Si ta plage A2:A58657 est déjà triée, la formule suivante est très rapide:
=SOMMEPROD(--(A3:A58598<>A2:A58597))
Enfin, non je ne connias pas la macro de Laurent Longre.les XLL sont un sujet sur lequel je ne me suis encore pas étendu.
Dans les cas où ta Plage n'est pas triée, =NB(VALEURS.UNIQUES(Plage)) peut être assez rapide.
Salutations,
Daniel M.
Bonjour,
Je suis bien d'accord sur la lenteur des NB.SI. Ceci dit, la colonne est
déjà triée.
Si ta plage A2:A58657 est déjà triée, la formule suivante est très rapide:
=SOMMEPROD(--(A3:A58598<>A2:A58597))
Enfin, non je ne connias pas la macro de Laurent Longre.les XLL sont un
sujet sur lequel je ne me suis encore pas étendu.
Dans les cas où ta Plage n'est pas triée,
=NB(VALEURS.UNIQUES(Plage)) peut être assez rapide.
Je suis bien d'accord sur la lenteur des NB.SI. Ceci dit, la colonne est déjà triée.
Si ta plage A2:A58657 est déjà triée, la formule suivante est très rapide:
=SOMMEPROD(--(A3:A58598<>A2:A58597))
Enfin, non je ne connias pas la macro de Laurent Longre.les XLL sont un sujet sur lequel je ne me suis encore pas étendu.
Dans les cas où ta Plage n'est pas triée, =NB(VALEURS.UNIQUES(Plage)) peut être assez rapide.
Salutations,
Daniel M.
Starwing
Si tu as en A1:A4 les valeurs que tu as cité, la formule : =SOMMEPROD(1/NB.SI(A1:A4;A1:A4))
Bonjour AV,
AMHA, il serait plus prudent d'utiliser une formule tel: =SOMMEPROD((A1:A4<>"")/NB.SI(A1:A4;A1:A4&"")) Pour éviter d'avoir #DIV/0! comme résultat si une cellule de la plage ne contient rien.
-- Au plaisir de vous revoir ... Visitez >> http://www.excelabo.net Le merveilleux site de Misange Starwing
--
Si tu as en A1:A4 les valeurs que tu as cité, la formule :
=SOMMEPROD(1/NB.SI(A1:A4;A1:A4))
Bonjour AV,
AMHA, il serait plus prudent d'utiliser une formule tel:
=SOMMEPROD((A1:A4<>"")/NB.SI(A1:A4;A1:A4&""))
Pour éviter d'avoir #DIV/0! comme résultat si une cellule de la plage ne
contient rien.
--
Au plaisir de vous revoir ...
Visitez >> http://www.excelabo.net
Le merveilleux site de Misange
Starwing
brault-lavoieNOSPAM@sympatico.ca
--
Si tu as en A1:A4 les valeurs que tu as cité, la formule : =SOMMEPROD(1/NB.SI(A1:A4;A1:A4))
Bonjour AV,
AMHA, il serait plus prudent d'utiliser une formule tel: =SOMMEPROD((A1:A4<>"")/NB.SI(A1:A4;A1:A4&"")) Pour éviter d'avoir #DIV/0! comme résultat si une cellule de la plage ne contient rien.
-- Au plaisir de vous revoir ... Visitez >> http://www.excelabo.net Le merveilleux site de Misange Starwing
--
AV
Pour éviter d'avoir #DIV/0! comme résultat si une cellule de la plage ne contient rien.
Me semble que c'était pas vraiment le souci premier mais bon... PS : si on veut vraiment mettre des garde-fous faut aussi prévoir les cellules cotenant des valeurs d'erreurs Matricelle : =SOMME(SI(ESTVIDE(plage);"";1/NB.SI(plage;plage)-ESTERREUR(plage))) ;-) AV
Pour éviter d'avoir #DIV/0! comme résultat si une cellule de la plage ne
contient rien.
Me semble que c'était pas vraiment le souci premier mais bon...
PS : si on veut vraiment mettre des garde-fous faut aussi prévoir les cellules
cotenant des valeurs d'erreurs
Matricelle :
=SOMME(SI(ESTVIDE(plage);"";1/NB.SI(plage;plage)-ESTERREUR(plage)))
;-)
AV
Pour éviter d'avoir #DIV/0! comme résultat si une cellule de la plage ne contient rien.
Me semble que c'était pas vraiment le souci premier mais bon... PS : si on veut vraiment mettre des garde-fous faut aussi prévoir les cellules cotenant des valeurs d'erreurs Matricelle : =SOMME(SI(ESTVIDE(plage);"";1/NB.SI(plage;plage)-ESTERREUR(plage))) ;-) AV