Fonctions spéciales
Bonjour à tous,
J'ai constaté en parcourant le forum que des fonctions étaient "détournées" de leur objectifs initial. je m'explique :
Problème posé : renvoyer le chiffre de la col.d (9) qui correspond à la combinaison F3(AAA)-G3(CCC)
AAA BBB 5 AAA CCC 9
AAA CCC 9
AAA DDD 7
BBB CCC 2
BBB DDD 8
BBB EEE 4
Solution en H3 : =SOMMEPROD(($B$3:$B$8=F3)*($C$3:$C$8=G3)*$D$3:$D$8)
On constate ici que la fonction SOMMEPROD s'adresse à du texte et que ses arguments ne sont pas ceux définis à l'origine (plages de valeurs numériques).
Questions : est-ce une question de connaissances informatiques puis d'imagination et existe-t-il des livres qui traitent de ces fonctions de base transformées.
Merci pour vos tuyaux Bonjour,
Même si je n'ai pas entièrement compris ta question, voici la formule dont le calcul est effectué. Ce sont des calculs matriciels mais également du calcul booléen. Voici le résultat de la formule à 3 matrices décortiqué
=SOMMEPROD(($B$3:$B$8=F3)*($C$3:$C$8=G3)*$D$3:$D$8)=SOMMEPROD(({VRAI;VRAI;VRAI;FAUX;FAUX;FAUX})*({FAUX;VRAI;FAUX;VRAI;FAUX;FAUX})*{5;9;7;2;8;4})($B$3:$B$8="AAA") donne la matrice suivante :
{VRAI;VRAI;VRAI;FAUX;FAUX;FAUX}($C$3:$C$8="CCC") donne la matrice suivante :
{FAUX;VRAI;FAUX;VRAI;FAUX;FAUX}$D$3:$D$8 donne la matrice suivante :
{5;9;7;2;8;4}La multiplication de ces deux matrices donne à son tour la matrice suivante(c'est du calcul booléen, par exemple uniquement dans le cas VRAI * VRAI = VRAI ) :
{FAUX;VRAI;FAUX;FAUX;FAUX;FAUX}ou bien équivalent à:
{0;1;0;0;0;0}Cette matrice booléenne multipliée par la matrice
{5;9;7;2;8;4}donnera finalement la matrice
{0;9;0;0;0;0}Cette matrice sera additionnée est donnera le résultat 9.
Bonsoir Raja,
Je te remercie pour ton explication (que j'ai comprise dans le principe) mais en fait je ne voulais pas savoir forcément ce qui se passait.
En fait, ce que je me demande c'est comment vous faite pour utiliser des fonctions qui, au départ, ne sont pas conçues pour les utilisations que vous en faites mais qui, moyennant un paramétrage différent, le permettent.
Pour reprendre l'exemple de SOMMEPROD : quand on choisit cette fonction dans la liste d'Excel c'est pour additionner des plages de nombres multipliés entre eux ; la fenêtre d'Excel qui s'ouvre alors définit des arguments qui sont des plages de cellules et on aboutit à une formule du type SOMMEPROD(Plage1;Plage2;etc...).
Quand on regarde la formule que je donne dans l'exemple, ses arguments n'ont plus rien à voir : SOMMEPROD(Plage1=valeur1*Plage2=valeur2*plage3) où les valeurs sont du texte de surcroît.
Ma question est donc de savoir comment on "invente" un tel paramétrage ? et à défaut d'en avoir la capacité existe-t-il des ouvrages qui traitent de ces fonctions "élargies" ?
Merci encore
Re,
Il en existe des milliers d'ouvrages sur Excel. Personnellement, je suis passé par le net et par les forums pour approfondir mes connaissances sur Excel. Il suffit de faire une recherche sur SOMMEPROD, tu verras le résultat. Mais, dans la majorité des formules Excel, à partir du moment, dans un paramètre de la fonction, si une matrice(une plage)est acceptée, on pourra le tester de ce qu'elle contient pour avoir une matrice booléenne comme résultat. En effet, c'est le résultat d'une matrice testée qui est pris en compte comme une matrice ou une plage de ce paramètre. Bref, dans un paramètre d'une fonction(formule) tu peux utiliser le résultat d'une autre formule.