Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Optimiser nb.si

2 réponses
Avatar
NewsMic
Bonjour,

Dans un même classeur, j'ai une liste de 5000 numéros différents d'une part
et une série d'envrion 100000 enregistrements qui est uniquement constituée
avec ces 5000 numéros.
Chaque numéro est présent de 0 à x fois dans cette série. Pour comptabiliser
la fréquence de chaque numéro, j'ai utlisé une feuille avec 2 colonnes : en
A, de A2 à A5001, les numéros et en colonne B, la formule :
=nb.si(Feuil1!$A$2:$A$100001;A2)
Le calcul est long. Y a t'il une autre façon plus rapide d'obtenir les
résultats ?
Merci

NewsMic

2 réponses

Avatar
Papyjac
Bonjour NewsMic,

C'est combien long ? quelques secondes, une minute ?

Il te calcule les 5000 formules, et pour chacune, il balaye les 100000
lignes, donc en tout il parcourre 500 000 000 de lignes : ce peut être un peu
long.

Tu peux trier par numéros, puis utiliser la fonction sous-total, mais ce
sera long également, de même qu'un tableau croisé dynamique.

Je pense que le plus efficace serait peut être en VBA, surtout si tes 5000
numéros vont de 1 à 5000, car dans ce cas on peut utiliser le numéro comme
indice dans un tableau


--
Papyjac


"NewsMic" a écrit :

Bonjour,

Dans un même classeur, j'ai une liste de 5000 numéros différents d'une part
et une série d'envrion 100000 enregistrements qui est uniquement constituée
avec ces 5000 numéros.
Chaque numéro est présent de 0 à x fois dans cette série. Pour comptabiliser
la fréquence de chaque numéro, j'ai utlisé une feuille avec 2 colonnes : en
A, de A2 à A5001, les numéros et en colonne B, la formule :
=nb.si(Feuil1!$A$2:$A$100001;A2)
Le calcul est long. Y a t'il une autre façon plus rapide d'obtenir les
résultats ?
Merci

NewsMic





Avatar
isabelle
bonjour NewsMic,

oui, tu peut faire un tcd (Tableau croisé dynamique)
"numéros" en champ de ligne
nombre de "numéros" en champ de données

isabelle

NewsMic a écrit :
Bonjour,

Dans un même classeur, j'ai une liste de 5000 numéros différents d'une part
et une série d'envrion 100000 enregistrements qui est uniquement constituée
avec ces 5000 numéros.
Chaque numéro est présent de 0 à x fois dans cette série. Pour comptabiliser
la fréquence de chaque numéro, j'ai utlisé une feuille avec 2 colonnes : en
A, de A2 à A5001, les numéros et en colonne B, la formule :
=nb.si(Feuil1!$A$2:$A$100001;A2)
Le calcul est long. Y a t'il une autre façon plus rapide d'obtenir les
résultats ?
Merci

NewsMic