[excel] NB si à deux critères? [Résolu/Fermé]

Signaler
-
 beghinmatthieu -
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

38 réponses

Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 102
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
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
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 102
bonjour

Si tu sais lire la réponse est au-dessus !!!
>
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020

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.
> Cmoi
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 ?
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 102 > Cmoi
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)

>
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020

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.
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
Bonjour,

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

Cdt.
Messages postés
2
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
2 juillet 2008
> bemerit
Salut!

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

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
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.
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.)
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 102
bonjour

J'ai un beau: #VALEUR!

C'est normal car cette fonction ne peut pas être utilisée en 3D.
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
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)
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
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.)
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
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.
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.
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
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
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 102
bonjour

Tu devrais plutôt utiliser SOMMEPROD car NB.SI n'autorise qu'un test.
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....
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 :-)
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 ?
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.
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...
> bemerit
... et désolé pour les fautes de grammaire...
> bemerit
MERCI!!!! je vais essayer de mettre tes conseils en application... j'ai bien conservé le mail explicatif, car je sens que demain, j'aurai tout oublié!!! lol

Je vais de ce pas essayer tes formules.

Super sympa pour ton aide.
> bemerit
heu, j'avais oublié un détail... mes données, forcément, ne sont pas sur la meme feuille, et-ce pour cette raison que mon résultat est : 0 ??? d'après ton message, je comprends que cette formule ne fonctionne que si les données sont sur la meme feuille...
> sucrette
Non, c'est compatible avec des données sur une autre feuille.

Le problème est que SOMMEPROD n'aime pas les dates sous forme de "01/01/2009".

Il faut lui donner le nombre équivalent, pour le 1/1/9 c'est 39814. Pour obtenir ce nombre, plusieurs solutions :
- taper DATEVAL("01/01/2009") -- ou remplacer la date par cette fonction dans la formule
- taper 01/01/2009 puis sélectionner la cellule, choisir Format, et sélectionner "Nombre"

Cdt.
> bemerit
Super! ca fonctionne. j'ai vérifié, c'est bien le bon nombre.
Merci beaucoup.

Bonne soirée,
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 !
regardes les réponses un peu plus haut, c'était ma question (juste avant la tienne) la solution, c'est sommeprod, ca marche bien.
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 102
bonjour

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

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

MERCI