[excel] NB si à deux critères?

Résolu/Fermé
audrey - Modifié le 17 mai 2008 à 19:56
 beghinmatthieu - 10 déc. 2009 à 12:22
Bonjour,
je voudrais faire la formule NB si avec deux critères. je dois ajouter un critère chiffré et un critère lettré.
Merci d'avance
A voir également:

38 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
6 mai 2008 à 23:13
bonjour


soit une formule SOMMEPROD soit une SOMME matricielle
=SOMMEPROD((A1:A9="A")*1;(B1:B9=2)*1)
ou
=SOMME((A1:A9="A")*(B1:B9=2))
à valider par les touches ctrl + entrée + majuscule simultanées
0
Bonjour,

J'aimerai pouvoir additionner les chiffres de la colonne B quand la condition en lettre de la colonne G est remplit.
D'avance merci.

B G H

10 Olivier
5 Marc
25 Benoit
30 Olivier
50 Denis
10 Marc

Olivier 40
Marc 15
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
15 mai 2008 à 20:47
bonjour

Si tu sais lire la réponse est au-dessus !!!
0
Cmoi > gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020
15 mai 2008 à 21:21
Oui, j'ai bien essayé les formules au dessus.
Et le mien que j'ai obtenus, c'est le nombre de fois qu'il y a le mot dans ma colonne G.
Moi j'aimerai quand fonction du nom qu'il y a en G, il aditionne les sommes en B.
0
bemerit > Cmoi
15 mai 2008 à 21:42
Eh bien cher Cmoi, soit le fait de ne pas voir tes colonnes ne permet pas de comprendre ta question, soit effectiivement la réponse est apportée une demi-douzaine de fois dans ce thread.
En outre, as-tu essayé la fonction SOMME.SI ?
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684 > Cmoi
15 mai 2008 à 21:53
bonjour

pour additionner les valeurs

=SOMMEPROD((G1:G9="A")*1;B1:B9)
ou
=SOMME((G1:G9="A")*(B1:B9))
à valider par les touches ctrl + entrée + majuscule simultanées
ou avec un seul critère
=SOMME.SI(G1:G9;"=A";B1:B9)

0
Cmoi > gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020
16 mai 2008 à 07:23
Merci beaucoup,
c'est =SOMME.SI(G1:G9;"=A";B1:B9) qui marche bien dans mon cas.
Me voilà bien renseigné,
Merci à vous deux.
Cédric.
0
salut à tous,

moi g un petit souci avec une fonction nb.si j'aimerai chercher un nombre compris entre 5min et 20min par exemple. Mon problème est que je n'arrive pas à placer mes signes (>00:05:00 et <00:20:00 ) pour arriver aux résultats que je souhaite.

Merci de m'aider
0
Bonjour,

Le plus simple est de faire : NB.SI(plage;"<00:20") - NB.SI(plage;"<=00:05").

Cdt.
0
lilou13003 Messages postés 2 Date d'inscription vendredi 16 mai 2008 Statut Membre Dernière intervention 2 juillet 2008 > bemerit
Modifié le 17 mai 2008 à 19:56
Salut!

Merci d'avoir répondu rapidement, J'ai compris le système merci de ton aide!
A BIENTÔT peut être.
0
lilou13003 Messages postés 2 Date d'inscription vendredi 16 mai 2008 Statut Membre Dernière intervention 2 juillet 2008
16 mai 2008 à 10:24
Salut à tous

J'ai un petit souci avec une fonction nb.si. Je voudrai rentrer comme critère (entre 5 min et 20 min). Pour cela , j'ai essayé de placer les signes tel que >00:05:00 & <00:20:00 mais cela ne marche pas. aidez moi svp *

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,

Étant satisfait du résultant que me donne
=SOMME.SI(G1:G9;"=A";B1:B9), sur une feuille,
je voudrais pourvoir étendre la fonction pour plusieurs feuilles qui irai chercher dans le colonnes G1:G9;B1:B9 de toutes mes feuilles.

Je m'explique:
j'ai 12 feuilles qui represente les 12 mois de l'année.
Je si rentre la fonction suivante:
=SOMME.SI(Janvier:Decembre!G1:G9;"=A";Janvier:Decembre!B1:B9)
J'ai un beau: #VALEUR!

D'avance merci pour le coup de main.
0
Bonjour CMoi,

A défaut, as-tu pensé à utiliser la fonction Données > Consolider..., qui doit faire exactement ce que tu cherches ?

(NB: dans ton cas il faut sélectionner "colonne de gauche" ; par ailleurs les lignes n'ont pas besoin d'être dans le même ordre.)
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
17 mai 2008 à 12:21
bonjour

J'ai un beau: #VALEUR!

C'est normal car cette fonction ne peut pas être utilisée en 3D.
0
Bonjour,

