[Résolu] Pourcentage avec NB.SI

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur: Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.

[Résolu] Pourcentage avec NB.SI

Messagepar emelya18 » 04 Jan 2011 02:20

bonsoir,
J'ai un tableau(en lien ci dessous) qui donne le pourcentage d'ordinateur par pays en fonction des années 2001 2005 et 2006;
Je dois mettre une formule permettant de calculer le nombre de pays ayant ou moins pour une des trois années 25%d'ordinateur.

le truc je veux utiliser "NB.SI(...)" j'ai même essayé avec "ou" ça ne marche pas: il ne comprend pas quand je calcule le nombre de A vraix en fonction des colones b c et d ... Surtout qu'on ne m'a jamais expliquer comment integrer une formule dans une autre....

voilà mon tablau, si quelqu'un trouve je lui en serait très serieusement reconnaissante.... j'ai passé plusieurs heures et franchement ça m'ennerve surtout que notre prof se les glande sec avec son peu de cours....
Pièces jointes
merdassedemerdedinfo.png
Dernière édition par emelya18 le 04 Jan 2011 14:02, édité 3 fois.
OpenOffice.org 3.2 sous WINDOWS 7
emelya18
Fraîchement OOthentifié
 
Message(s) : 9
Inscrit le : 04 Jan 2011 02:07

Re: FORMULE SOUS CALC

Messagepar micmac » 04 Jan 2011 05:54

Bonjour et bienvenue sur le forum,


1- Le titre de votre question ne doit pas comporter de majuscules.
L'emploi de ces caractères est assimilable sur internet à des hurlements.


2- Le titre de votre question n'est pas assez explicite :

<FORMULE SOUS CALC>


Lors d'une recherche, ce sujet risque de passer inaperçu et donc de ne pas aider d'autres personnes ayant le même problème que vous.


Ce titre doit synthétiser votre question et donner envie d'y répondre.
Un titre clair et précis augmente vos chances d'obtenir des réponses plus rapidement.
Des termes comme "problème", "Calc" ou "OpenOffice" sont bien sûr implicites et n'ont pas besoin d'être mentionnés.


3-
oPENoFFICE;ORG 3.2 SOUS wINDOWS 7

Précisez la version exacte de OOo (la dernière version est la 3.2.1)

Remarque : Vous semblez avoir un problème avec les majuscules et les minuscules.
Le nom du produit est OpenOffice.org ou en abrégé OOo.

Cliquez sur ce lien : ucp.php?i=profile&mode=signature et corrigez directement toutes ces informations.

4- Vous avez illustré votre question avec une copie d'écran en provenance d'un site tiers.


Nous préférerions que vous utilisiez notre service de pièce-jointe dont le lien est mentionné en bas lorsque vous écrivez votre message : ftopic10246-comment-joindre-un-fichier-sur-ce-forum.html


Plutôt qu'une copie écran, fournissez à la place un fichier complet. Cela augmentera vos chances de réponse en évitant d'avoir à recréer quelque chose qui, au final, pourrait ne pas convenir.
Veuillez corriger votre message en utilisant le bouton "Editer" (situé à droite) et en mettant en ligne votre fichier correctement.


Merci donc de le modifier tout cela au plus tôt. Si cela n'est pas fait avant votre prochain message, le sujet sera fermé.

Lisez les règles du forum : ftopic1.html

Cordialement
Avatar de l’utilisateur
micmac
MOOdérateur
MOOdérateur
 
Message(s) : 1446
Inscrit le : 28 Août 2010 09:45

Re: FORMULE SOUS CALC

Messagepar Jeff » 04 Jan 2011 08:01

Bonjour et bienvenue,

Merci de suivre les recommandations du modérateur, auxquelles j'ajouterai que nous ne sommes pas là pour faire les devoirs à ta place... :mrgreen:

emelya18 a écrit:le truc je veux utiliser "NB.SI(...)


Ton prof te demande donc d'utiliser NB.SI, est-ce qu'au moins tu as lu l'aide de Calc concernant cette fonction ?

