valeur entre a et b dans une formule

  • Initiateur de la discussion Initiateur de la discussion Chubby
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Chubby

XLDnaute Impliqué
Bonsoir,

Me revoila en face d'un petit problème qui ne devrait pas être trop compliqué. J'ai un tableau dans lequel je reprends les différents taux de taxation en fonction des montants imposés. Pour le fun il s'agit du Canada où on paye au Fédéral et à la Province (La belle province ou une plus moche!).
Enfin, je vous joins le tableau, j'y ai annoté mes questions.
Merci mille fois à vous tous,

Attention ne veillez pas trop tard quand même, ce ne serait pas raisonnable ;-)
Chube
 

Pièces jointes

Re : valeur entre a et b dans une formule

Bonsoir

Un début de simplification.

Seules les cellules en gras ont été modifiées, ou sont nouvelles. Je n'ai fait le travail que pour l'impôt fédéral. A toi de voir si cela te convient (ne pas oublier de vérifier les cas ou on est à la limite d'une tranche, c-à-d le cas = dans tes <=) et à adapter à l'impôt provincial. Je pense que la méthode est bonne...

@ plus
 

Pièces jointes

Re : valeur entre a et b dans une formule

Bonsoir Cisco, bonsoir à tous,

ben voila une méthode qu'elle est bonne. Je vais regarder ca à tête reposée demain et je reviens te dire ce que je ne capte pas.... ou très bien d'ailleurs.
En attendant merci de ton coup de main,
Bonne nuit
 
Re : valeur entre a et b dans une formule

Re,
Pour le moins très intéressante version pour ne pas dire très fine version pour résoudre mon pb.
J'épluche sérieusement ce petit condensé. Il y a d'ores et déjà ce (en gras) que je ne capte pas
=SOMMEPROD(INDIRECT("C20:C"&19+EQUIV(C6;B20:B23;0));INDIRECT("D20😀"&19+EQUIV(C6;B20:B23;0)))/100

Je te remercie de tes lumières,
 
Re : valeur entre a et b dans une formule

Bonjour

le C" est utilisé car la fonction INDIRECT travaille uniquement avec du texte, d'où les guillemets,
et le &19+EQUIV, à cause de la position de mon tableau intermédiaire, à partir de la ligne 20. Si la fonction EQUIV donne 1, cela donne un résultat de la ligne 20 (=19 + 1). Si la fonction EQUIV donne 2...

Bien sûr, il faudra modifier ce C et ce 19 si tu déplaces ce tableau intermédiaire.

@ plus
 
Re : valeur entre a et b dans une formule

Bonjour Cisco et les zotres,

Je te remercie de tes explications. J'ai étendu le tableau aux autres taux. Je dois dire que je l'ai fait bêtement en suivant ta formule et ça marche. En revanche de là à la reproduire dans un autre contexte....il y a un pas pour ma petite humanité.
Que veux tu dire lorsque tu dis, je te cite:

Si la fonction EQUIV donne 1, cela donne un résultat de la ligne 20 (=19 + 1). Si la fonction EQUIV donne 2...

Bravo pour ton astuce de min(x;y)

Crois tu, toi ou d'autres de passage, que l'application de index; equiv aurait pu être employées?

Mercvi encore à toutes ces lumières qui pavent mon petit sentier....
Bonne journée
 
Re : valeur entre a et b dans une formule

Bonjour

Considérons la valeur 80 000 en C6 et la formule
SOMMEPROD(INDIRECT("C20:C"&19+EQUIV(C6;B20:B23;0));INDIRECT("D20: D"&19+EQUIV(C6;B20:B23;0)))/100

EQUIV(C6;B20:B23;0) recherche la valeur 80 000 dans la plage B20:B23, la trouve en troisième position, donc renvoie 3.

Dans ce cas INDIRECT("C20:C"&19+EQUIV(C6;B20:B23;0)) est équivalent à INDIRECT("C20:C"&19+3), donc à INDIRECT("C20:C22"), ce qui est équivalent à la plage C20:C22.

Même raisonnement avec INDIRECT("D20: D"&19+EQUIV(C6;B20:B23;0)) qui donne successivement, toujours dans cet exemple
INDIRECT("D20: D"&19+3)
INDIRECT("D20: D22")
D20: D22

donc
SOMMEPROD(INDIRECT("C20:C"&19+EQUIV(C6;B20:B23;0));INDIRECT("D20: D"&19+EQUIV(C6;B20:B23;0)))/100
donne
SOMMEPROD(C20:C22;D20: D22) / 100

La formule initiale est "compliquée", uniquement parcequ'on ne sait pas si on doit faire la sommeprod jusque la ligne 20, ou 21, ou 22, ou 23.

Il y a certainement d'autres possibilités... sans tableau intermédiaire, mais la formule en C7 risque alors d'être plus longue...
@ plus
 
Re : valeur entre a et b dans une formule

Bonsoir

Au passage, à la place de la formule en sommeprod donnée ci-dessus, tu peux tout simplement faire avec...

=SOMMEPROD(C20:C23;D20: D23)/100

ou encore plus simplement

=(C20*D20+C21*D21+C22*D22+C23*D23)/100😛😛.

car à partir d'un moment, il ni a plus que des 0 dans la colonne C, dans le tableau intermédiaire, donc le produit Cx * Dx donne zéro dans les deux formules ci-dessus (par exemple C22 * D22 + C23 * D23 = 0).

Pourquoi faire simple quand on peut faire compliqué, n'est-ce pas...

En fait, la formule sommeprod(...) serait intéressante si tu avais un tableau intermédiaire comportant beaucoup de lignes, ce qui n'est pas le cas ici.

@ plus
 
Dernière édition:
Re : valeur entre a et b dans une formule

Bonsoir Cisco,

Superbe démonstration de la fonction équiv. Je commence à la visualiser un peu mieux effectivement.
Personnellement je préfère ta formule avec sommeprod et équiv. Elle est raffinée!
Merci encore de ton coup de pouce. Merci et bravo
Bonne soirée à toi
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour