Traduction d'une fonction SI en langage "fonction Excel"

Fermé
RomDR13 - Modifié par RomDR13 le 9/04/2014 à 13:57
 RomDR13 - 15 avril 2014 à 08:17
Bonjour,

Je dois taper une formule pour un tableau avec des conditions. Je parviens à l'écrire "en français" mais quelqu'un pourrait-il m'aider à la passer en langage "fonction". Voici le texte :

SI(la date de début contrat > date début de mois OU si la case de la date de fin de contrat < date fin de mois ;
ALORS[Calcul =>] Date fin de mois - date de fin contrat OU date fin de mois - date de début de mois ;
SINON appliquer la fonction INDEX(...) [que je vous épargnerai ici])

Peut-être faut-il combiner plusieurs fonctions SI mais je ne suis pas à l'aise avec cela...

Pouvez-vous m'aider ? Je reste à votre disposition pour plus d'informations.

Merci
Romain



A voir également:

4 réponses

via55 Messages postés 14502 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 9 décembre 2024 2 736
9 avril 2014 à 18:13
Bonjour

Pour imbriquer tes fonctions SI :

SI(1ere condition;calcul à faire si condition vraie;SI(2eme condition;calcul à faire si condition vraie;autre calcul avec INDEX))

SI 1ere condition verifiée fait le 1er calcul sinon vérifie 2eme condition et fait le 2eme calcul si vrai ou le 3eme calcul si faux

Cdlmnt

0
Raymond PENTIER Messages postés 58761 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 17 décembre 2024 17 254
Modifié par Raymond PENTIER le 10/04/2014 à 01:23
Bonjour Romain.

Vérifie encore une fois tes conditions ; elles ne me semblent pas correctes :
Tu dis "Si DDC>DDM ou si DFC<DFM, alors on affiche DFM-DFC ou bien DFM-DDM, sinon on affiche Index..."
Cela n'existe pas dans les tableurs : il faut se décider pour un résultat précis.
Donc tu as le choix d'affichage entre DFM-DFC et DFM-DDM ; il faut choisir !


C'est bien, la retraite ! Surtout aux Antilles ... :-)
☻ Raymond ♂
0
Raymond PENTIER Messages postés 58761 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 17 décembre 2024 17 254
10 avril 2014 à 01:28
... à moins que ta problématique soit différente :
"Si DDC>DDM on affiche DFM-DFC ; si DFC<DFM on affiche DFM-DDM ; si aucune de ces conditions n'est vérifiée alors on fait le calcul INDEX... "
Mais telle qu'elle est rédigée, ta question n'est pas exploitable !
0
Salut à vous 2 et merci beaucoup pour vos réponses.
Je vais en effet préciser un peu Raymond : on fait DFM-DFC si la case de DFC est remplie. Sinon on fait DFM-DDM si DDC>DDM.

En espérant avoir été clair, sinon je reste évidemment à votre disposition.

Encore merci.

Romain
0
Voici ce que j'ai essayé mais ça ne fonctionne pas :

SI(DDC>DDM;DFM-DDM;SI(DFC<DFM;DFM-DFC);(INDEX[...]))
0
via55 Messages postés 14502 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 9 décembre 2024 2 736
10 avril 2014 à 12:40
Il y a des parenthèses en trop après la 2eme condition et avant index :
SI(DDC>DDM;DFM-DDM;SI(DFC<DFM;DFM-DFC;INDEX[...]))

Cdlmnt
0
Merci via, je viens d'essayer mais le problème, c'est que lorsque je mets une date de début de contrat antérieure à la date de début du mois en cours, ou même s'il n'y a aucune information, la formule "INDEX" ne fonctionne pas et les données à récupérer n'apparaissent plus. A la place, j'ai un "41305" dans toutes les cellules (sauf celles pour lesquelles la date de début de contrat est bien postérieure à la date de début du mois concerné, là la soustraction se fait bien)
0
via55 Messages postés 14502 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 9 décembre 2024 2 736
10 avril 2014 à 15:16
Cela ne vient pas du début de la formule mais de la fonction Index ou de cas que tu n'as pas prévu au départ
Sans ton fichier difficile d'en dire plus!

Je te rappelle les seules conditions que tu exposais au départ :
SI(la date de début contrat > date début de mois OU si la case de la date de fin de contrat < date fin de mois ;
ALORS[Calcul =>] Date fin de mois - date de fin contrat OU date fin de mois - date de début de mois ;
SINON appliquer la fonction INDEX(...)

qui supposait que la fonction INDEX s'appliquait dans tous les cas SAUF si DDC>DDM ou si DFC<DFM; il n'était pas question d'autres conditions ni de cellules vides

Il faut sans doute compliquer la formule en intégrant TOUS les cas de figure y compris le cas des vides en enchainant plusieurs SI au début

Post un exemple allégé et anonymé de ton fichier sur cjoint.com et indiques ensuite ici le lien fourni en donnant des exemples précis de tous les cas que tu peux avoir et des résultats souhaités, on y verra plus clair !

Cdlmnt
0
Ca va, je vous envoie ça très rapidement (d'ici quelques minutesà. Merci !
0