L'aide de Calc a écrit:NB.SI
Syntaxe
NB.SI(plage;critère)
plage est la plage de cellules à laquelle les critères doivent être appliqués.
critère indique le critère sous la forme d'un nombre, d'une expression ou d'une chaîne de caractères. Ces critères déterminent quelles cellules sont comptées. [...] Vous pouvez également indiquer une plage de cellules qui contient le critère de recherche. [...]
Exemple
A1:A10 est une plage de cellule contenant les nombres 2000 à 2009. La cellule B1 contient le nombre 2006. Dans la cellule B2, saisissez la formule :
=NB.SI(A1:A10;2006) - cela renvoie 1
=NB.SI(A1:A10;B1) - cela renvoie 1
=NB.SI(A1:A10;">=2006") - cela renvoie 4
=NB.SI(A1:A10;"<"&B1) - quand B1 contient 2006, cela renvoie 6
=NB.SI(A1:A10;C2) où la cellule C2 contient le texte >2006 compte le nombre de cellules dans la plage A1:A10 qui sont >2006
Pour compter uniquement des valeurs négatives : =NB.SI(A1:A10;"<0")


A +
À lire avant tout !

Pour télécharger Apache OpenOffice 4.0.1

AOO 4.0.1 sur Ubuntu 12.04 x64 et Win7proSP1
Avatar de l’utilisateur
Jeff
GourOOu
GourOOu
 
Message(s) : 5472
Inscrit le : 18 Sep 2006 10:40
Localisation : Hautes-Alpes, France

Re: FORMULE SOUS CALC

Messagepar emelya18 » 04 Jan 2011 13:14

NB.SI je sais l'utiliser le probleme :roll: c'est ça: je dois compter le nombre de pays si pour l'une des années on trouve un pourcentage sup ou egal à 0.25 !!! donc je ne compte pas le nombre de case repondant à ce critere mais le NOMBRE DE PAYS. Je dois do nc inserer un OU dans NB.SI !
OpenOffice.org 3.2 sous WINDOWS 7
emelya18
Fraîchement OOthentifié
 
Message(s) : 9
Inscrit le : 04 Jan 2011 02:07

Re: FORMULE SOUS CALC

Messagepar emelya18 » 04 Jan 2011 13:19

=NB.SI(OU(B2;C2;D2);">=0,25")

cette fonction ne marche pas, où est le probleme?
OpenOffice.org 3.2 sous WINDOWS 7
emelya18
Fraîchement OOthentifié
 
Message(s) : 9
Inscrit le : 04 Jan 2011 02:07

Re: FORMULE SOUS CALC

Messagepar OOotremer971 » 04 Jan 2011 13:31

Bonjour,

Je vous conseille vivement de mettre à exécution les recommandations de modérateur faute de quoi le sujet risque d'être verrouillé sous peu.

Concernant NB.SI() elle sait effectuer sa recherche sur une plage de plusieurs colonne, à quoi bon s'obstiner à ne rechercher que sur l'un d’entre-elles?
LibreOffice 3.5.4.2
Version ID : 165a79a-7059095-e13bb37-fef39a4-9503d18
sous Ubuntu 12.04 LTS
Avatar de l’utilisateur
OOotremer971
InconditiOOnnel
InconditiOOnnel
 
Message(s) : 994
Inscrit le : 16 Avr 2010 14:31

Re: FORMULE SOUS CALC

Messagepar emelya18 » 04 Jan 2011 13:46

pour ne pas compter un pays plusieurs fois ... C'est si difficile d'integrer OU dans NB.SI ???
OpenOffice.org 3.2 sous WINDOWS 7
emelya18
Fraîchement OOthentifié
 
Message(s) : 9
Inscrit le : 04 Jan 2011 02:07

Re: FORMULE SOUS CALC

Messagepar OOotremer971 » 04 Jan 2011 13:59

emelya18 a écrit:C'est si difficile d'integrer OU dans NB.SI ???


