Nombre de valeurs dans un TCD

Bigo -  
papy enD13 Messages postés 28 Statut Membre -
Bonjour,
J'ai besoin de trouver le nombre de valeurs distinctes contenues dans une colonne selon un critère de recherche (contenu dans une autre colonne). Le résultat doit apparaître dans un tableau croisé. Exemple :
Article Prix
A 219,00
A 195,00
A 195,00
A 219,00
B 47,20
B 46,50
B 46,50
B 46,50
C 29,00
C 29,00
C 29,00
C 29,00
D 0,00
D 73,26
D 73,26
D 73,26

Résultats souhaités dans un tableau croisé (nombre de valeurs par article, valeur 0 ignorée) :

Article Prix
A 2,00
B 2,00
C 1,00
D 1,00
Bien entendu, mon fichier compte quelques milliers de lignes et quelques centaines d'articles...

Merci à tous
A voir également:

3 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour

sans précision sur
selon un critère de recherche (contenu dans une autre colonne)

que peut on faire ?
0
Bigo
 
Bonjour,
Ma demande n'était donc pas claire, sorry, je précise. Le critère de recherche est, dans le cas présenté ci-dessus, l'article (A, B, C ou D). C'est vrai qu'on ne voit pas bien qu'il s'agit de 2 colonnes (article et prix).
J'espère que vous pourrez m'aider !
Merci
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
OK, merci

Avec un TCD ca ne me parait pas évident.... par matricielles, plusieurs milliers de lignes l'interdit...Je regarde mais cela passera peut-^tre pas VBA...
a+
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
XL2007:avec un TCD intermédiaire
supprimé

un petit oubli
classeur corrigé
https://www.cjoint.com/?3JzjAoHljiy
tu dis
0
papy enD13 Messages postés 28 Statut Membre 4
 
bonsoir à tous,

je propose une solution dont je ne connais pas la vitesse d'exécution, ni la taille:
en prenant le problème à l'inverse, je calcule d'abord (col D) le nombre d'itérations identiques (prix col B) dans une plage d'"articles" identiques (col A)
par division de ce résultat, j'obtiens (col E) un rapport
les colonnes D et E peuvent être masquées
le cumul par plages "articles" est obtenu soit en 1ere feuille ou n'importe où ailleurs, en face de chaque article

col A: "articles"
col B: "prix"
col D: fx =SI(B2=0;"";NB.SI.ENS(A:A;A2;B:B;B2))
col E: fx =SI(D2="";"";SI(D2>1;1/D2;1))
(pour totaliser ces doublons respectifs à 1)

Total: fx =SI(B2="";"";SOMME.SI(A:A;A2;E:E))

les formules sont extensibles à l'infini, si on peut dire

attention aux valeurs 0 de prix qui ne sont jamais prises en compte, même si c'est un prix !

dites-moi ce que vous en pensez en toute objectivité et si ça peut être utile

bonne soirée à tous
amicalement

papy (:-)
0
papy enD13 Messages postés 28 Statut Membre 4
 
re

ci-joint pour fichier-test

http://www.cijoint.fr/cjlink.php?file=cj201110/cijrxUCKax.xls

la précision est absolue: il y aura différence entre 14.999999 et 15.00
si les prix proviennent d'un calcul, mieux vaut adjoindre la fx ARRONDI*

le fichier est à modifier sur la col E par la formule ci dessus
(autant de doublons que possible)

amusez-vous bien

papy (:-)

Carpe Diem
0