Fonction PAIR et IMPAIR dans une plage (NB.SI.ENS)

Résolu
pasbra Messages postés 9 Statut Membre -  
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'utilise la fonction NB.SI.ENS avec 2 critères. Je veux mettre un critère d'une plage si la valeur est Pair ou Impair. Je connais les fonctions EST.PAIR et EST.IMPAIR mais il semble s'appliquer à une seule valeur, pas à une plage.

Mon premier critère est une valeur texte et mon deuxième critère est une valeur pair.

Ma formule:

=NB.SI.ENS(F30:F37;"1*";E30:E37;"EST.PAIR(E30:E37)")

la partie en gras ne fonctionne pas...

je peux mettre un critère mathématique style >23, ça fonctionne mais ça ne répond pas à mon critère.

Merci de vos conseils



--
Pascal

4 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour

    il n'y a pas trop d'explications dans votre fichier, mais si vous v=cherchez à compter les cours qui commencent par 1 en E avec un nombre pair en F celle ci devrait fonctionner:

    =SOMMEPROD((GAUCHE(F2:F1000;1)="1")*(MOD(E2:E1000;2)=0))

    attention, placer bien le 1 du premier item entre guillemets pour traiter ça comme du texte.

    limitez bien le nombre de lignes à la hauteur utile pour éviter les lourdeurs de cette formule

    crdlmnt

    La qualité de la réponse dépend surtout de la clarté de la question, merci!
    1
    1. pasbra
       
      Bonjour,

      Merci ça fonctionne. L'emploi de MOD est une excellente idée pour détecter si un nombre est pair...
      0
    2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Pas de quoi
      je passe le sujet en résolu
      Bonne route
      crdlmnt
      0
  2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    d'après votre texte, il s'agit de compter des valeurs paires si le texte en colonne F commence par 1

    essayez avec:

    =SOMMEPROD((GAUCHE(F30:F37;1)*1=1)*(MOD(E30:E37;2)=0))

    le *1 dans le premier item n'est à placer que si les valeurs de F sont des valeurs numériques

    et vous pouvez en rajouter, par exemple:

    =SOMMEPROD((GAUCHE(F30:F37;1)*1=1)*(Y30:Y37>23)*(MOD(E30:E37;2)=0))

    et d'autres encore

    crdlmnt

    0
    1. pasbra Messages postés 9 Statut Membre
       
      Merci de réponse.

      En appliquant directement la formule selon ce que j'avais mentionné, ça fonctionne. Par contre, je ne peux pas l'utiliser dans mon cas. La colonne F représente des cours et la colonne E un # séquentiel me servant à distingué si le cours est en avant-midi ou en après-midi.

      Mon objectif est de compter le nombre de cours X en avant-midi; le nombre de cours Y en après-midi... Ainsi de suite, pour totaliser le nombre heure puisque les cours n'ont pas la même duré en AM ou PM.

      À bien y penser, je crois que je vais ajouter une colonne AM ou PM en fonction du # pair ou impair. Par la suite ça va être facile de continuer... Bien je crois!

      Merci encore
      0
  3. DjiDji59430 Messages postés 4278 Date d'inscription   Statut Membre Dernière intervention   717
     
    Bonjour a vous deux

    essaye :

    [=NB(SI((F30:F37="1*")*(EST.PAIR(E30:E37);E30:E37))]
    en matricielle

    Cdlmnt
    0
    1. pasbra Messages postés 9 Statut Membre
       
      Allo,

      J'ai essayé, mais ça me donne un message d'erreur. Je ne comprend pas exactement qu'est-ce que tu essais de faire, c'est plus difficile de trouver l'erreur dans ce temps là...

      Est-ce bien la fonction NB que tu veux utilisé ou NB.SI. J'ai essayé plusieurs truc, mais je n'arrive à rien. En matricielle qu'est-ce que ça voulait dire et les " ] " ont une importance?

      Merci
      0
      1. DjiDji59430 Messages postés 4278 Date d'inscription   Statut Membre Dernière intervention   717 > pasbra Messages postés 9 Statut Membre
         
        tu ecris ta formule

        =NB(SI((F30:F37="1*")*(EST.PAIR(E30:E37);E30:E37)) et tu la valides par shift +control+entrée avec 3 doigts en meme temps.
        Apparaissent alors de part et d'autre de ta formule des accolades qui montrent que ta formule est validée
        Resultat obtenu :
        {=NB(SI((F30:F37="1*")*(EST.PAIR(E30:E37);E30:E37))}
        0
      2. pasbra Messages postés 9 Statut Membre > DjiDji59430 Messages postés 4278 Date d'inscription   Statut Membre Dernière intervention  
         
        Ça ne fonctionne pas... Il y une erreur dans la formule...

        Ça ne semble pas possible d'ajouter un fichier ici?
        0
      3. DjiDji59430 Messages postés 4278 Date d'inscription   Statut Membre Dernière intervention   717 > pasbra Messages postés 9 Statut Membre
         
        Bonjour ,

        Joins un fichier-test, (avec TOUTES les explications et les résultats souhaités) ou mieux, si c'est possible, le fichier concerné, c'est plus commode pour les intervenants.

        1) Tu vas dans https://www.cjoint.com/
        2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
        3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
        4) Au bout de quelques secondes s'affiche le lien en bleu souligné ; tu le sélectionnes et tu fais "Copier"
        5) Tu reviens dans la discussion, et, dans ton message de réponse, tu fais : "Coller".

        Cordialement.



        {=NB(SI((GAUCHE(F30:F37;1)=1)*(EST.PAIR(E30:E37);E30:E37))}
        0
  4. pasbra
     
    Merci, je ne connaissais pas le site!

    http://www.cjoint.com/c/GKrbbmwiDWB
    0