ah j'avais pas bien compris. Dans ce cas il faut poser une condition avec la fonction SI() de sorte que si le résultat retourné par NB.SI() est supérieur à 1 il ne faut afficher que 1 est non le résultat de NB.SI() enfin...si j'ai bien compris.

Merci de retirer CALC et les majuscules de votre titre.
LibreOffice 3.5.4.2
Version ID : 165a79a-7059095-e13bb37-fef39a4-9503d18
sous Ubuntu 12.04 LTS
Avatar de l’utilisateur
OOotremer971
InconditiOOnnel
InconditiOOnnel
 
Message(s) : 994
Inscrit le : 16 Avr 2010 14:31

Re: Formule sous OpenOffice

Messagepar emelya18 » 04 Jan 2011 14:03

Ca m'a l'air encore plus difficile =S
OpenOffice.org 3.2 sous WINDOWS 7
emelya18
Fraîchement OOthentifié
 
Message(s) : 9
Inscrit le : 04 Jan 2011 02:07

Re: Formule sous OpenOffice

Messagepar OOotremer971 » 04 Jan 2011 14:11

emelya18 a écrit:Ca m'a l'air encore plus difficile =S


et pourtant non. La fonction SI() effectue un test, et retourne une valeur définie si le test est vrai, sinon une autre valeur.

L'aide l'explique bien.

SI
Indique un test logique à effectuer.
Syntaxe
SI(test;alors_valeur;"sinon_valeur")
test représente toute valeur ou expression pouvant renvoyer VRAI ou FAUX.
alors_valeur (facultatif) est la valeur qui est renvoyée si le test logique est VRAI.
sinon_valeur (facultatif) est la valeur qui est renvoyée si le test logique est FAUX.
Dans les fonctions OpenOffice.org Calc, les paramètres marqués comme "facultatifs" peuvent être ignorés lorsqu'ils ne sont pas suivis d'autres paramètres. Par exemple, dans une fonction comportant quatre paramètres, où les deux derniers paramètres sont marqués comme "facultatifs", le paramètre 4 ou les paramètres 3 et 4 peuvent être ignorés, mais le paramètre 3 seul ne peut être ignoré.
Exemples
=SI(A1>5;100;"trop petit") Si la valeur en A1 est supérieure à 5, la valeur 100 est inscrite dans la cellule active ; sinon, le texte "trop petit" (sans guillemets) est inscrit.


Donc en imbriquant NB.SI() dans le test de SI(), en fonction du résultat obtenu on demande à la fonction SI() de retourner 1 ou rien (symbolisé par deux doubles quotte (""))
LibreOffice 3.5.4.2
Version ID : 165a79a-7059095-e13bb37-fef39a4-9503d18
sous Ubuntu 12.04 LTS
Avatar de l’utilisateur
OOotremer971
InconditiOOnnel
InconditiOOnnel
 
Message(s) : 994
Inscrit le : 16 Avr 2010 14:31

Re: Formule sous OpenOffice

Messagepar emelya18 » 04 Jan 2011 14:18

MERCI beaucou !!! =D
OpenOffice.org 3.2 sous WINDOWS 7
emelya18
Fraîchement OOthentifié
 
Message(s) : 9
Inscrit le : 04 Jan 2011 02:07

Re: Formule sous OpenOffice

Messagepar Bidouille » 04 Jan 2011 14:21

Bonjour,

Les icônes mises à votre disposition ont une signification précise sur ce forum.
Veuillez consulter ce fil pour en savoir plus : ftopic3299.html

Le titre de votre question n'est pas assez explicite ou ne reflète pas le problème que vous décrivez :
<Formule sous OpenOffice>
Des termes comme "problème" ou "openoffice" sont bien sûr implicites et n'ont pas besoin d'être mentionnés.

Merci de faire un effort sur le titre de votre question la prochaine fois. N'oubliez pas qu'un titre clair et précis augmente vos chances d'obtenir des réponses plus rapidement. D'autres personnes confrontés au même problème pourront le retrouver lors d'une recherche.
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
 
