OVH Cloud OVH Cloud

Une Valeur suivant un montant !

12 réponses
Avatar
phil.aline.naudin
Bonsoir,

J'ai tenté par l'utilisation d'une fonction "SI" d'afficher une valeur
suivant un montant.
Exemple :
Montant
<500 Valeur
0,5
>500<1000 1
>1000<2000 2
>2000<3000 3
>3000 4


J'ai comme formule :

SI(H6>3000;"4";SI(H6>=2000;3;SI(H6>=1000;2;SI(H6>=500;1;SI(H6<=500;0,5)))))

Le problème vient du fait que je voudrais remonter une valeur "0" pour le
Montant = à "0"

Avant tout existe t il une autre formule plus simple ?

Merci pour vos réponses

2 réponses

1 2
Avatar
ChrisV
Re,

... je vais me greffer un cerveau ...


Le mien a cramé sur la rédaction texte...
alors si on te propose une promo pour 2... ;-)


ChrisV


"phil.aline.naudin" a écrit dans le message
de news: 42af59c4$0$25033$
Bon Ben là faut avouer y a qu'un mot : RESPECT
D'accord le * je capte, mais pour le reste je vais me greffer un cerveau
et je reviens vers toi demain...

Encore merci
"ChrisV" a écrit dans le message de news:

Re,

=(H6>0)*SI(H6<500;0,5;MIN(4;FRANC(0,5+H6/1000;0)))


avant la condition Si tu donnes =(H6>0)* Que veut dire * ?


1)
c'est tout simplement l'opérateur arithmétique "multiplier"
pour d'avantage de lisibilité, notons:
A=(H6>0) et
B=SI(H6<500;0,5;MIN(4;FRANC(0,5+H6/1000;0)))
on peut donc écrire la formule initiale ainsi =A*B
(H6>0) ne peut renvoyer que deux valeurs possibles... vrai ou faux
VRAI étant interprété comme égal à 1, et
FAUX comme égal à 0
quelque soit le résultat de B, le résultat de la formule ne peut être
que:
=1*B ou =0*B...
Le premier cas nous renvoie directement à la partie 2 de ce post puisque
=1*B <=> =B
le second apporte le résultat définitif puisque si H6 est négatif ou égal
à zéro, on aura donc =0*B soit =0.


Dans la condition Si la zone après FRANC, je ne comprends pas ta
division


2)
Le cas "valeur 0" ayant été traité précédemment, l'intérêt est de trouver
ici un coefficient, unique s'il existe, qui pourrait "lier" valeurs et
montants...
Si les valeurs avaient été 0 - 1000 - 2000 - 3000 et les montants
correspondants 1 - 2 - 3 - 4, la formule finale (sans nécessiter de
conditions SI() successives) aurait pu être:
=MIN(4;1+ENT(H6/1000)) puisque nous avions une incrémentation de +1 sur
les montants, et de +1 également sur l'entier des (valeurs/1000).
Le "problème" vient donc ici du "montant 500" qui ne respecte pas cette
incrémentation de +1.
Cependant; en ajoutant 0.5 aux valeurs divisées par 1000, on obtient les
montants suivants 1 - 1.5 - 2.5 - 3.5. Il suffit donc maintenant
d'utiliser une fonction afin d'arrondir les valeurs obtenues, c'est le
rôle ici de la fonction FRANC(), et portera les valeurs à 1 - 2 - 3 - 4

Voili, voilou...
J'espère ne pas avoir été trop "du côté obscur"...


ChrisV
[tiens...? comme Vador !]


"phil.aline.naudin" a écrit dans le
message de news: 42adc3df$0$25039$
Salut,
Pour ta formule :
=(H6>0)*SI(H6<500;0,5;MIN(4;FRANC(0,5+H6/1000;0)))
les parties qui me bloquent sont :
avant la condition Si tu donnes =(H6>0)* Que veut dire * ?
Dans la condition Si la zone après FRANC, je ne comprends pas ta
division

et surtout tu arrives à un résultat mieux cadré que moi !

