Formule si à plusieurs conditions

Olivier -  
 Olivier -
Bonjour,

Désolé, je sèche un peu sur la formule que je veux mettre en place.
J'ai constitué un état de remboursement à partir d'une base de donnée "énorme"...Cette base me calcule des frais kilométriques à rembourser et des frais de transports. Parfois, j'ai les deux données, parfois je n'ai que les frais kilométriques.

J'ai une case finale dudit calcul où j'ai tenté d'inclure la formule exprimée de la manière suivante :
"1° : si "total frais de transports"(G23) < "total frais kilométrique"(G18) alors on reporte (G23)
2° : mais si rien dans "frais de transports" ou > à "frais kilométrique" alors on reporte (G18)"
J'ai donc essayé :
=SI(ET(G23<G18;G23);G23="">G18;G18)
La réponse obtenue dans la case est VRAI...Si je supprime le ET et rajoute des parenthèses (SI((G23<G18;G23);(G23="">G18;G18)), la réponse est #valeur!

Pouvez-vous m'aiguiller ?

Je vous remercie d'avance pour l'aide et conseils.

A voir également:

6 réponses

chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
Bonjour,

=SI(OU(G23="";G23>G18);G18;G23) ne serait pas plus simple ?

Cordialement.
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour

Si j'ai compris
=SI(OU(G18="";G18>G23);G18;G23)

Edit, Z=excuses moi Chossette9, je n'avais pas rafraichi...

Michel
0
Olivier
 
Re-bonjour, et merci pour les réponses.

Effectivement, ta formule est plus simple que celle que j'ai vue. Par contre, le résultat est à demi correct. La distinction ne se fait pas . Le résultat final sélectionné est G23 : "Frais de transports" même si celle-ci est vide. Cela ne va pas chercher G18 "frais kilo"

Cordialement.
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
mais si rien dans "frais de transports" ou > à "frais kilométrique" alors on reporte (G18)"

Ah bon!
J'ai re-essayé ma proposition et ca marche !!!
=SI(OU(G18="";G18>G23);G18;G23)

A la fin, on de demande si ça vaut le coup d'essayer d'aider...
Michel
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Olivier
 
Bonjour,
Je reviens vers vous avec mon casse-tête !
Navré Michel_m de t'avoir déçu. L'aide et conseils que vous apportez tous est aimable, primordiale et nécessaire. J'avoue avoir été quelque peu déconcerté par ta phrase "A la fin, on de demande si ça vaut le coup d'essayer d'aider... "
J'ai demandé de l'aide, j'ai essayé les résultats; malheureusement, force est de constater qu'il me semblait y avoir toujours un souci, que le problème n'était pas résolu, et qu'il fallait le signaler.

Je vais tacher d'exposer brièvement le fichier sur lequel je travaille. Je le proposerais en pièce jointe pour que cela soit plus lisible si vous le souhaitez.

J'utilise une base de données (intitulée Base de données) où je rentre bcp d'informations (nom, prénom, rib, lieu de stage, frais kilo, frais de transports, etc...)
Cette base de donnée est située sur une feuille d'un fichier excel. Une fois les données saisies.Un numéro de fiche est saisie par état à produire. Je copie donc les données en faisant une sélection et la manip suivante: "données>Avancé>copier vers un autre emplacement pour ensuite obtenir les infos souhaitées dans un "Etat" dans une autre feuille excel (intitulée "Fiche individuelle Transports".

Pour cela, j'ai copié les lignes intitulées en divers endroits : ligne 205-206 et ligne 232
En 205-206 : c'est ma "zone de recherche. Par exemple, si je veux l'état 98 ou 99 ou autres.....
Et en ligne 232, c'est le résultat qui sera reportée dans l'état Fiche individuelle.

Dans celui-ci, se reporte donc tous les renseignements préalablement remplies.
Mon problème donc, dans la case Total rbnt frais de déplacement, je dois trouvé :
-"Frais kilo"
ou
-"Frais de transport" si j'ai des données ou si ceux-ci sont inférieurs au "frais kilo"
-Si j'ai pas de "frais de transport", j'ai automatiquement "frais kilo".

J'ai donc essayé les formules suivantes:
=SI(OU($G$24="";$G$24<$G$19);$G$24;$G$19)
=SI(OU($G$19="";$G$19<$G$24);$G$19;$G$24)
Le souci c'est qu'il me semble devoir inversé l'ordre entre (G24) et (G19) dans la formule selon si j'ai frais de transp+frais kilo ou seulement « frais kilo ».
En effet, par exemple, si je demande l'état 99 où je n'ai que des frais kilo, le résultat dans la cellule est vide. Si je demande l'état 98 où je me retrouve avec Frais kilo+Frais de transports, dans ce cas-là, la formule fonctionne.
Dans la formule proposée par Barlatshi, je me retrouve avec le même résultat.
Si j'utilise les deux formules citées ci-dessus ensemble, excel me répond qu'il y a trop d'arguments.
Qu'en est-il donc ? Ou alors la solution est-elle de démultiplier la case, de reporter les deux formules dans chacune et de devoir manuellement supprimer le/les mauvais résultats avant l'édition?!

Je vous remercie d'avance pour les conseils.

Cordialement.
0
Barlatshi Messages postés 65 Statut Membre 5
 
Salut,

je venais chercher une question mais vue que je voie ton poste...

1° tu veux que excel te dise que lorsque G18 est supérieur à G23 qu il aille à G23 mais s'il est plus peti qu'il aille à G18

2° tu veux dire que dans le cas particulier où G23 = 0 alors qu'il aille à G18 or tu lui a déjà dis que lorsque G23 est plus petit que G18 il prenne G18 donc sauf erreur de ma part le 2° n'est pas nécessaire car inclu implicitement dans le 1°

A moins que je me trompe essaie ça mais c'est sans garantie:

SI(G18>G23;G23;G18)

tiens nous au courant ;-)
-3