Message(s) : 7812
Inscrit le : 08 Nov 2005 17:23
Localisation : Saumur, France

Re: [Résolu] Pourcentage avec NB.SI

Messagepar emelya18 » 04 Jan 2011 14:22

=NB.SI(B2:D11>=0,25;1;0)

arf ça ne marche pas ><"

-->merci bidouille.
OpenOffice.org 3.2 sous WINDOWS 7
emelya18
Fraîchement OOthentifié
 
Message(s) : 9
Inscrit le : 04 Jan 2011 02:07

Re: [Résolu] Pourcentage avec NB.SI

Messagepar OOotremer971 » 04 Jan 2011 14:28

c'est normal car vous n'avez pas imbriqué NB.SI() dans la fonction SI()

Code : Tout sélectionner   AgrandirRéduire
SI(NB.SI(tralala)condition;alors ceci;sinon cela)
LibreOffice 3.5.4.2
Version ID : 165a79a-7059095-e13bb37-fef39a4-9503d18
sous Ubuntu 12.04 LTS
Avatar de l’utilisateur
OOotremer971
InconditiOOnnel
InconditiOOnnel
 
Message(s) : 994
Inscrit le : 16 Avr 2010 14:31

Re: [Résolu] Pourcentage avec NB.SI

Messagepar emelya18 » 04 Jan 2011 14:32

=SI(NB.SI(B2;C2;D2)>=0,25;1;0)

cela? j'ai du encore manquer quelque chose j'ai encore une erreur =x l'erreur semble au niveau de (B2;C2;D2)
OpenOffice.org 3.2 sous WINDOWS 7
emelya18
Fraîchement OOthentifié
 
Message(s) : 9
Inscrit le : 04 Jan 2011 02:07

Re: [Résolu] Pourcentage avec NB.SI

Messagepar OOotremer971 » 04 Jan 2011 14:41

il me semble que >=0.25 devrait-être placé dans la fonction NB.SI() car lorsqu'elle est utilisée seule (càd non imbriquée) il l'est. Il faudra aussi penser à dire à SI() sous quelle condition il doit agir car là ce n'est pas le cas

relire ceci plus assidûment:
Code : Tout sélectionner   AgrandirRéduire
SI(NB.SI(tralala)condition;alors ceci;sinon cela)
LibreOffice 3.5.4.2
Version ID : 165a79a-7059095-e13bb37-fef39a4-9503d18
sous Ubuntu 12.04 LTS
Avatar de l’utilisateur
OOotremer971
InconditiOOnnel
InconditiOOnnel
 
Message(s) : 994
Inscrit le : 16 Avr 2010 14:31

Re: [Résolu] Pourcentage avec NB.SI

Messagepar emelya18 » 04 Jan 2011 15:10

jlaisse tomber pour moi c'est du chinois!
Pour une formule a la con qui m'aura pris deux jours noté sur deux points... yes!
OpenOffice.org 3.2 sous WINDOWS 7
emelya18
Fraîchement OOthentifié
 
Message(s) : 9
Inscrit le : 04 Jan 2011 02:07

Re: [Résolu] Pourcentage avec NB.SI

Messagepar OOotremer971 » 04 Jan 2011 15:27

emelya18 a écrit:Pour une formule a la con qui m'aura pris deux jours noté sur deux points... yes!


et pourtant si près du but.
emelya18 a écrit:NB.SI je sais l'utiliser
alors pourquoi ne respectes tu la position de ses parenthèses lorsque tu l'intègre dans la fonction SI() ?

et ou est la difficulté dans la fonction SI() à dire que si la valeur retournée par NB.SI() est supérieure ou égale à 1, alors on affiche 1, sinon 0 ?
LibreOffice 3.5.4.2
Version ID : 165a79a-7059095-e13bb37-fef39a4-9503d18
sous Ubuntu 12.04 LTS
Avatar de l’utilisateur
OOotremer971
InconditiOOnnel
InconditiOOnnel
 
