Afficher le "top 1" des lignes reliquats
momabchour
Messages postés
40
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Donc voila j'ai un tableau de reliquats journalières que dont je souhaite afficher le top 1 des produits avec reliquats.
Exemple: supposons que je suis un vendeur d'articles scolaires et que chaque jour je note sur Excel les reliquats comme suit:
Date Commande Produit en Reliquat Qté
01/01/2016 657457 Stylo 40
01/01/2016 876853 Papiers 50
02/01/2016 198473 Stylo 30
02/01/2016 683652 Ciseaux 20
Le résultat que je souhaite avoir est le suivant après avoir saisi sur deux cellules les bornes des dates (ex. du 01/01 au 02/01):
Classement Produit Total
1 Stylo 70
Une idée comment faire ca?
Donc voila j'ai un tableau de reliquats journalières que dont je souhaite afficher le top 1 des produits avec reliquats.
Exemple: supposons que je suis un vendeur d'articles scolaires et que chaque jour je note sur Excel les reliquats comme suit:
Date Commande Produit en Reliquat Qté
01/01/2016 657457 Stylo 40
01/01/2016 876853 Papiers 50
02/01/2016 198473 Stylo 30
02/01/2016 683652 Ciseaux 20
Le résultat que je souhaite avoir est le suivant après avoir saisi sur deux cellules les bornes des dates (ex. du 01/01 au 02/01):
Classement Produit Total
1 Stylo 70
Une idée comment faire ca?
A voir également:
- Afficher le "top 1" des lignes reliquats
- Partager des photos en ligne - Guide
- Top site telechargement - Accueil - Outils
- Afficher appdata - Guide
- Dans le diaporama à télécharger, les diapositives s’enchaînent automatiquement. combien de temps la diapositive crayon met-elle à s’afficher ? combien de temps reste-t-elle affichée à l’écran ? ✓ - Forum Powerpoint
- Afficher taille dossier windows - Guide
3 réponses
Bonjour
à ajuster:
cellule X1 borne basse
cellule X2 borne haute
cellule X3 le produit
en X4
un tableau de A2 à D1000
=SOMMEPROD($A$2:$A$1000>=$X$1)*($A$2:$A$1000<=$X$2)*($C$2:$C$1000=$X$3)*($D$2:$D$1000)
ne pas inclure la ligne de titre dans les limites de champ
ou alors à partir de Excel 2007:
=SOMME.SI.ENS(D:D;A:A;">="&X1;A:A;"<="&X2;C:C;X3)
crdlmnt
La qualité de la réponse dépend surtout de la clarté de la question, merci!
à ajuster:
cellule X1 borne basse
cellule X2 borne haute
cellule X3 le produit
en X4
un tableau de A2 à D1000
=SOMMEPROD($A$2:$A$1000>=$X$1)*($A$2:$A$1000<=$X$2)*($C$2:$C$1000=$X$3)*($D$2:$D$1000)
ne pas inclure la ligne de titre dans les limites de champ
ou alors à partir de Excel 2007:
=SOMME.SI.ENS(D:D;A:A;">="&X1;A:A;"<="&X2;C:C;X3)
crdlmnt
La qualité de la réponse dépend surtout de la clarté de la question, merci!
Bonjour !
Ce qu'il vous faudrait en fait, ce serait une base de donnée, du genre MySQL... une requête SQL
répondrait parfaitement à votre besoin ;-)
Autrement, en excel, mes compétences ne sont pas suffisantes. Je pense qu'il faudrait vous tourner vers les macros, ou alors utiliser la fonction RECHERCHEV...
Bonne journée !
Luc
EDITH : Totalement grilled by @Vaucluse :-)
Les 3 plus grands mensonges du dev : 1. La doc ? On la fera plus tard... 2. Le programme a été testé et ne comporte aucun bug... 3. Les spécifications techniques sont finies...
Ce qu'il vous faudrait en fait, ce serait une base de donnée, du genre MySQL... une requête SQL
SELECT article.libelle, commande.nb FROM article, commande WHERE article.id = commande.idarticle AND commande.date is between 01/01/2017 AND 02/01/2017
répondrait parfaitement à votre besoin ;-)
Autrement, en excel, mes compétences ne sont pas suffisantes. Je pense qu'il faudrait vous tourner vers les macros, ou alors utiliser la fonction RECHERCHEV...
Bonne journée !
Luc
EDITH : Totalement grilled by @Vaucluse :-)
Les 3 plus grands mensonges du dev : 1. La doc ? On la fera plus tard... 2. Le programme a été testé et ne comporte aucun bug... 3. Les spécifications techniques sont finies...
Bonjour momabchour
Coucou Vaucluse ;-)
Pas besoin de chercher une formule, utilise le tableau croisé dynamique qu'Excel met à disposition, exemple :
http://www.cjoint.com/c/FHubMkJtUlE
Cdlmnt
Via
"L'imagination est plus importante que le savoir." A. Einstein
Coucou Vaucluse ;-)
Pas besoin de chercher une formule, utilise le tableau croisé dynamique qu'Excel met à disposition, exemple :
http://www.cjoint.com/c/FHubMkJtUlE
Cdlmnt
Via
"L'imagination est plus importante que le savoir." A. Einstein
Bonjour via55
Je ne veux pas utiliser de TCD vu que c'est un tableau de bord customisé, je souhaite que le tableau ce met à jour tout seul, j'ai trouvé une solution mais elle rend mon classeur trop lent.
J'ai mis la liste des produits dans une autre feuille et j'ai utilisé les fonctions sommeprod() et somme.si.ens() pour calculer les nombres de lignes et qtés par produit, puis la fonction rang() pour avoir le rang de chaque produit (par rapport au nombre de lignes, pas qtés) puis sur le tableau de mon tableau de bord j'ai mis les classements (1, 2, 3 etc) et j'ai utilisé recherchev() pour chercher les rangs et avoir les noms des produits et les autres info. seul inconvénient c'est que mon classeur est devenu très lourd en termes de calcul.
Une idée comment faire cette procédure direct sur mon tableau de bord?
Je ne veux pas utiliser de TCD vu que c'est un tableau de bord customisé, je souhaite que le tableau ce met à jour tout seul, j'ai trouvé une solution mais elle rend mon classeur trop lent.
J'ai mis la liste des produits dans une autre feuille et j'ai utilisé les fonctions sommeprod() et somme.si.ens() pour calculer les nombres de lignes et qtés par produit, puis la fonction rang() pour avoir le rang de chaque produit (par rapport au nombre de lignes, pas qtés) puis sur le tableau de mon tableau de bord j'ai mis les classements (1, 2, 3 etc) et j'ai utilisé recherchev() pour chercher les rangs et avoir les noms des produits et les autres info. seul inconvénient c'est que mon classeur est devenu très lourd en termes de calcul.
Une idée comment faire cette procédure direct sur mon tableau de bord?
Re
je ne vois pas pour l(instant d'autres solutions par formule que d'utiliser la liste des produits avec SOMME.SI.ENS
mais on va chercher un peu...sans grand espoir, .à moins qu'un de nos spécialistes de VBA puisse résoudre le problème avec une macro.(ce n'est pas mon cas)
Evitez SOMME.PROD, ou alors limitez le bien aux hauteurs de plage utile, car le nombre de lignes avec ce code est directement à l'origine du poids du fichier
Pas de SOMMEPROD((AA=1) ... par exemple, mais SOMMEPROD((A1:A1000=1)
avec A:A sur excel à partir de 2007 la formule traite plus d'un million de lignes!
si vous devez aussi compter un nombre de lignes plutôt qu'un total de montants, utilisez de préférence NB.SI.ENS(champ 1;critère;champ 2;critère 2...)
crdlmnt
je ne vois pas pour l(instant d'autres solutions par formule que d'utiliser la liste des produits avec SOMME.SI.ENS
mais on va chercher un peu...sans grand espoir, .à moins qu'un de nos spécialistes de VBA puisse résoudre le problème avec une macro.(ce n'est pas mon cas)
Evitez SOMME.PROD, ou alors limitez le bien aux hauteurs de plage utile, car le nombre de lignes avec ce code est directement à l'origine du poids du fichier
Pas de SOMMEPROD((AA=1) ... par exemple, mais SOMMEPROD((A1:A1000=1)
avec A:A sur excel à partir de 2007 la formule traite plus d'un million de lignes!
si vous devez aussi compter un nombre de lignes plutôt qu'un total de montants, utilisez de préférence NB.SI.ENS(champ 1;critère;champ 2;critère 2...)
crdlmnt
Bonjour,
Si tu préfères faire avec des sommeprod() il ne faut pas te plaindre que ce soit plus lent.
Le TCD conseillé par via est très optimisé, l'actualisation peut se faire lors de l'activation de la feuille. 1 ligne de code que tu auras en utilisant l'enregistreur de macro.
Aucun intérêt à faire autrement par macro.
eric
Si tu préfères faire avec des sommeprod() il ne faut pas te plaindre que ce soit plus lent.
Le TCD conseillé par via est très optimisé, l'actualisation peut se faire lors de l'activation de la feuille. 1 ligne de code que tu auras en utilisant l'enregistreur de macro.
Aucun intérêt à faire autrement par macro.
eric
Je souhaite que la fonction (que je pense sera matricielle) de me donne à elle seule automatiquement le produit avec le plus de reliquats. donc je dois exclure le nom du produit de l'equation.
Une idée cmt faire ca?