J'ai un petit problème avec Excel donc j'ai besoin d'aide

dans un onglet A, jai une liste de documents ici je n'ai représenté que le document 1, dans une autre colonne on connait l'état (OK/KO) du doc en fonction d'autre chose. dans l'onglet B, je dois vérifier combien il y a de OK pour le doc 1 et combien de KO. mais je n'arrive pas à trouver la fonction adéquate.
colonne A colonne B
doc 1 OK
doc 1 OK
doc 1 KO
doc 1 OK
doc 1 KO
doc 1 OK

merci d'avance pour votre aide
0
Eh bien tu peux utiliser sommeprod(--(a1:a6="doc 1");--(b1:b6="OK"))

Deux autres solutions :
- un filtre automatique (dans le menu "Données"), pour un calcul ponctuel
- un tableau croisé dynamique (même menu), pour avoir toutes les combinaisons d'un coup (doc x en lignes, OK/KO en colonnes)
0
bemerit,

je viens d'essayer sommeprod(--(a1:a6="doc 1");--(b1:b6="OK")) mais cela m'affiche #NOMBRE!

pour les autres cas, je ne veux pas d'un calcul ponctuel car il faut qu'à chaque modification effectuée, les données se mettent à jour toutes seules.
Qu'est ce qu'un tableau croisé dynamiques? ca a lair assez dur à mettre en place.

merci
0
Pour #NOMBRE, il doit s'agir d'une erreur de syntaxe, ou alors une des valeurs dans le tableau est elle-même à #NOMBRE...

On peut avoir un #VALEUR quand les deux plages ne sont pas de la même taille, comme a1:a6 d'un côté et b1:b7 de l'autre.

Les tableaux croisés dynamiques (TxD) permettent de faire des sommes (ou des comptages, ou des moyennes) suivants des critères définis à la volée. Ils ne se mettent pas à jour tout seuls, il faut faire un clic droit dessus et choisir "Mettre à jour".