Message(s) : 994
Inscrit le : 16 Avr 2010 14:31

Re: [Résolu] Pourcentage avec NB.SI

Messagepar micmac » 04 Jan 2011 15:31

Re bonjour,
emelya18 a écrit:Pour une formule a la con

emelya18 a écrit:surtout que notre prof se les glande sec avec son peu de cours


Votre enthousiasme n'a d'égal que le peu de considération que vous accordez à votre professeur et aux personnes qui vous ont accordé du temps pour répondre à votre question.

Bonne année quand-même

Cordialement
Avatar de l’utilisateur
micmac
MOOdérateur
MOOdérateur
 
Message(s) : 1446
Inscrit le : 28 Août 2010 09:45

Re: [Résolu] Pourcentage avec NB.SI

Messagepar Jean-Louis Cadeillan » 04 Jan 2011 23:22

Bonsoir,
Quelques remarques :
  • 1) Je ne suis pas sûr que ton professeur te demande une formule :
    emelya18 a écrit:Je dois mettre une formule permettant de calculer le nombre de pays ayant ou moins pour une des trois années 25%d'ordinateur
  • 2) Rien ne nous dis qu'il est nécessaire d'utiliser la fonction NB.SI() :
    emelya18 a écrit:je veux utiliser "NB.SI(...)"
  • 3) Je n'ai pas l'impression que tu aies bien compris ce qu'est une fonction (rôle des parenthèses, points-virgules; différents arguments d'une fonction), au vu de ta dernière proposition :
    emelya18 a écrit:=SI(NB.SI(B2;C2;D2)>=0,25;1;0)
Donc on va tout reprendre en détail et par le menu, même si les conseils de mes collègues auraient dû t'amener à la solution... :wink:
Quelques solutions possibles :
  • Avec deux formules :
    Pour chaque pays, tu trouves une formule qui renvoie 1 quand au moins une des trois années à un pourcentage supérieur à 25% et qui renvoie 0 sinon (sinon = toutes les trois années ont un pourcentage < 25%)
    Ensuite tu fais la somme de tous ces nombres 0 ou 1, ce qui te permet de calculer le nombre de pays dont au moins une des années a un pourcentage supérieur à 25%
    • Première solution avec la fonction NB.SI() dans la fonction SI()
      La fonction SI() a 3 arguments, séparés par des points-virgules.
      Le premier argument, c'est le test : est-ce que le nombre de pourcentages, pour un pays donné, et supérieure ou égal à 1 (ce qui est équivalent à "supérieur strictement à 0") ? Soit, avec l'utilisation de la fonction NB.SI(), sachant que cette fonction n'a que deux arguments, la plage de cellules à tester et l'expression du test. ATTENTION, ce qui a pu te troubler, c'est que le test de la fonction SI() utilise le résultat de la fonction NB.SI() qui elle-même a besoin d'un autre test !!!
      Code : Tout sélectionner   AgrandirRéduire
      NB.SI(B2:D2;">=0,25")>0

      Le deuxième argument, c'est ce que retourne SI() quand le test est positif ==> 1
      Le troisième argument, c'est ce que retourne SI() quand le test est négatif ==> 0
      Au final, (en colonne E dans le fichier joint) :
      Code : Tout sélectionner   AgrandirRéduire
      =SI(NB.SI(B2:D2;">=0,25")>0;1;0)
    • Deuxième solution avec la fonction NB.SI() dans la fonction SI(), en syntaxe simplifiée :
      N'importe quel test retourne lui-même une valeur : VRAI (valeur numérique = 1) ou FAUX (valeur numérique =0)
      Or il se trouve que si le résultat du test de la fonction SI() n'est pas FAUX (donc différent de 0), la fonction SI() le considère comme VRAI. Par exemple SI(25;1;0) va retourner la valeur 1. De plus les deux derniers arguments de la fonction SI sont facultatifs : cette fonction retournera, selon le résultat du test VRAI (=1) ou FAUX (=0). Au final, cette syntaxe simplifiée (en colonne F dans le fichier joint) :
      Code : Tout sélectionner   AgrandirRéduire
      =SI(NB.SI(B2:D2;">=0,25"))
    • Troisième solution en utilisant la fonction MAX() :
      Cette fonction retourne la valeur maximale d'une série de valeurs de cellules. Si cette valeur maximale est supérieure à 25%, cela veut dire qu'il y a au moins une valeur supérieure à ce seuil. MAX() a un seul argument obligatoire, une plage de cellules. J'utilise l'opérateur de comparaison comme un SI() ultra-simplifié, c'est l'opérateur lui-même qui renvoie VRAI ou FAUX.Au final, (en colonne G dans le fichier joint) :
      Code : Tout sélectionner   AgrandirRéduire
      =MAX(B2:D2)>=0,25

      J'aurais pu mettre, en reprenant la syntaxe de la solution précédente :
      Code : Tout sélectionner   AgrandirRéduire
      =SI(MAX(B2:D2)>=0,25)
  • Avec une formule :
