IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Nb.Si.Ens avec critères sur différents intervalles


Sujet :

Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2018
    Messages : 6
    Par défaut Nb.Si.Ens avec critères sur différents intervalles
    Bonsoir,

    J'utilise la fonction NB.SI.ENS, afin de dénombrer certains matériels, en fonction de différents critères.

    Pas de problème dans le cas basique pour retrouver le nombre de valeurs correspondantes à ces critères dans un tableau.
    Je souhaite rajouter un critère pour une colonne donnée (N° de Série) afin de retrouver le nombre total d'articles qui ont un n° compris entre par exemple 21761000001 et 21769999999 + ceux compris entre 031761000001 et 31769999999 + ceux compris entre 041761000001 et 31769999999.

    Exemple de fichier Synthèse NS.xlsx

    Je vous remercie par avance pour votre aide.

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Je n'ouvre et n'ouvrirai jamais un classeur tiers et n'ai donc pas ouvert le tien.
    Pas de problème dans le cas basique pour retrouver le nombre de valeurs correspondantes à ces critères dans un tableau.
    Si tu sais le faire pour un "NB.SI.ENS", il suffit d'additionner les "NB.SI.ENS"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = NB.SI.ENS( ......) + NB.SI.ENS( ......) + NB.SI.ENS( ......)
    Non ?

    EDIT : et fais bien attention à ce que tu dois traiter (des chaînes de caractères - ce que sont des N°s - et non des nombres)
    "02" est par exemple < "1" et également < 1, mais 2 est > "1" et > 1

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2018
    Messages : 6
    Par défaut Nb.Si.Ens avec critères sur différents intervalles
    Bonjour et merci,

    Désolé d'avoir tardé à vous répondre, mais je ne travaille pas tous les jours sur ce fichier.

    Oui la solution de la somme de NB.SI.ENS est la bonne.
    En fait j'avais un problème, ma formule n'était pas bonne en ce qui concerne l'intervalle. J'ai réussi à trouver le problème.
    Par contre, très fastidieux, car j'ai à ce jour 12 intervalles à prendre en compte et le nombre ne va pas faire en diminuant.

    Est-il possible, sans s'orienter vers une macro, de faire référence à un tableau de données qui prendrai en compte l'intervalle tant qu'il ne trouve pas de cellule vide?

    Ci-dessous un aperçu de mon tableau de donnée ainsi que la formule.

    Nom : Intervalles.jpg