Pour initialiser un TxD, il faut choisir une plage qui comporte des en-têtes:
Nom du Document|OK/KO (=> ligne d'en-tête)
Doc 1|OK
Doc 2|OK
...

Ensuite, Excel donne les en-têtes de colonnes dans un menu flottant, il suffit de glisser"Nom du Document" sur la plage de gauche (laisser tomber la petite case qui est séparée du reste), OK/KO dans la plage en haut, et de reglisser un des champ au milieu. La fonction par défaut est NB (c'est bon en l'occurrence), sinon en fouillant avec des clics et des double-clics on fait à-peu-près ce que l'on veut (SOMME, affichages partiels, suppression des totaux, etc.).

Ca donnera quelque chose comme:
NB DOC|OK|KO|Total
Doc 1 |3 |1 |4
Doc 2 | |5 |5
Total |3 |6 |9

Astuce : si l'on double-clique sur une case, Excel crée une feuille qui liste les données prises en compte pour cette case.
Ex en cliquant sur 3:
Doc 1|OK
Doc 1|OK
Doc 1|OK
Evidemment s'il y avait d'autres colonnes dans la plage, même non montrées dans le TxD, Excel les mettraient aussi.
(C'est plus facile de comprendre en l'essayant.)
0
la fonction bdnbval peut sans doute résoudre ton problème. Avec elle, tu peux compter en imbriquant les "et" et les "où " sans aucune limitation
0
Bonjour,

Moi aussi j'ai besoin de vos lumières sur la formule à 2 critères.
Je vous explique:
J'ai un tableau ou j'enregistre tous mes RDV. Dans la première colonne j'ai le TYPE DE RDV et dans la deuxième colonne le LIEU DU RDV. Maintenant, j'ai créé un deuxième onglet STATS sur mon fichier excel afin de faire des statistiques. Je voudrais savoir par exemple combien de rdv PROSPECTION (Colonne 1) sur FINISTERE (Colonne 2).

Voici la formule que j'ai essayé mais qui hélas ne veut pas fonctionner!!!
=NB.SI('Origine rdv 2008'!K25:K3000;'Origine rdv 2008'!K306)+NB.SI('Origine rdv 2008'!L25:L3000;'Origine rdv 2008'!L633)

Légende:
Origine rdv 2008 = nom du tableau
K25:K3000 = colonne 1 (donc type de rdv)
K306 = critère que j'ai choisi (ici prospection)
L25:L3000 = colonne 2 (donc lieu du rdv)
L633 = critère que j'ai choisi (ici finistère)

Je suis bloquée je ne peux plus avancée alors merci de votre aide.
0
Bonjour,

Je ne vous cache pas que la réponse a déjà été apportée de nombreuses fois plus haut. Ou plutôt, les réponses.

Les solutions sont:
* un filtre automatique (calcul ponctuel)
* un tableau croisé dynamique (tableau de bord)
* une formule matricielle (ctrl-maj-entrée, mais ce n'est pas très pratique à l'usage je trouve)
* sommeprod (ma préférée)
* bdnbval (proposée par "oliv" hier, et qui malgré quelques contraintes est une très bonne solution -- je m'en veux de ne pas l'avoir proposée)

Je pense qu'en l'occurence vous voulez un tableau de bord, donc plutôt un tableau croisé dynamique (alias TxD)... Je vous propose d'abord d'essayer à partir de mes indications deux messages plus haut, et faute d'y arriver de répondre à mon post.

Astuce : vous pouvez nommer votre tableau (Insertion > Nom...), c'est comme même plus facile à gérer quand on doit garder la feuille plus d'un mois. (Après vous pourrez soit faire pointer le TxD dessus, soit faire un nb.si(montableau,"OK"), etc.)

Cdt.
0
J'ai réussi avec la formule SOMME SI et en faisant CTRL+ Shift+ entrée, je ne faisais pa shift mais maj.
Encore merci.

Cordialement,

Virginie
0
Bonjour,

J'ai un cas que je n'arrive pas à solutionner :o(

J'ai un tableau avec des colonnes correspondant aux douze mois de l'année. Des lignes correspondant à des établissements. A l'intersection, j'ai un taux.

Je comptais faire un NB.SI pour déterminer le nombre d'agence dont le taux est compris entre 2 valeurs (une mini, une maxi). La complexité principale (et j'imagine qu'il s'agit essentiellement d'un problème de syntaxe ?) est que j'ai besoin que ces bornes maxi mini soient gérées dans le NB.SI en tant que variable

A B
1 Mois
2 Dépt 1

3 Société 0.52% --> valeurs de références

4 20% 0.63% --> Borne maxi (en B4) qui résulte du calcul B3*A4
5 -20% 0.42% --> Borne mini (en B5) qui résulte du calcul B3*A5

6 N48 0.54% A partir d'ici ce sont les dizaines de lignes dont je souhaite dénombrer, par mois, le nombre
7 M63 0.59% de valeurs en colonne B qui s'inscrivent entre les deux bornes
8 M53 0.58% L'idée est de pouvoir faire varier les % (A4 et A5) et que la MAJ du dénombrement se
fasse automatiquement

Espèrant avoir été clair, je remercie tous ceux qui se pencheront sur ce cas
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
3 févr. 2009 à 10:21
bonjour

Tu devrais plutôt utiliser SOMMEPROD car NB.SI n'autorise qu'un test.
0
C'est exactement ce que je suis en train de regarder, c'est une fonction nouvelle pour moi.

Je reviens tout de suite avec je l'espère de bonne nouvelle....
0
OK j'y suis parvenu avec la formule :

=SOMMEPROD((C$11:C$120<=C$9)*(C$11:C$120>=C$10))

pour dénombrer les cas qui sont dans ma fourchette, et

=SOMMEPROD((C$11:C$120>=C$9)+(C$11:C$120<=C$10))

pour ceux qui n'y sont pas !

Merci de ton aide :-)
0
Bonjour,

je souhaite faire une recherche par nom, et faire une somme en fonction des sommes correspondants aux noms cherchés:
Exemple
colonne E plage E1:E17 : il y a les noms.
Colonne D plage D1:D17: il y a des montants ( genre 5 euros, 1.5 euros ...) qui correspondent aux dépenses des personnes mentionnées en colonne E.
Je veux faire la somme des montants pour chaque personne en une seule formule.
Pouvez vous 'maider ?
0
Bonjour,

Cette question n'a rien à voir avec le sujet en cours, mais néanmoins la réponse est rapide.

1ère solution : SOMME.SI
Si en F il y a le nom et en G le total
G1 = SOMME.SI(D1:D17;E1:E17;F1)
[à l'ordre des arguments près, car je fais de mémoire]

2ème solution : tableau croisé dynamique
Mettre un titre pour les colonnes D et E, par exemple D1="Dépense", E1="Personne".
Puis sélectionner D1:E18 et demander Données>Rapport de tableau croisé dynamique.
Dans le menu flottant qui s'affiche (au moins en Excel 2003), faire glisser "Personne" dans la plage de gauche des cellules encadrées en bleu, et "Dépense" dans la plage centrale.
Double-cliquer sur "NB de Dépense", et sélectionner Somme.
Voilà, les personnes sont listées à gauche, et la somme de leurs dépenses en face.
Double-cliquer sur une des dépenses crée une nouvelle feuille contenant uniquement les cellules qui ont été prises en compte pour ce calcul.
Si les données ont changé, il faut faire un clic droit sur le tableau et demander "actualiser les données".

3ème solution : Données>Consolider. Je vous laisse découvrir.
0
A B
1 Inscriptions Commandes
2 27/03/2008 03/11/2008
3 07/11/2008 25/03/2009
4 18/06/2009 26/06/2009

Heu... voilà, en fait j'ai encore une requete...

Si je veux obtenir le nombre de commandes passées par les clients inscrits avant le 01/01/2009...

Comment puis-je faire avec la formule NB.SI(A2:A4;"01/01/2009") ???

Merci beaucoup...
0
Bonjour Sucrette,

Il suffit d'ajouter un "<" : NB.SI(A2:A4;"<01/01/2009")

Cdt.
0
sucrette > bemerit
30 juin 2009 à 15:24
LOL scuse, erreur de recopie, j'ai déja mis mes guillemets, mais je ne sai saps comment faire... par exemple :

Voici ce que j'aimerais comme données :


Calculs % / filleuls % /commandes

Nbre Filleuls total : 281
Nbre Commandes : 148 52,67%
Nbre Annulations : 24 8,54% 16,22%
Nbre de Commandes validées : 58 20,64% 39,19%

Nbre Filleuls 2008 : 112
Nbre Commandes : 0,00%
Nbre Annulations : 0,00% #DIV/0!
Nbre de Commandes validées : 0,00% #DIV/0!

J'ai bien fait ma formule pour "tous les filleuls", mais je souhaiterais pareil pour les filleuls de 2008 ( et par la suite ceux de 2009).

pour le nbre de filleuls 2008, j'ai mis ma formule : =NB.SI(A1:A100;"<01/01/09")
Mais pour chercher mon nombre de commande chez ces filleuls de 2008?

Je ne sais pas si je suis claire...
0
sucrette > sucrette
30 juin 2009 à 15:27
rhaaa ca ne veut pas prendre ma mise en forme!!! logiquement, c'était en colonne...
0
bemerit > sucrette
30 juin 2009 à 15:35
Euh... non, pas franchement plus claire.

Je vais tâcher de deviner : la somme des commandes des filleuls de 2008 ?

Dans ce cas il doit y avoir quelque part une colonnes pour l'année des filleuls, et une colonne pour le nombre de commandes par filleul ?

Si c'est bien ça un simple somme.si devrait faire l'affaire (même principe que NB.SI, mais la colonne à sommer peut être différente de la colonne de critères).

Sinon d'autres solutions sont proposées dans ce fil de discussion : sommeprod, bdxxxx, consolidation, tableau croisé dynamique...

Cdt.
0
sucrette > bemerit
30 juin 2009 à 16:14
On va essayer de préciser au mieux...

A B C
1 Date entrée contact Commande contact Commande annulée
2 03/12/08 16/06/09 n
3 15/06/09 n
4 06/08/08 29/09/08 o

voila, je voulais savoir le nombre de contacts entrés en 2008 : j'ai fait une formule :
=NB.SI(A2:A4;"<01/01/2009")
c'est ok, ca fonctionne.

Maintenant je voudrais savoir : sur ces "2" contacts, combien on passé commande (ici en l'ocuurrence, ca devrait etre 2)

Mais comment puis je traduire : parmis les contacts entrés en 2008 (donc colonne A), combien ont passé commande (donc colonne B)

Idem pour : parmis les contacts entrés en 2008 (donc colonne A), combien ont passé commande (donc colonne B) et combien de ces commandes sont annulées.

sachant qu'un contact a forcément une seule commande, en fait je veux compter les lignes qui ne sont pas vides, et dont les dates d'entrées des contacts sont inférieures au 01/01/09...

SOS!!!!
0
Bonjour,

Je rencontre un problème sur Excel et étant un peu débutant, je galère.

Voici mon tableau :

A___B_________C__
1__27/05/2009__HLT
2 __27/05/2009__HLT
3 __27/05/2009__FPP
4 __28/05/2009__FPP
5 __28/05/2009__HLT

J'aurais besoin d'une formule qui me donne, par exemple, le nombre de HLT en C pour B=27/05/2009.
En l'occurence, la réponse serait 2 dans cet exemple.
Avec NB.SI je peux avoir le nombre de 27/05/2009, le nombre de HLT mais il me faudrait une formule pour avoir le nombre de C=... SI B=...

J'espère avoir été assez précis dans ma demande.

D'avance un grand merci pour votre aide !
0
regardes les réponses un peu plus haut, c'était ma question (juste avant la tienne) la solution, c'est sommeprod, ca marche bien.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
3 juil. 2009 à 10:39
bonjour

Utilises SOMMEPROD qui permet les 2 critères
=SOMMEPROD((B1:B1000=DATEVAL("27/05/2009"))*(C1:C1000="HLT"))
0
Ca marche !!!!

Sucrette et gbinforme vous êtes géniaux !!!

MERCI
0