A voir également:
- Difficultés avec la fonction SI
- Fonction si et - Guide
- Fonction si avec date ✓ - Forum Excel
- Ajout snap par la fonction - Forum Snapchat
- Fonction find vba - Astuces et Solutions
- Excel remplir une cellule en fonction d'une autre ✓ - Forum Excel
3 réponses
michel_m
Messages postés
16593
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
7 mars 2023
3 291
12 sept. 2014 à 08:07
12 sept. 2014 à 08:07
Bonjour
peut-être sans vba
= (G9>0)*(12-ENT(G9/9,09))
G9<+0 renvoie 0 et G9>0 renvoie 1; équivalent d'un ET
peut-être sans vba
= (G9>0)*(12-ENT(G9/9,09))
G9<+0 renvoie 0 et G9>0 renvoie 1; équivalent d'un ET
Bonjour
Tu n'es pas obligé d'imbriquer tes 11 SI.
Tu peux faire tes comparaisons par dichotomie : un premier SI sépare les valeurs au niveau du 54,54. Dans la première moitié, un SI va séparer au niveau du 27,27 , alors que dans la seconde moitié, tu vas couper au niveau du 72,72 et ainsi de suite jusqu'à ce que tu aies découpé toutes les tranches. Ce qui donne la jolie formule :
Mais si tes catégories sont régulièrement espacées, ce qui est le cas ici, il est évident que la méthode de michel_m est bien meilleure
Tu n'es pas obligé d'imbriquer tes 11 SI.
Tu peux faire tes comparaisons par dichotomie : un premier SI sépare les valeurs au niveau du 54,54. Dans la première moitié, un SI va séparer au niveau du 27,27 , alors que dans la seconde moitié, tu vas couper au niveau du 72,72 et ainsi de suite jusqu'à ce que tu aies découpé toutes les tranches. Ce qui donne la jolie formule :
=SI(A7<54,54;SI(A7<27,27;SI(A7<18,18;SI(A7<9,09;11;10);9);SI(A7<36,36;8;SI(A7<45,45;7;6)));SI(A7<72,72;SI(A7<63,63;5;4);SI(A7<90,9;SI(A7<81,81;3;2);1)))Avec 7 niveaux d'imbrication, tu dois pourvoir distinguer 128 catégories comme ça.
Mais si tes catégories sont régulièrement espacées, ce qui est le cas ici, il est évident que la méthode de michel_m est bien meilleure
michel_m
Messages postés
16593
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
7 mars 2023
3 291
12 sept. 2014 à 12:15
12 sept. 2014 à 12:15
Et si les catégories ne sont pas espacées régulièrement il y a la formule toute simple EQUIV...
=si( G9;12-EQUIV(G9;0,9,19,34,56....etc;0);"")
=si( G9;12-EQUIV(G9;0,9,19,34,56....etc;0);"")
Sûrement beaucoup plus simple et efficace ! Je ne connaissais pas cette fonction.
Après essais et vérif, petit problème de syntaxe : j'ai l'impression qu'on ne peut pas écrire le tableau de valeurs directement 0,9,19,34,56... mais qu'il faut préciser une étendue (genre B5:B15) qui contient ce tableau. Ce qui n'enlève rien à l'intérêt de cette fonction.
Après essais et vérif, petit problème de syntaxe : j'ai l'impression qu'on ne peut pas écrire le tableau de valeurs directement 0,9,19,34,56... mais qu'il faut préciser une étendue (genre B5:B15) qui contient ce tableau. Ce qui n'enlève rien à l'intérêt de cette fonction.
michel_m
Messages postés
16593
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
7 mars 2023
3 291
Modifié par michel_m le 12/09/2014 à 17:05
Modifié par michel_m le 12/09/2014 à 17:05
Exact, merci ;o)
on peut écrire aussi sous une forme matricielle mais en cas de modif, la forme B5:B15 est + facile à manier
on peut écrire aussi sous une forme matricielle mais en cas de modif, la forme B5:B15 est + facile à manier
SI(G9>0;EQUIV(G9;{0,9,19,34,56};0);"")
michel_m
Messages postés
16593
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
7 mars 2023
3 291
12 sept. 2014 à 18:20
12 sept. 2014 à 18:20
hé oui! la fatigue du vendredi....
michel_m
Messages postés
16593
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
7 mars 2023
3 291
16 sept. 2014 à 09:38
16 sept. 2014 à 09:38
Pour aisbert
MERCI
de rien...
MERCI
de rien...