Aide compréhension d'une formule excel

Bonjour,

Je cherche une personne qui pourrait m'aider à comprendre une formule excel.

Merci à ceux qui pourront m'éclairer :

=SIERREUR(((SI(D45="";"";INDEX('ZZZ COUT MACHINE ET PERSONNEL'!A:K;EQUIV(D45;'ZZZ COUT MACHINE ET PERSONNEL'!A:A;0);10))))*((SI(D45="";"";INDEX('ZZZ COUT MACHINE ET PERSONNEL'!A:K;EQUIV(D45;'ZZZ COUT MACHINE ET PERSONNEL'!A:A;0);11)))*'ZZZ COUT MACHINE ET PERSONNEL'!$N$22)+(((SI(D45="";"";INDEX('ZZZ COUT MACHINE ET PERSONNEL'!A:K;EQUIV(D45;'ZZZ COUT MACHINE ET PERSONNEL'!A:A;0);10))))*(SI(D45="";"";INDEX('ZZZ COUT MACHINE ET PERSONNEL'!A:K;EQUIV(D45;'ZZZ COUT MACHINE ET PERSONNEL'!A:A;0);9)))*'ZZZ COUT MACHINE ET PERSONNEL'!$N$23);"")

Cordialement,

Simon Muller


Windows / Chrome 109.0.0.0

2 réponses

  1. Contributeur

    Bonjour Simon.

    C'est vrai que rien qu'à regarder cette formule de 539 caractères, on est rebuté et on ne voit pas comment l'analyser.

    La première chose à faire consiste, comme cela est toujours vivement recommandé, à réduire drastiquement le nom des feuilles ! Ainsi il faut renommer "ZZZ COUT MACHINE ET PERSONNEL" (qui apparaît 10 fois) en "CMP" ; du coup ta formule devient :

    =SIERREUR(((SI(D45="";"";INDEX('CMP'!A:K;EQUIV(D45;'CMP'!A:A;0);10))))*SI(D45="";"";INDEX('CMP'!A:K;
    EQUIV(D45;'CMP'!A:A;0);11)))*'CMP'!$N$22) + (((SI(D45="";"";INDEX('CMP'!A:K;EQUIV(D45;'CMP'!A:A;0);10)))) *SI(D45="";""; INDEX('CMP'!A:K;EQUIV(D45;'CMP'!A:A;0);9)))*'CMP'!$N$23);"") 

    avec seulement 279 caractères. 

    Si tu veux aller un peu plus loin, tu définis une formule nommée, à l'aide de l'outil
    FORMULES/Noms définis/Nouveau nom, en saisissant comme nom EQ et dans la fenêtre [ Fait référence à ] l'expression ="CMP!A:K;EQUIV(D45;CMP!A:A;0)"

    Puis tu utilises Ctrl+H pour remplacer  
    CMP!A:K;EQUIV(D47;CMP!A:A;0)
    par EQ
    et tu obtiens la formule finale :

    =SIERREUR(((SI(D47="";"";INDEX(EQ;10))))*((SI(D47="";"";INDEX(EQ;11)))*CMP!$N$22)+(((SI(D47="";"";INDEX(EQ;10))))*(SI(D47="";"";INDEX(EQ;9)))*CMP!$N$23);"")

    avec 155 caractères. 

    Il devient alors beaucoup plus facile de distinguer la structure de la formule et d'en analyser le fonctionnement, tel que mon ami DjiDji te l'a indiqué.


    1
    1. Bonjour à tous

      On va chercher dans le tableau A:K la valeur situee a la ligne donnée par EQUIV(D45;'ZZZ COUT MACHINE ET PERSONNEL'!A:A;0) et a la 10 éme colonne (colonne J)  mutiplié par la valeur de la cellule adjacente multiplié par N22

      +

      On va chercher dans le tableau A:K la valeur situee a la ligne donnée par EQUIV(D45;'ZZZ COUT MACHINE ET PERSONNEL'!A:A;0) et a la 10 éme colonne (colonne J) mutiplié par la valeur de la cellule predente multiplié par N23


      Crdlmt

      0