formules avec SI (#valeur )

V

Victor

Guest
Bonjour le forum,

Je ne comprend pas pourquoi mon calcul avec les SI ne fonctionne pas ???
Et j'aimerais y ajouter un minimum de 50

Voir dossier joint.

Merci à vous toutes et tous. Victor
 

Pièces jointes

  • calculbourse.zip
    2.4 KB · Affichages: 16
  • calculbourse.zip
    2.4 KB · Affichages: 26
  • calculbourse.zip
    2.4 KB · Affichages: 31
M

Monique

Guest
Re,

Jocelyn oui, c'est ça, ou bien on a 50 si la formule SI() donne un résultat inférieur ou égal à 50
ou bien on a le résultat de la formule SI() s'il est > ou = 50

Victor, ça veut dire quoi, "place" ?
 
M

Monique

Guest
Re,

Je ne trouve pas l'erreur.
Dans le fichier, tu as 3 formules :
celle de Jocelyn,
la même raccourcie
et une 3ème qui fait référence à une table de correspondance.
Tu as aussi une barre de défilement pour faire des essais plus facilement.
 

Pièces jointes

  • SiVictor.zip
    3.6 KB · Affichages: 20
  • SiVictor.zip
    3.6 KB · Affichages: 21
  • SiVictor.zip
    3.6 KB · Affichages: 20
J

Jocelyn

Guest
re tout le monde

Dit moi Monique peu éclairer ma lanterne en Francais, cette fois je suis totalement perdu dans les INDEX et les EQUIV

=SI(B5=0;"";MAX(50;C5*INDEX(F6:F13;EQUIV(C5;E6:E13;1))+INDEX(G6:G13;EQUIV(C5;E6:E13;1))))

a quoi sert l'étoile apres C5
et je ne comprend pas pourquoi les plage ligne 6 a 13 (pour les colonne ca va ) vu que les donnés sont sur les ligne 11 a 14
Dans la fonction EQUIV que représente le 1 final

Merci
A+
Jocelyn
 
M

Monique

Guest
Re,

Je me suis plantée en copiant-collant.
Au dernier moment, j'ai déménagé la formule sans penser qu'elle n'avait pas les $
La vraie, c'est ça en D5 :
=SI(B5=0;"";MAX(50;C5*INDEX(F$11:F$14;EQUIV(C5;E$11:E$14;1))+INDEX(G$11:G$14;EQUIV(C5;E$11:E$14;1))))

Index Equiv c'est plus pratique que Recherchev, le critère n'a pas besoin d'être obligatoirement dans la 1ère colonne à gauche
On peut insérer ou supprimer des colonnes, pas besoin de compter le nb de colonnes comme dans recherchev.
Avec Recherchev, ça donne ça et c'est même plus court :
=SI(B5=0;"";MAX(50;C5*RECHERCHEV(C5;E$11:G$14;2;1)+RECHERCHEV(C5;E$11:G$14;3;1)))

=INDEX(F$11:F$14;EQUIV(C5;E$11:E$14;1))
renvoie la valeur contenue dans F11:F14, sur la même ligne que l'équivalent de C5 dans la plage E11:E14
L'argument 1 équivaut à VRAI (comme 0 équivaut à FAUX)
Dans la plage E11:E14, la formule prend une valeur proche et non exacte.
(E11:E14 doit être trié par ordre croissant)

C5 est donc multiplié par la valeur trouvée en F11:F14, puis on ajoute la valeur trouvée en G11:G14
 
J

Jocelyn

Guest
Re

merci Monique pour ces explications,

Je suis désolé de t'avoir ennuyée avec ça mais j'aime bien comprendre ce que je fait ou ce que je vois et la maintenant ça a le mérite d'etre clair du moins pour moi . lol :) !!!!!!!!!!!!


Encore merci
A+
Jocelyn
 
V

Victor

Guest
Salut Monique,

Toi qui est experte en formules, que penses-tu de ma formule
sur la ligne 6 ??
Elle a l'air de fonctionner ? ou y a-t-il une lacune ?

Victor
 

Pièces jointes

  • SiVictor.zip
    3.7 KB · Affichages: 21
  • SiVictor.zip
    3.7 KB · Affichages: 20
  • SiVictor.zip
    3.7 KB · Affichages: 22
M

Monique

Guest
Bonjour,

C'est bon, à mon avis, sauf la 1ère condition SI(B6=""; il faut mettre SI(B6=0;
En fin de compte, ça revient à écrire en D9 :
=SI(B9=0;"";SI(C9>100000;C9*0,22%+40;SI(C9>50000;C9*0,24%+20;SI(C9>25000;C9*0,26%+10;SI(C9>50/0,3%;C9*0,3%;50)))))

La formule Index est modifiée, il n'y a plus besoin du Max(), la valeur 50 est dans la table de correspondance.
Du coup, j'ai joué à faire un tableau par tranches.
 

Pièces jointes

  • SiVictorV2.zip
    4 KB · Affichages: 20

Discussions similaires

  • Question
Microsoft 365 formules si
Réponses
3
Affichages
216