Compréhension formules imbriquées

Fermé
mdvbordeaux Messages postés 33 Date d'inscription vendredi 6 avril 2018 Statut Membre Dernière intervention 6 février 2024 - 30 août 2022 à 11:02
Raymond PENTIER Messages postés 58401 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 1 mai 2024 - 30 août 2022 à 15:36

Bonjour,

Je viens de reprendre un fichier excel et j'aimerai comprendre en "francais" ce qui est demandé au travers ces 3 formules:


=SI($I864="COMPANY NAME";SOUS.TOTAL(9;$BF864:$BQ864)*Referentials!$C$4*Referentials!$C$12;SI($I864="FLWQ";SOUS.TOTAL(9;$BF864:$BQ864)*Referentials!$C$5*Referentials!$C$12;SI($I864="Ext";SOUS.TOTAL(9;$BF864:$BQ864)*Referentials!$C$6*Referentials!$C$13;SI($I864="AVIC";SOUS.TOTAL(9;$BF864:$BQ864)*Referentials!$C$7*Referentials!$C$13;SI($I864="Blue Collar";SOUS.TOTAL(9;$BF864:$BQ864)*Referentials!$C$8*Referentials!$C$12;SI($I864="White Collar";SOUS.TOTAL(9;$BF864:$BQ864)*Referentials!$C$9*Referentials!$C$12;SI($I864="MTLS";SOUS.TOTAL(9;$BF864:$BQ864)*Referentials!$C$11*Referentials!$C$12;SI($I864="MTLS_2";SOUS.TOTAL(9;$BF864:$BQ864)*Referentials!$C$10*Referentials!$C$12;SI($I864="N/A";"";SOUS.TOTAL(9;$BF864:$BQ864))))))))))

=SOMMEPROD((Budget_Updated!$K$6:$K$1104=INDIRECT("'Dashboard'!D"&LIGNE()))*(INDIRECT("'Budget_Updated'!$"&GAUCHE(ADRESSE(1;COLONNE(INDIRECT(ADRESSE(3;13+EQUIV($E$1;Budget_Updated!$M$3:$CO$3;1);1)));4);NBCAR(ADRESSE(1;COLONNE(INDIRECT(ADRESSE(3;13+EQUIV($E$1;Budget_Updated!$M$3:$CO$3;1);1)));4))-1)&"6:$CO"&Referentials!$B$46))*Budget_Updated!$DO$6:$DO$1104)


=SOMMEPROD((Budget_3.1!$K$6:$K$934=INDIRECT("'Dashboard'!D"&LIGNE()))*(Budget_3.1!$M$6:$CO$934)*(Budget_3.1!$DO$6:$DO$934))

Vous remerciant par avance,

A voir également:

2 réponses

DjiDji59430 Messages postés 4037 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 26 avril 2024 646
30 août 2022 à 11:41

Bonjour à tous,

Pour la premiere :

Un sous.total sur une ligne, ça ne sert a rien

ta formule on fait le total de la plage $BF864:$BQ864 qui, en fonction du contenu de la cellule $I864, est multipliée par certains coefficients de la plage c4:c13

pour la deuxieme

On calcule la somme des cellules de la plage Budget_Updated!$DO$6:$DO$1104 qui repondent a la fois aux criteres definis dans une plage de la colonne Budget_Updated!D, et dans une plage de la colonne Budget_Updated'!C

pour la troisieme

On fait le produit des plages (Budget_3.1!$M$6:$CO$934)*(Budget_3.1!$DO$6:$DO$934))  si dans la plage Budget_3.1!$K$6:$K$934, il ya des cellules qui correspondent au critere qu'on va chercher dans la  colonne D de la feuille 'Dashboard'!

sans fichier, difficile d'expliquer mieux !


Crdlmt

0
Raymond PENTIER Messages postés 58401 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 1 mai 2024 17 097
30 août 2022 à 15:36

Bonjour.

Sans répondre directement à tes questions, je te signale que si, dans ta première formule qui est composée de 728 caractères, on remplaçait les 16 occurrences de "Referentials" par "Ref", juste en modifiant le nom de la feuille (dans l'onglet), on descendrait à 584 caractères ... 

Si de plus on remplaçait les 9 occurrences de $BF864:$BQ864 par "pl", en créant un nom défini, on passerait à 498 caractères !

Autre possibilité; on pourrait mettre en facteur SOUS.TOTAL(9;$BF864:$BQ864) afin d'obtenir la formule

=SOUS.TOTAL(9;$BF864:$BQ864)* SI($I864="COMPANY NAME";ref!$C$4*ref!$C$12;
SI($I864="FLWQ";ref!$C$5*ref!$C$12; SI($I864="Ext";ref!$C$6*ref!$C$13;
SI($I864="AVIC";ref!$C$7*ref!$C$13; SI($I864="Blue Collar";ref!$C$8*ref!$C$12;
SI($I864="White Collar";ref!$C$9*ref!$C$12; SI($I864="MTLS";ref!$C$11*ref!$C$12;
SI($I864="MTLS_2";ref!$C$10*ref!$C$12; SI($I864="N/A";"";1)))))))))

qui, du coup, nous amène à une formule bien plus lisible de 376 caractères seulement !


0