✅ Formule excel la plus adaptée à des conditions diverses


#1

Bonjour,
Je souhaiterai trouver la formule pour la case jaune qui chercherait dans des tranches inscrites de 1 à 8 dans les colonnes “DE” et “A” dans le tableau ci contre le montant de salaire Brut inscrit plus haut en bleu à côté de SBRUT, quand il trouve la bonne ligne, il doit alors voir dans la case à côté de NB PIECES (1 pour notre cas de figure) si le résultat est 1, il doit donner le montant de la colonne 1 PIECE de la ligne concernée par le salaire brut indiqué, sinon il doit prendre la colonne “par pièce principale si + pièces” et la multiplier par le nb inscrit dans la cellule à côté de NB PIECES;
En fait selon la tranche dans laquelle se trouve le salaire brut du salarié, et selon le nombre de pièces qu’on lui a mis à disposition comme appartement, il payera soit une pièce un montant fixé soit pour plusieurs pièces un autre montant multiplié par le nb de pièces. ça calculera son avantage en nature.

Peut on faire ça en une seule formule ou en plusieurs et lesquelles ? si et ou si.conditions ? Recherchev ne va pas trouver le montant brut de 50 dans des plages de 1 à 100 je présume !
Merci pour votre aide.


#2

Bonsoir @fronie34,

Sur le forum nous traitons des problèmes et solutions pour des fichiers Excel, quel dommage que tu nous envoies une belle image qui mériterait un traitement par Photoshop :wink:

Toutefois et même sans fichier, je te propose cette formule en “B12”:

=SI($H$2=1;SOMMEPROD(($G$7:$G$14<=$H$3)*($H$7:$H$14>=$H$3)*$J$7:$J$14);SOMMEPROD(($G$7:$G$14<=$H$3)*($H$7:$H$14>=$H$3)*$K$7:$K$14)*$H$2)

Cela convient-il ?
Si non, alors fournir le fichier Excel pour pouvoir travailler sur une bonne base.

Cordialement.


#3

Re @fronie34,

Petite modif de la formule pour tenir compte si SBRUT > à 4903,50.

=SI(ET($H$3>$G$14;$H$2=1);$J$14;SI(ET($H$3>$G$14;$H$2>1);$K$14*$H$2;SI($H$2=1;SOMMEPROD(($G$7:$G$14<=$H$3)*($H$7:$H$14>=$H$3)*$J$7:$J$14);SOMMEPROD(($G$7:$G$14<=$H$3)*($H$7:$H$14>=$H$3)*$K$7:$K$14)*$H$2)))

Cordialement.


#4

Bonjour
Un fichier ne serait pas de refus stp…

Si, en précisant le paramètre 1 comme 3e argument dans ta RechercheV

A condition que ta colonne de recherche soit triée, RechercheV renvoie la dernière ligne inférieure à la valeur cherchée, ce qui correspond au début de la tranche.

Dans ton cas, tu peux probablement trouver la bonne ligne avec RechercheV, puis trouver la bonne colonne avec une fonction SI(H2=1; 3;4 )
3 pour la colonne I
4 pour la colonne J

J’espère que cela répond à ta question, sinon merci de préciser!


#5

Bonjour
Je vous fait passer le fichier, quand je modifie la valeur du nombre de pièces ça me fait une erreur.
Il faudra m’expliquer si vous pouvez la “sommeprod” comment ça fonctionne !
MerciLOGEMENT.xlsx (10,4 Ko)
Désolée je ne suis pas habituée encore à ce forum et je n’avais plus trouvé le chargement de fichiers, chaque fois j’allais sur les liens lol


#6

Bonjour @fronie34,

Voila tout l’intérêt de joindre un fichier, j’ai travaillé sur une image et donc je me suis trompé de colonne pour faire la formule :wink:

Voici la formule corrigée en “B12”:

=SI(ET($H$3>$G$14;$H$2=1);$J$14;SI(ET($H$3>$G$14;$H$2>1);$J$14*$H$2;SI($H$2=1;SOMMEPROD(($G$7:$G$14<=$H$3)*($H$7:$H$14>=$H$3)*$I$7:$I$14);SOMMEPROD(($G$7:$G$14<=$H$3)($H$7:$H$14>=$H$3)$J$7:$J$14)*$H$2)))

Et voici le fichier ICI==> LOGEMENT V1.xlsx (12,0 Ko)