Affichages : 3536
Taille : 233,7 Ko

    Autre solution, mais je n'y suis pas arrivé pour mon intervalle, c'est de comptabiliser tous les n° de série commençant par ex 21776 (qui reste figé), et de remplacer les caractères supplémentaires par un ? ou *. La formule me renvoie "0".

    Merci pour votre aide

  4. #4
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 548
    Par défaut
    Bonjour

    Pourquoi ne pas comptabiliser dans une colonne du tableau d’intervalles puis faire la somme à la fin ?

    Même en format texte NB.SI voit des nombres.

    En matriciel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMME(SI(GAUCHE(A2:A6000;4)="2176";1;0)

  5. #5
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2018
    Messages : 6
    Par défaut Nb.Si.Ens avec critères sur différents intervalles
    Bonsoir,

    En fait, ces n° de série correspondent à des appareils qui sont installés quotidiennement par 8 sites.
    Ce tblo me sert en fait à gérer des approvisionnements et connaitre au jour le jour en fonction des livraisons et des poses réalisées le stock théorique par sites.
    Un fichier export me restitue l'ensemble des données correspondant aux appareils posés quotidiennement par site. C'est ce fichier qui me sert à alimenter mon classeurs de stock par site.

    Nom : 2018-01-23_213558.jpg
Affichages : 3247
Taille : 253,6 Ko

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Attention aux nombres et aux textes...

    Nom : nbsi.png
Affichages : 3083
Taille : 6,3 Ko

    Perso, j'organiserais mes données différemment, et j'utiliserais SOMMEPROD, qui accepte les conditions de type OU sur les critères, alors que NB.SI.ENS vérifie que TOUS les critères sont remplis. De plus, SOMMEPROD permet de travailler les critères sur le résultat de traitements sur les cellules, alors que NB.SI.ENS ne permet de travailler que sur les valeurs dans les cellules, éventuellement partielles (avec les jokers * et ?). SOMME.SI.ENS permet néanmoins d'utiliser les opérateurs de comparaison à l'intérieur de la chaîne du critère.

    Mes billets de blog sur SOMME.SI.ENS et fonctions soeurs:
    https://www.developpez.net/forums/bl...ier-d-exemple/

    https://www.developpez.net/forums/bl...tre-different/
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2018
    Messages : 6
    Par défaut
    Bonjour,

    Je veux éviter d'organiser mon tableau différemment, car il impacte par liaison d'autre classeur et cela m'impliquerai de revoir tout l'ensemble.

    Le tableau que j'ai actuellement avec NB.SI.ENS fonctionne bien sur le principe. J'ai à ce jour prévu d'avoir jusqu'à 12 n° de série pour chaque type de matériel soit 36 (3 types x12).
    Je veux pouvoir facilement augmenter mes critères de n° de série sans revoir systématiquement toute mes formules. Je recherche une solution qui me permettrai sans passer par du VBA de pouvoir sur le principe d'une boucle réaliser mes formules tant qu'il ne rencontre pas de cellule vide. Est-ce réalisable?

    Feuilles comprenant les n° de série:
    Nom : 2018-01-24_174602.jpg
Affichages : 3076
Taille : 66,8 Ko
    =NB.SI.ENS(IMPORT[Marché];n°Marché;IMPORT[Date de début de CR];$B9;IMPORT[Type du matériel déposé];"Monophasé";IMPORT[Numéro de série du C];">="&Type_C!$E$4;IMPORT[Numéro de série du C];"<="&Type_C!$G$4)
    +NB.SI.ENS(IMPORT[Marché];n°Marché;IMPORT[Date de début de CR];$B9;IMPORT[Type du matériel déposé];"Monophasé";IMPORT[Numéro de série du C];">="&Type_C!$E$5;IMPORT[Numéro de série du C];"<="&Type_C!$G$5)+....

    J'ai à ce jour ~ 4 n° de série différents pour chaque type de matériel
    Le n° de série est constitué ainsi:
    Les 2 premiers chiffres correspondent à un constructeur 02,03,04...84.
    Les 2 suivants à l'année de fabrication 15,16,17....
    Les 2 suivants au type de matériel 61,62,63,64...75,76,77
    Les 6 derniers chiffres sont ensuite incrémentés.

    Feuille Import:
    Nom : 2018-01-24_174249.jpg
Affichages : 3070
Taille : 82,9 Ko

    Feuille stock par Site:
    Nom : 2018-01-24_174439.jpg
Affichages : 3056
Taille : 128,8 Ko

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Tu peux faire comme tu l'as fait, mais tu dois alors répéter les critères qui sont les mêmes pour chaque nb.si.ens (marché et type)...

    C'est pourquoi je te propose SOMMEPROD car tu peux réaliser des critères de type "ou" alors que xxx.ENS ne permet que des critères de type "ET"

    Dans l'exemple illustré, on teste que le (numéro de série va de ((100000 à 199999) ou (400000 à 699999) ou (800000 à 899999))) ET (type = "monophasé") ET (marché = "A")

    En Excel (et pas rien qu'en Excel d'ailleurs), le OU devient + et le ET devient *

    Nom : 2018-01-24_201604.png
Affichages : 3208
Taille : 52,2 Ko
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Et pour avoir une vision plus claire de la façon de créer SOMMEPROD avec des OU et des ET, voici un exemple plus léger.


    1. VRAI et FAUX sont transtypés en valeurs numériques lorsqu'ils sont utilisés dans des opérations arithmétiques et valent alors respectivement 1 et 0.

    2. Ca permet plein de choses amusantes sur le plan de l'arithmétique booléenne puisque 1 est neutre pour la multiplication alors que 0 est absorbant pour la multiplication et neutre pour l'addition.

    Voici une table de vérité (version valeurs et version formules) qui illustre différents cas

    Nom : 2018-01-24_202823.png
Affichages : 2972
Taille : 82,2 Ko

    Nom : 2018-01-24_202841.png
Affichages : 2983
Taille : 68,4 Ko

    SOMMEPROD effectue la SOMME des PRODuits, comme illustré dans le cas suivant qui montre la formule qui compte les lignes pour lesquelles on a (A ou B ou C en X) ET (D en Y) ET (E en Z).

    La formule est: =SOMMEPROD((((T[X]="A")+(T[X]="B")+(T[X]="C"))>0)*(T[Y]="D")*(T[Z]="E"))Nom : 2018-01-24_201933.png
Affichages : 2980
Taille : 52,3 Ko


    J'espère que cela t'aidera.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  10. #10
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2018
    Messages : 6
    Par défaut
    Je te remercie de ton complément d'information, car je n'avais pas compris le fonctionnement de SOMMEPROD.

    Je suis en train de modifier mon tableau avec cette fonction et je me retrouve confronté à un problème de format de mes n° de série.
    Lorsque j'importe mes données, les n° de série s'affiche sous le forme 2,18+10 (mais il me semble que le nom de format affiché est "standard") que j'ai modifié en le basculant en format "nombre", hors ma formule me renvoie "0". Lorsque je rajoute l'apostrophe devant mes n° de série, mes résultat sont OK.

    Comment faire pour que mes formules fonctionnent sans avoir besoin de mettre l'apostrophe devant mes ~3000 lignes de n° de série?

    Merci.

  11. #11
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Essaie en mettant ta colonne au format TEXTE.

    Tes n° de série ne sont pas des nombres, ce sont des chaînes de caractères qui ne contiennent que des chiffres. Normalement, il ne faut avoir en format numérique (quel qu'il soit) que des valeurs sur lesquelles on réalise des opérations arithmétiques.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  12. #12
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2018
    Messages : 6
    Par défaut
    Cela change sur un partie de mes n°.
    Je dois avoir un souci sur ma liste d'import, je ferai un nouvel import demain matin, pour repartir avec les données qui sont réellement importées.

    Merci et bonne soirée.

Discussions similaires

  1. formule somme.si.ens avec critére sur les dates
    Par AMEDDO79 dans le forum Excel
    Réponses: 15
    Dernier message: 10/02/2016, 10h35
  2. [XL-2010] Transposer somme.si.ens avec critère sur date et heures en vba ?
    Par novice06 dans le forum Excel
    Réponses: 25
    Dernier message: 30/04/2015, 13h10
  3. Requete SUM sur une table avec critère sur une autre
    Par wail00 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/05/2007, 16h58
  4. ETAT avec critères sur somme
    Par Leeloo92 dans le forum IHM
    Réponses: 2
    Dernier message: 12/04/2007, 14h39
  5. [VB6] pb avec critère sur find avec rs ADODB
    Par Mymi dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 14/08/2006, 15h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo