[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épondre
emelya18
Fraîchement OOthentifié
Messages : 9
Inscription : 04 janv. 2011 02:07

[Résolu] Pourcentage avec NB.SI

Message par emelya18 »

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 modification par emelya18 le 04 janv. 2011 14:02, modifié 3 fois.
OpenOffice.org 3.2 sous WINDOWS 7
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9223
Inscription : 28 août 2010 10:45

Re: FORMULE SOUS CALC

Message par micmac »

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 : http://user.services.openoffice.org/fr/ ... =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 : http://user.services.openoffice.org/fr/ ... 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 : http://user.services.openoffice.org/fr/ ... opic1.html

Cordialement
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Jeff
GourOOu
GourOOu
Messages : 9608
Inscription : 18 sept. 2006 11:40
Localisation : France

Re: FORMULE SOUS CALC

Message par Jeff »

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 +
emelya18
Fraîchement OOthentifié
Messages : 9
Inscription : 04 janv. 2011 02:07

Re: FORMULE SOUS CALC

Message par emelya18 »

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é
Messages : 9
Inscription : 04 janv. 2011 02:07

Re: FORMULE SOUS CALC

Message par emelya18 »

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

cette fonction ne marche pas, où est le probleme?
OpenOffice.org 3.2 sous WINDOWS 7
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 15:31

Re: FORMULE SOUS CALC

Message par OOotremer971 »

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?
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
emelya18
Fraîchement OOthentifié
Messages : 9
Inscription : 04 janv. 2011 02:07

Re: FORMULE SOUS CALC

Message par emelya18 »

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
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 15:31

Re: FORMULE SOUS CALC

Message par OOotremer971 »

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.
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
emelya18
Fraîchement OOthentifié
Messages : 9
Inscription : 04 janv. 2011 02:07

Re: Formule sous OpenOffice

Message par emelya18 »

Ca m'a l'air encore plus difficile =S
OpenOffice.org 3.2 sous WINDOWS 7
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 15:31

Re: Formule sous OpenOffice

Message par OOotremer971 »

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 (""))
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
emelya18
Fraîchement OOthentifié
Messages : 9
Inscription : 04 janv. 2011 02:07

Re: Formule sous OpenOffice

Message par emelya18 »

MERCI beaucou !!! =D
OpenOffice.org 3.2 sous WINDOWS 7
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12196
Inscription : 08 nov. 2005 17:23
Localisation : Caen, France
Contact :

Re: Formule sous OpenOffice

Message par Bidouille »

Bonjour,

Les icônes mises à votre disposition ont une signification précise sur ce forum.
Veuillez consulter ce fil pour en savoir plus : http://user.services.openoffice.org/fr/ ... c3299.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.
emelya18
Fraîchement OOthentifié
Messages : 9
Inscription : 04 janv. 2011 02:07

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

Message par emelya18 »

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

arf ça ne marche pas ><"

-->merci bidouille.
OpenOffice.org 3.2 sous WINDOWS 7
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 15:31

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

Message par OOotremer971 »

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

Code : Tout sélectionner

SI(NB.SI(tralala)condition;alors ceci;sinon cela)
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
emelya18
Fraîchement OOthentifié
Messages : 9
Inscription : 04 janv. 2011 02:07

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

Message par emelya18 »

=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
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 15:31

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

Message par OOotremer971 »

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

SI(NB.SI(tralala)condition;alors ceci;sinon cela)
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
emelya18
Fraîchement OOthentifié
Messages : 9
Inscription : 04 janv. 2011 02:07

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

Message par emelya18 »

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
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 15:31

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

Message par OOotremer971 »

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 ?
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9223
Inscription : 28 août 2010 10:45

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

Message par micmac »

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
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5732
Inscription : 03 janv. 2009 00:56

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

Message par Jean-Louis Cadeillan »

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

      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

      =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

      =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

      =MAX(B2:D2)>=0,25
      J'aurais pu mettre, en reprenant la syntaxe de la solution précédente :

      Code : Tout sélectionner

      =SI(MAX(B2:D2)>=0,25)
      [/i]
  • 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

=SOMMEPROD(B2:B11<0,25;C2:C11<0,25;D2:D11<0,25)
Cette écriture revient à faire :

Code : Tout sélectionner

=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

=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é 98 fois
LibO 7.6.5.2 (x64 avec Java 1.8.0_401) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
Répondre