Merci


"ChrisV" a écrit dans le message de news:

Re,

Par contre tu pourrais m'expliquer ta formule car je sèche ...


Quelle partie exactement...?


ChrisV


"phil.aline.naudin" a écrit dans le
message de news: 42a9d888$0$1251$
Merci à Tous pour les réponses,
Ta formule fonctionne nettement mieux que la mienne.
ailleurs la mienne fonctionne mais je me demande comment !!!

Par contre tu pourrais m'expliquer ta formule car je sèche ...
merci et encore respect


"ChrisV" a écrit dans le message de news:

Salut Alain,

Au regard aux autres bornes, ça me paraissait logique...
Nous verrons ce qu'en dit le demandeur... s'il revient !


ChrisV

nb: tu es à Paris le 27 ?


"AV" a écrit dans le message de news:
%
Bel effort !
(Un doute sur l'inclusion ou non de la borne 3000)

AV




























Avatar
ChrisV
Salut JièL,

Je n'ai pas la plume ni le verbe de certains ici, et la rédaction de ce
genres de trucs me prends des plombes...
(donc en règle générale, si je peux me défiler sur les explications...)

JièL Parisien le 27


J' sais pas encore... ça change tout le temps, une fois on me dit "oui",
après c'est "plus possible", maintenant c'est "peut être"... Pfff...


ChrisV


"JièL Goubert" a écrit dans le
message de news:
Bonjoir(c) Chris Vador

Wouhaou... pour une fois que je lis autre chose que des HS, j'en tombe sur
le c...

Bravo pour l'explication, ça fait plaisir de lire quelques chose d'aussi
clair et bien décrit.

clap, clap, clap...

JièL Parisien le 27

Le 14/06/2005 01:43 vous avez écrit ceci :
Re,

=(H6>0)*SI(H6<500;0,5;MIN(4;FRANC(0,5+H6/1000;0)))



avant la condition Si tu donnes =(H6>0)* Que veut dire * ?



1)
c'est tout simplement l'opérateur arithmétique "multiplier"
pour d'avantage de lisibilité, notons:
A=(H6>0) et
B=SI(H6<500;0,5;MIN(4;FRANC(0,5+H6/1000;0)))
on peut donc écrire la formule initiale ainsi =A*B
(H6>0) ne peut renvoyer que deux valeurs possibles... vrai ou faux
VRAI étant interprété comme égal à 1, et
FAUX comme égal à 0
quelque soit le résultat de B, le résultat de la formule ne peut être
que:
=1*B ou =0*B...
Le premier cas nous renvoie directement à la partie 2 de ce post puisque
=1*B <=> =B
le second apporte le résultat définitif puisque si H6 est négatif ou égal
à zéro, on aura donc =0*B soit =0.



Dans la condition Si la zone après FRANC, je ne comprends pas ta division



2)
Le cas "valeur 0" ayant été traité précédemment, l'intérêt est de trouver
ici un coefficient, unique s'il existe, qui pourrait "lier" valeurs et
montants...
Si les valeurs avaient été 0 - 1000 - 2000 - 3000 et les montants
correspondants 1 - 2 - 3 - 4, la formule finale (sans nécessiter de
conditions SI() successives) aurait pu être:
=MIN(4;1+ENT(H6/1000)) puisque nous avions une incrémentation de +1 sur
les montants, et de +1 également sur l'entier des (valeurs/1000).
Le "problème" vient donc ici du "montant 500" qui ne respecte pas cette
incrémentation de +1.
Cependant; en ajoutant 0.5 aux valeurs divisées par 1000, on obtient les
montants suivants 1 - 1.5 - 2.5 - 3.5. Il suffit donc maintenant
d'utiliser une fonction afin d'arrondir les valeurs obtenues, c'est le
rôle ici de la fonction FRANC(), et portera les valeurs à 1 - 2 - 3 - 4

Voili, voilou...
J'espère ne pas avoir été trop "du côté obscur"...


ChrisV
[tiens...? comme Vador !]





1 2