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. 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

    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é.