SI imbriquées
Résolu/Fermé
nana22630
Messages postés
15
Date d'inscription
vendredi 27 septembre 2013
Statut
Membre
Dernière intervention
20 juillet 2016
-
19 juil. 2016 à 14:09
nana22630 Messages postés 15 Date d'inscription vendredi 27 septembre 2013 Statut Membre Dernière intervention 20 juillet 2016 - 20 juil. 2016 à 12:27
nana22630 Messages postés 15 Date d'inscription vendredi 27 septembre 2013 Statut Membre Dernière intervention 20 juillet 2016 - 20 juil. 2016 à 12:27
6 réponses
Raymond PENTIER
Messages postés
58797
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
3 janvier 2025
17 263
19 juil. 2016 à 15:48
19 juil. 2016 à 15:48
Salut, Nana.
Si tu m'y autorises, voici quelques conseils, pour rendre ta formule plus légère et plus lisible :
1) Si tu remplaces le nom de feuille "Données brutes" par "Dat",
devient
2) Inutile de faire 2 fois le même test !
Quand tu as fait
Ta formule doit logiquement s'écrire
et bien entendu quand tu effectues la rectification signalée par Fahora, la formule correcte est finalement
Cordialement.
Si tu m'y autorises, voici quelques conseils, pour rendre ta formule plus légère et plus lisible :
1) Si tu remplaces le nom de feuille "Données brutes" par "Dat",
=(SI 'Données brutes'!I2=0;0;SI(ET('Données brutes'!I2>0;'Données brutes'!I2<=5%);1;SI(ET('Données brutes'!I2>5%;'Données brutes'!I2<=10%);2;SI(ET('Données brutes'!I2>10%;'Données brutes'!I2<=15%);3;SI(ET('Données brutes'!I2>15%;'Données brutes'!I2<=20%);4;SI(ET('Données brutes'!I2>20%);5;"NUL"))))))
devient
=(SI Dat!I2=0;0;SI(ET(Dat!I2>0;Dat!I2<=5%);1;SI(ET(Dat!I2>5%;Dat!I2<=10%);2;SI(ET(Dat!I2>10%;Dat!I2<=15%);3;SI(ET(Dat!I2>15%;Dat!I2<=20%);4;SI(ET(Dat!I2>20%);5;"NUL"))))))
2) Inutile de faire 2 fois le même test !
Quand tu as fait
=(SI Dat!I2=0;0;il ne te reste plus à examiner que des nombres >0 ; alors pourquoi recommencer
SI(ET(Dat!I2>0;Dat!I2<=5%);?
Ta formule doit logiquement s'écrire
=(SI Dat!I2=0;0;SI(Dat!I2<=5%;1;SI(Dat!I2<=10%;2;SI(Dat!I2<=15%;3;SI(Dat!I2<=20%;4;SI(Dat!I2>20%;5;"NUL"))))))
et bien entendu quand tu effectues la rectification signalée par Fahora, la formule correcte est finalement
=SI(Dat!I2=0;0;SI(Dat!I2<=5%;1;SI(Dat!I2<=10%;2;SI(Dat!I2<=15%;3;SI(Dat!I2<=20%;4;SI(Dat!I2>20%;5;"NUL"))))))
Cordialement.
Fahora
Messages postés
814
Date d'inscription
jeudi 24 septembre 2015
Statut
Membre
Dernière intervention
2 janvier 2023
68
Modifié par Fahora le 19/07/2016 à 14:31
Modifié par Fahora le 19/07/2016 à 14:31
Bonjour ,
Pourquoi ne pas utiliser une formule mathématique ?
Si tes données sont des nombres :
=SI(ESTNUM('Données brutes'!I2);SI('Données brutes'!I2/5>4;5;arrondi.sup('Données brutes'!I2/5;0));"Nul")
Si tes données sont pourcentages : (0% ; 1% ...)
=SI(ESTNUM('Données brutes'!I2);SI('Données brutes'!I2/5>4;5;arrondi.sup('Données brutes'!I2*20;0));"Nul")
Si tu veux garder ta formule ,l'erreur vient certainement de la position de ton 1er "SI" , qui doit suivre directement le "="
Cordialement,
--
Nos seules limites sont celles que nous nous imposons nous-même.
La politesse et un merci ne tuent pas. Il existe un bouton pour "Résolu" pour confirmer que votre problème n'en est plus un. Fahora
Pourquoi ne pas utiliser une formule mathématique ?
Si tes données sont des nombres :
=SI(ESTNUM('Données brutes'!I2);SI('Données brutes'!I2/5>4;5;arrondi.sup('Données brutes'!I2/5;0));"Nul")
Si tes données sont pourcentages : (0% ; 1% ...)
=SI(ESTNUM('Données brutes'!I2);SI('Données brutes'!I2/5>4;5;arrondi.sup('Données brutes'!I2*20;0));"Nul")
Si tu veux garder ta formule ,l'erreur vient certainement de la position de ton 1er "SI" , qui doit suivre directement le "="
Cordialement,
--
Nos seules limites sont celles que nous nous imposons nous-même.
La politesse et un merci ne tuent pas. Il existe un bouton pour "Résolu" pour confirmer que votre problème n'en est plus un. Fahora
Raymond PENTIER
Messages postés
58797
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
3 janvier 2025
17 263
19 juil. 2016 à 14:52
19 juil. 2016 à 14:52
Bonjour Fahora.
Astucieuse, ta méthode !
J'espère que Nana aura compris qu'il manque des % à la formule, qui s'écrit :
=SI(ESTNUM('Données brutes'!I2); SI('Données brutes'!I2/5>4
Astucieuse, ta méthode !
J'espère que Nana aura compris qu'il manque des % à la formule, qui s'écrit :
=SI(ESTNUM('Données brutes'!I2); SI('Données brutes'!I2/5>4
%;5;ARRONDI.SUP('Données brutes'!I2/5
%;0)); "Nul")
Fahora
Messages postés
814
Date d'inscription
jeudi 24 septembre 2015
Statut
Membre
Dernière intervention
2 janvier 2023
68
19 juil. 2016 à 14:59
19 juil. 2016 à 14:59
Il est vrai , Merci Raymond.
nana22630
Messages postés
15
Date d'inscription
vendredi 27 septembre 2013
Statut
Membre
Dernière intervention
20 juillet 2016
19 juil. 2016 à 14:59
19 juil. 2016 à 14:59
Je ne comprends pas ta formule mathématique et surtout l'objectif ?
Fahora
Messages postés
814
Date d'inscription
jeudi 24 septembre 2015
Statut
Membre
Dernière intervention
2 janvier 2023
68
19 juil. 2016 à 15:23
19 juil. 2016 à 15:23
L'idée :
Simplement , tu as des valeurs numériques , et tu veux associer à une nouvelle valeur numérique.
Pour faire simple, tu souhaites que :
0% 0
1% 1
2% 1
3% 1
4% 1
5% 1
6% 2
7% 2
8% 2
9% 2
10% 2
11% 3
12% 3
13% 3
14% 3
15% 3
16% 4
17% 4
18% 4
19% 4
20% 4
21% 5
Il existe donc une formule mathématiques qui permet cette chose.
en multipliant par 20 (ce qui revient à diviser par 5%) et en arrondissant à l'unité supérieur.
L'objectif est le même que le tien, la formule mathématique permet juste de supprimer tout le charbia des SI imbriqués
Simplement , tu as des valeurs numériques , et tu veux associer à une nouvelle valeur numérique.
Pour faire simple, tu souhaites que :
0% 0
1% 1
2% 1
3% 1
4% 1
5% 1
6% 2
7% 2
8% 2
9% 2
10% 2
11% 3
12% 3
13% 3
14% 3
15% 3
16% 4
17% 4
18% 4
19% 4
20% 4
21% 5
Il existe donc une formule mathématiques qui permet cette chose.
en multipliant par 20 (ce qui revient à diviser par 5%) et en arrondissant à l'unité supérieur.
L'objectif est le même que le tien, la formule mathématique permet juste de supprimer tout le charbia des SI imbriqués
nana22630
Messages postés
15
Date d'inscription
vendredi 27 septembre 2013
Statut
Membre
Dernière intervention
20 juillet 2016
19 juil. 2016 à 16:13
19 juil. 2016 à 16:13
Merci je viens de comprendre, oui c'est pas bête
PHILOU10120
Messages postés
6394
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
2 janvier 2025
810
19 juil. 2016 à 14:28
19 juil. 2016 à 14:28
Bonjour nana22630
=SI(I2=0;0; SI(ET(I2>0;I2<=5%);1;SI(ET(I2>5%;I2<=10%);2;SI(ET(I2>10%;I2<=15%);3;SI(ET(I2>15%;I2<=20%);4;SI(ET(I2>20%);5;"NUL"))))))
Votre paramètre 'Données brutes a été enlevé n'ayant pas ce fichier,
La première parenthèse est mal placé
=SI(I2=0;0; SI(ET(I2>0;I2<=5%);1;SI(ET(I2>5%;I2<=10%);2;SI(ET(I2>10%;I2<=15%);3;SI(ET(I2>15%;I2<=20%);4;SI(ET(I2>20%);5;"NUL"))))))
Votre paramètre 'Données brutes a été enlevé n'ayant pas ce fichier,
La première parenthèse est mal placé
via55
Messages postés
14509
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
2 janvier 2025
2 738
19 juil. 2016 à 14:35
19 juil. 2016 à 14:35
Bonjour nana
Pas besoin des ET :
=SI('Données brutes'!I2="";"NUL";SI('Données brutes'!I2=0;0; SI('Données brutes'!I2<=5%;1;SI('Données brutes'!I2<=10%;2;SI('Données brutes'!I2<=15%;3;SI('Données brutes'!I2<=20%;4;5))))))
Cdlmnt
Via
Pas besoin des ET :
=SI('Données brutes'!I2="";"NUL";SI('Données brutes'!I2=0;0; SI('Données brutes'!I2<=5%;1;SI('Données brutes'!I2<=10%;2;SI('Données brutes'!I2<=15%;3;SI('Données brutes'!I2<=20%;4;5))))))
Cdlmnt
Via
nana22630
Messages postés
15
Date d'inscription
vendredi 27 septembre 2013
Statut
Membre
Dernière intervention
20 juillet 2016
19 juil. 2016 à 14:49
19 juil. 2016 à 14:49
J'avais pas pensé que dès qu'une réponse était bonne, excel s'arrêtait d'"utiliser" la formule c'est pour ça que je faisais les ET
Merci beaucoup en tout cas ça marche parfaitement
Merci beaucoup en tout cas ça marche parfaitement
nana22630
Messages postés
15
Date d'inscription
vendredi 27 septembre 2013
Statut
Membre
Dernière intervention
20 juillet 2016
19 juil. 2016 à 15:06
19 juil. 2016 à 15:06
Je dois vraiment pas être douée car vos solutions m'ont beaucoup aidé je pensais avoir compris et lorsque je veux la faire pour une autre situation, c'est en fonction de l'ancienneté d'une zone, elle ne fonctionne pas il y a un truc que j'ai pas du pigé
=SI(2016-'Données brutes'!N13>40;0;SI(2016-'Données brutes'!N13>=30;1;SI(2016-'Données brutes'!N13>=20;2;SI(2016-'Données brutes'!N13>=10;3;SI(2016-'Données brutes'!N13>=5;4;SI(2016-'Données brutes'!N13<5;5;"NUL"))))))
=SI(2016-'Données brutes'!N13>40;0;SI(2016-'Données brutes'!N13>=30;1;SI(2016-'Données brutes'!N13>=20;2;SI(2016-'Données brutes'!N13>=10;3;SI(2016-'Données brutes'!N13>=5;4;SI(2016-'Données brutes'!N13<5;5;"NUL"))))))
Raymond PENTIER
Messages postés
58797
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
3 janvier 2025
17 263
>
nana22630
Messages postés
15
Date d'inscription
vendredi 27 septembre 2013
Statut
Membre
Dernière intervention
20 juillet 2016
19 juil. 2016 à 17:08
19 juil. 2016 à 17:08
Cette formule a pourtant l'air correcte ;
qu'est-ce qui te fait dire qu'elle ne fonctionne pas ?
qu'est-ce qui te fait dire qu'elle ne fonctionne pas ?
nana22630
Messages postés
15
Date d'inscription
vendredi 27 septembre 2013
Statut
Membre
Dernière intervention
20 juillet 2016
20 juil. 2016 à 09:21
20 juil. 2016 à 09:21
Je l'ai testé et vérifié ensuite et les résultats ne sont pas bons.
Fahora
Messages postés
814
Date d'inscription
jeudi 24 septembre 2015
Statut
Membre
Dernière intervention
2 janvier 2023
68
20 juil. 2016 à 09:45
20 juil. 2016 à 09:45
Et si tu nous disais quels sont les résultats qui ne fonctionnent pas ?
Je crois que le plus simple serait aussi que tu nous proposes un fichier (complet ou allégés) avec les problèmes que tu rencontres, qu'on puisse jeter un coup d'oeil sur les formules.
Le site https://www.cjoint.com/ te permettra de poster ton fichier sur le forum.
Je crois que le plus simple serait aussi que tu nous proposes un fichier (complet ou allégés) avec les problèmes que tu rencontres, qu'on puisse jeter un coup d'oeil sur les formules.
Le site https://www.cjoint.com/ te permettra de poster ton fichier sur le forum.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
nana22630
Messages postés
15
Date d'inscription
vendredi 27 septembre 2013
Statut
Membre
Dernière intervention
20 juillet 2016
19 juil. 2016 à 14:58
19 juil. 2016 à 14:58
Je dois vraiment pas être douée car vos solutions m'ont beaucoup aidé je pensais avoir compris et lorsque je veux la faire pour une autre situation, c'est en fonction de l'ancienneté d'une zone, elle ne fonctionne pas il y a un truc que j'ai pas du pigé
=SI(2016-'Données brutes'!N13>40;0;SI(2016-'Données brutes'!N13>=30;1;SI(2016-'Données brutes'!N13>=20;2;SI(2016-'Données brutes'!N13>=10;3;SI(2016-'Données brutes'!N13>=5;4;SI(2016-'Données brutes'!N13<5;5;"NUL"))))))
=SI(2016-'Données brutes'!N13>40;0;SI(2016-'Données brutes'!N13>=30;1;SI(2016-'Données brutes'!N13>=20;2;SI(2016-'Données brutes'!N13>=10;3;SI(2016-'Données brutes'!N13>=5;4;SI(2016-'Données brutes'!N13<5;5;"NUL"))))))
nana22630
Messages postés
15
Date d'inscription
vendredi 27 septembre 2013
Statut
Membre
Dernière intervention
20 juillet 2016
19 juil. 2016 à 16:22
19 juil. 2016 à 16:22
Je ne comprends pas pourquoi je n'y arrives pas avec cette formule !!
nana22630
Messages postés
15
Date d'inscription
vendredi 27 septembre 2013
Statut
Membre
Dernière intervention
20 juillet 2016
19 juil. 2016 à 16:27
19 juil. 2016 à 16:27
=SI(P4="";"NUL";
SI(P4<=5;5;
SI(P4<=10;4;
SI(P4<=20;3;
SI(P4<=30;2;
SI(P4<=40;1;0))))))
Meme cette solution ne marche pas
J'ai dans une colonne l'année de création de zones.
Je veux les noter selon leur ancienneté d'où le 2016-P4... Vu que je n'y parviens j'ai ajouté une colonne où j'ai fais les calculs et après j'ai donc dans ma colonne P4 directement l'ancienneté des zones
Je veux les classer dans cet ordre :
moins de 5 ans = 5
Entre 5 et 10 ans = 4
Entre 10 et 20 ans = 3
Entre 20 et 30 ans = 2
Entre 30 et 40 ans = 1
Plus de 40 ans = 0
case vide = Nul
SI(P4<=5;5;
SI(P4<=10;4;
SI(P4<=20;3;
SI(P4<=30;2;
SI(P4<=40;1;0))))))
Meme cette solution ne marche pas
J'ai dans une colonne l'année de création de zones.
Je veux les noter selon leur ancienneté d'où le 2016-P4... Vu que je n'y parviens j'ai ajouté une colonne où j'ai fais les calculs et après j'ai donc dans ma colonne P4 directement l'ancienneté des zones
Je veux les classer dans cet ordre :
moins de 5 ans = 5
Entre 5 et 10 ans = 4
Entre 10 et 20 ans = 3
Entre 20 et 30 ans = 2
Entre 30 et 40 ans = 1
Plus de 40 ans = 0
case vide = Nul
nana22630
Messages postés
15
Date d'inscription
vendredi 27 septembre 2013
Statut
Membre
Dernière intervention
20 juillet 2016
19 juil. 2016 à 16:29
19 juil. 2016 à 16:29
J'ai dans une colonne l'année de création de zones.
Je veux les noter selon leur ancienneté d'où le 2016-N...
=SI(2016-N13>40;0;SI(2016-N13>=30;1;SI(2016-N13>=20;2;SI(2016-N13>=10;3;SI(2016-N13>=5;4;SI(2016-N13<5;5;"NUL"))))))
Vu que je n'y parviens j'ai ajouté une colonne où j'ai fais les calculs et après j'ai donc dans ma colonne P4 directement l'ancienneté des zones
Je veux les classer dans cet ordre :
moins de 5 ans = 5
Entre 5 et 10 ans = 4
Entre 10 et 20 ans = 3
Entre 20 et 30 ans = 2
Entre 30 et 40 ans = 1
Plus de 40 ans = 0
case vide = Nul
J'utilises donc cette formules :
=SI(P4="";"NUL"; SI(P4<=5;5; SI(P4<=10;4; SI(P4<=20;3; SI(P4<=30;2; SI(P4<=40;1;0))))))
Mais ça ne fonctionne pas...
Je veux les noter selon leur ancienneté d'où le 2016-N...
=SI(2016-N13>40;0;SI(2016-N13>=30;1;SI(2016-N13>=20;2;SI(2016-N13>=10;3;SI(2016-N13>=5;4;SI(2016-N13<5;5;"NUL"))))))
Vu que je n'y parviens j'ai ajouté une colonne où j'ai fais les calculs et après j'ai donc dans ma colonne P4 directement l'ancienneté des zones
Je veux les classer dans cet ordre :
moins de 5 ans = 5
Entre 5 et 10 ans = 4
Entre 10 et 20 ans = 3
Entre 20 et 30 ans = 2
Entre 30 et 40 ans = 1
Plus de 40 ans = 0
case vide = Nul
J'utilises donc cette formules :
=SI(P4="";"NUL"; SI(P4<=5;5; SI(P4<=10;4; SI(P4<=20;3; SI(P4<=30;2; SI(P4<=40;1;0))))))
Mais ça ne fonctionne pas...
19 juil. 2016 à 16:16