Aide sur la fonction sommeprod ou nb.si.en [Résolu/Fermé]

Signaler
-
Messages postés
53345
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
26 février 2021
-
Bonjour,

je suis sous excel 2007 et je cherche une formule me permetant de calculer le nombre de bon livraison (BL) qui ont un reliquat dans le tableau ci dessous
en A les numero de BL, en B les quantites commandées, en C les quantites livrées, en D les quantites en reliquat

BL Com Li Re
120250 3 2 1
120783 2 2
120783 1 0 1
121997 5 5
122001 2 2
122001 1 0 1
122005 3 3
122005 2 2
122005 4 4
122020 2 1 1
122058 8 2 6
122082 8 1 7
122095 3 3
122095 1 1
122095 9 9
122095 1 1
122297 10 2 8
122297 1 1
66 18 48
Merci par avance de toutes vos suggestions

8 réponses

Messages postés
579
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
11 novembre 2018
299
Bonjour,

En utilisant une formule matricielle...

Dans la cellule G1 (par exemple), tu entres cette formule :

=NB(1/FREQUENCE(SI(D2:D19>0;A2:A19);A2:A19))


Puis tu cliques au milieu, et tu appuies simultanément sur Ctrl + Shift + Entrée (normalement, la formule va être entourée de { et }, ne pas les mettre à la main...)

Plage à adapter

Bon courage
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Merci, ca fonctionne parfaitement
Messages postés
579
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
11 novembre 2018
299
Bonsoir,

J'ai supposé que tes données en colonne D étaient le résultat d'une formule....

Tu peux essayer ainsi (plage à adapter) :

=NB.SI(D2:D20;">"&0)


Bonne soirée
Messages postés
12936
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
25 février 2021
2 133
Bonsoir

Ni l'un ni l'autre, un NB.SI sur la colonne des reliquats suffit
Par ex si reliquats en col D la formule =NB.SI(D:D;">0") donnera le nombre recherché

Cdlmnt
Via
Merci pour vos commantaires mais dans les 2 cas la formule ne tient pas compte des numeros de bon de livraison. il faut trouver le nomebre de BL qui ont un reliquat sachant qu'un BL a plusieurs lignes de reliquat
Messages postés
12936
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
25 février 2021
2 133
Re

Cette condition n'était pas explicite ans ta demande initiale
En ce cas un possibilité :
Mettre en E2 la formule :
=SI(D2<>"";1/NB.SI.ENS(A:A;A2;D:D;">0");"")puis l'étirer vers le bas

Ensuite dans n’importe quelle cellule de ton choix la formule = SOMME(E:E) donnera le nombre de BL avec reliquat

Cdlmnt
Via
Messages postés
53345
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
26 février 2021
15 366
Bonjour Tom Prouc.

Si tu sais l'utiliser, le mieux est d'insérer un tableau croisé dynamique.
https://www.cjoint.com/c/FKcbhWFwWJw
Bonjour. Je viens de me rendre compte qu'il y a eu un décalage dans le tableau initial et que peut etre ma demande n'était pas suffisament précise.
ci dessous nouvel énnoncé et tableau
BL Com Li Re
120250 3 2 1
120783 2 2 0
120783 1 0 1
121997 5 5 0
122001 2 2 0
122001 1 0 1
122005 3 3 0
122005 2 2 0
122005 4 4 0
122020 2 2 0
122058 8 2 6
122082 2 2 0
122095 8 2 6
122095 8 1 7
122095 3 3 0
122095 1 1 0
122297 10 2 8
122297 1 1 0

Il y a un total de 10 bons de livraison pour 18 lignes d'articles commandés et 7 lignes d'articles en reliquats.
La question est combien ces 7 lignes de reliquats représentent elles de bon de livraison "unique" sachant que par exemple le 122095 a 4 lignes d'articles commandes et 2 lignes d'articles en reliquat mais ne represente qu'un seul bon de livraison
En comptant manuellement la réponse est 6
Comment ecrire la formule qui inclus probablement des sommeprod et nb.si

Merci par avance
Messages postés
53345
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
26 février 2021
15 366
Bonjour.

Pour ceux qui se sont intéressés à ma suggestion de TCD, il suffit d'ajouter le champ "Re" dans la zone VALEURS ...
https://www.cjoint.com/c/FKcpDW3BQcw