Formule nb.si.ens avec beaucoup de critères...
Résoluch_7368 Messages postés 5 Statut Membre -
Bonjour,
Je recherche une formule pour calculer un nombre de cases qui ne soient pas zéro dans une autre feuille. Je vous explique :
J'ai une feuille "stats" dans laquelle j'ai construit un tableau pour ressortir différentes données d'une autre feuille nommée "retraitement pour import" dans le même excel.
Dans ma feuille "retraitement pour import" :
- ma colonne C correspond à une ville, soit Lyon, Reims ou Aix
- ma colonne I correspond à la distance en km entre le lieu de domicile de mes contacts et leur lieu de travail
- ma colonne L est complétée s'ils prennent le TER
- ma colonne M est complétée s'ils prennent le métro
- ma colonne O est complétée s'ils prennent le bus
Je souhaite calculer le nombre de personnes qui utilisent ces 3 types de transports (avoir le nombre total des 3 colonnes réunies) s'ils habitent à Lyon et que la distance est comprise entre 50 et 100km
la formule que j'utilise est la suivante mais elle ne fonctionne pas :
=NB.SI.ENS('Retraitement pour import'!I:I;">=50"; 'Retraitement pour import'!I:I;"<=100";'Retraitement pour import'!C:C;"Lyon";'Retraitement pour import'!O:O;"<>0";'Retraitement pour import'!L:L;"<>0";'Retraitement pour import'!M:M;"<>0")
Je n'ai pas de message d'erreur mais la formule affiche toujours le résultat zéro.
Est-ce que vous pourriez m'aider s'il vous plaît ?
Merci par avance, bonne journée :)
Windows / Chrome 114.0.0.0
- Formule nb.si.ens avec beaucoup de critères...
- Formule si ou - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Excel mise en forme conditionnelle formule - Guide
- Formule somme excel ligne - Guide
3 réponses
Le besoin est de compter les enregistrements où la ville est Lyon et la distance est comprise entre 50 et 100 km, et où au moins l’un des trois transports (bus, TER ou métro) est renseigné non nul. L’erreur provient d’une NB.SI.ENS appliquée simultanément sur plusieurs colonnes pour cumuler les trois transports, qui renvoie souvent zéro. Une solution fiable consiste à additionner les comptes pour chaque transport séparément, par exemple: =NB.SI.ENS(I:I,">=50",I:I,"<=100",C:C,"Lyon",O:O,"<>0") + NB.SI.ENS(I:I,">=50",I:I,"<=100",C:C,"Lyon",L:L,"<>0") + NB.SI.ENS(I:I,">=50",I:I,"<=100",C:C,"Lyon",M:M,"<>0"). Alternative, plus complexe, avec SUMPRODUCT: =SUMPRODUCT((I:I>=50)*(I:I<=100)*(C:C="Lyon")*((O:O<>0)+(L:L<>0)+(M:M<>0)>0)), en privilégiant des plages finies pour la performance.
pour que ta formule fonctionne, il faudrait prendre a la fois le bus, le metro et le rer pour le meme voyage!
Crdlmt
Hello,
Avec un exemple de fichier posté sur Cjoint.com et en donnant ici le lien créé, on y verra plus clair
Bonjour.
.
"mais la formule affiche toujours le résultat zéro" : Ce n'est pas le logiciel qui se trompe !
1) Aller dans https://www.cjoint.com/
2) Cliquer sur [Parcourir] pour sélectionner le fichier (15 Mo maxi)
3) Défiler vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; faire un clic-droit dessus et choisir "Copier le lien"
5) Revenir dans la discussion sur CCM, et dans votre message faire "Coller".
=>Voir la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
Il existe aussi https://www.transfernow.net/
Merci, est-ce qu'il y aurait une formule appropriée pour que ça additionne les 3 sans qu'on prenne à la fois plusieurs moyens de transports ?
=sommeprod(('Retraitement pour import'!I:I>=50)*( 'Retraitement pour import'!I:I<=100)*('Retraitement pour import'!C:C="Lyon";)*(('Retraitement pour import'!O:O<>0)+'Retraitement pour import'!L:L<>0)+'Retraitement pour import'!M:M;<>0))).
Il faut au moins un transport
Crdlmt
Merci beaucoup pour votre aide !
Bonjour.
.
En C37, par exemple, il faut remplacer =NB.SI.ENS(RI!B:B;">=11"; RI!B:B;"<=20";RI!A:A;"Lyon";RI!D:D;"<>0";RI!E:E;"<>0";RI!G:G;"<>0") par
=NB.SI.ENS(RI!B:B;">=11"; RI!B:B;"<=20";RI!A:A;"Lyon";RI!D:D;"<>0")
+NB.SI.ENS(RI!B:B;">=11"; RI!B:B;"<=20";RI!A:A;"Lyon";RI!E:E;"<>0")
+NB.SI.ENS(RI!B:B;">=11"; RI!B:B;"<=20";RI!A:A;"Lyon";RI!G:G;"<>0")
.
En G36 le total, tous moyens de transport confondus, est donné par la formule
=NB.SI.ENS(RI!B:B;">=51"; RI!B:B;"<=99";RI!A:A;"Lyon")
https://www.cjoint.com/c/MHebgBIa5eU
Super !! Je vous remercie beaucoup :)