Elle est un peu plus difficile à comprendre, car elle fait appel à la notion de matrices. Dans ces formules matricielles, les plages de cellules sont à des endroits où on ne les attend pas. Par exemple, on va faire le test B2:B11<0,25, c'est une façon ramassée d'écrire la série de tests B2<0.25, B3<0.25...B11<0.25. Donc, si on fait simultanément les trois tests suivants :
B2<0.25
C2<0.25
D2<0.25
S'ils sont tous les trois vrais, ils vont retourner chacun 1 comme valeur, donc le produit des trois sera aussi 1. Dès qu'un ou plusieurs de ces test est faux (=0), le produit des trois va s'annuler. Donc si un pays a au moins un pourcentage >= à 25%, alors le produit de ces trois tests vaudra 0. Si j'additionne tous ces produits, je vais obtenir le nombre de pays dont aucun des pourcentage n'est supérieur ou égal à 25%. C'est le contraire de ce qu'on cherche, mais il est alors facile, par différence avec le nombre de pays total, de calculer le nombre de pays dont au moins un des pourcentage est >= à 25% !
Or la fonction SOMMEPROD() fait justement des sommes de produits, comme son nom l'indique. De plus, elle est matricielle :
Code : Tout sélectionner   AgrandirRéduire
=SOMMEPROD(B2:B11<0,25;C2:C11<0,25;D2:D11<0,25)

Cette écriture revient à faire :
Code : Tout sélectionner   AgrandirRéduire
=PRODUIT(B2<0.25;C2<0.25;D2<0.25)+PRODUIT(B3<0.25;C3<0.25;D3<0.25)+...+PRODUIT(B11<0.25;C11<0.25;D11<0.25)
Il me reste à calculer le nombre total de pays ; je peux utiliser par exemple la fonction LIGNES() :
=LIGNES(A2:A11) ici me retourne 10. J'ai maintenant tout ce qu'il faut pour écrire ma fonction finale :
Code : Tout sélectionner   AgrandirRéduire
=LIGNES(A2:A11)-SOMMEPROD(B2:B11<0,25;C2:C11<0,25;D2:D11<0,25)

Je ne sais pas si ton professeur exigeait ce genre de formules :mrgreen:
Cordialement
Jean-Louis
Pièces jointes
NbSiEtc.ods
NbSi et Cie
(12.11 Kio) Téléchargé 50 fois
LibreOffice 4.1.5.3 et Apache OpenOffice 3.4.1 sous Windows 7 Édition Intégrale 64 SP1 (Domicile)
LibreOffice 3.5.6.2 sous ArchLinux, noyau 3.4.9 - 1
Apache OpenOffice 3.4.0 sous Windows Sept Pro 64 SP1 (Bureau)
Avatar de l’utilisateur
Jean-Louis Cadeillan
ManitOOu
ManitOOu
 
Message(s) : 3377
Inscrit le : 03 Jan 2009 00:56


Retour vers Tableur

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 17 invité(s)