Et un lien vidéo pour quelques explications sur la fonction matricielle SOMMEPROD.

Cordialement.


#7

Bonjour,
J’arrive à faire recherchev sur mon tableau mais pas quand je prends le tableau complet il me marque la mauvaise colonne. Par contre je ne sais pas comment je dois procéder ensuite avec le si. J’ai placé la réponse sur K6 et donc il me donne le n° de ligne qui est en accord avec ma recherche de SBRUT mais après comment lui dire de prendre cette ligne de la colonne I si H2 est égal à 1 ou la colonne H3 qu’il faut multiplier par H2 s’il est supérieur à 1 ?


#8

Re @fronie34,

Il y a encore une petite erreur dans la formule que je corrige avec celle-ci:

=SI(ET($H$3>$G$14;$H$2=1);$I$14;SI(ET($H$3>$G$14;$H$2>1);$J$14*$H$2;SI($H$2=1;SOMMEPROD(($G$7:$G$14<=$H$3)*($H$7:$H$14>=$H$3)*$I$7:$I$14);SOMMEPROD(($G$7:$G$14<=$H$3)*($H$7:$H$14>=$H$3)*$J$7:$J$14)*$H$2)))

Avec le fichier corrigé ==> LOGEMENT V2.xlsx (12,0 Ko)

Cordialement.


#9

Re

Oui je l’avais remarqué et même qu’il me manquait des * et des ( mais maintenant ça marche surper bien ! C’est génial, faut que je regarde la vidéo en entier et que je comprenne bien sommeprod !
Merci beaucoup, ça m’aide à apprendre des formules car je n’en connais pas beaucoup et c’est une sacré gymnastique de l’esprit lol


#10

Re
Alors je voudrais savoir si la première partie de la formule “=SI(ET($H$3>$G$14;$H$2=1);$I$14;SI(ET($H$3>$G$14;$H$2>1);$J$14*$H$2” provient du fait qu’il n’y a pas de nombre dans la dernière case H14 ou est ce pour une autre raison ? car j’ai l’impression qu’avec les sommeprod vous reprenez la ligne 14 du début !

en fait le * dans la formule sommeprod ne multiplie pas vraiment ! On pourrait s’exprimer comment pour dire ce que vous avez fait comme calcul ? si h3 sbrut est supérieur à g14 et h2 nb pièces = 1 alors mettre i14; si h3 sbrut est supéreiur à g14 et h2 nb pièces supérieur à 1 alors j14 x h2 ; si h2 = 1 trouver de la plage g7 à la plage g14 celle dont le sbrut h3 est supérieur ou égale à une plage et dans la plage h7 à h14 celle dont le sbrut h3 est inférieur ou égale à une plage, et si oui écrire le résultat de la colonne I 7 à I14 ; sinon de la plage g7 à g14 avec un sbrut h3 supérieur et de la plage h7 à h14 avec un sbrut h3 inférieur ou égal, on affiche la colonne de j7 à j14 qu’on multiplie à la cellule nb de pièces H2 ? C’est ça ? Mais pourquoi le début de la formule ? Et comment traduire les *, car pour moi multiplier veut dire multiplier une colonne par une autre et ça le fait pas dans notre tableau !!! enfin je ne pense pas !


#11

Re @fronie34,

Pour le début de la question, oui c’est ça, comme il n’y a pas de valeur en “H14” la fonction SOMMEPROD indique une erreur dans le calcule de la formule.

Pour le reste de la question, c’est ça aussi, la fonction SOMMEPROD permet d’effectuer horizontalement le produit de plusieurs valeurs situées dans des colonnes différentes et d’en additionner les résultats.

Pour moi personnellement, c’est la fonction que j’utilise le plus, mais tu trouveras d’autres vidéos et/ou de liens sur internet en tapant dans Google “fonction sommeprod”

Définition

Multiplie les valeurs correspondantes des matrices spécifiées et calcule la somme de ces produits.

Les matrices spécifiées comme arguments doivent avoir la même dimension. Si tel n’est pas le cas, SOMMEPROD renvoie la valeur d’erreur #VALEUR!. SOMMEPROD affecte aux entrées de matrice non numériques la valeur zéro.

Bonne soirée.
Cdlt.


#12

Merci bien pour ces explications;
Bonne journée à vous
Cdlt