Afficher le "top 1" des lignes reliquats
Fermé
momabchour
Messages postés
40
Date d'inscription
jeudi 18 août 2016
Statut
Membre
Dernière intervention
25 mai 2020
-
Modifié par momabchour le 19/08/2016 à 17:35
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 20 août 2016 à 11:15
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 20 août 2016 à 11:15
A voir également:
- Afficher le "top 1" des lignes reliquats
- Top site telechargement - Accueil - Outils
- Afficher appdata - Guide
- Afficher mot de passe wifi android - Guide
- Excel trier par ordre alphabétique en gardant les lignes - Guide
3 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 418
Modifié par Vaucluse le 19/08/2016 à 17:57
Modifié par Vaucluse le 19/08/2016 à 17:57
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!
luckydu43
Messages postés
3985
Date d'inscription
vendredi 9 janvier 2015
Statut
Membre
Dernière intervention
23 décembre 2024
982
Modifié par luckydu43 le 19/08/2016 à 18:02
Modifié par luckydu43 le 19/08/2016 à 18:02
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...
via55
Messages postés
14506
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
27 décembre 2024
2 738
Modifié par via55 le 20/08/2016 à 03:40
Modifié par via55 le 20/08/2016 à 03:40
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
momabchour
Messages postés
40
Date d'inscription
jeudi 18 août 2016
Statut
Membre
Dernière intervention
25 mai 2020
Modifié par momabchour le 20/08/2016 à 09:19
Modifié par momabchour le 20/08/2016 à 09:19
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?
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 418
20 août 2016 à 10:44
20 août 2016 à 10:44
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
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 248
20 août 2016 à 11:15
20 août 2016 à 11:15
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
Modifié par momabchour le 19/08/2016 à 23:14
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?