|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 2 ![]() |
bonjour à toutes et à tous
j'ai souvent trouvé les reponses à mes problemes dans le forum avec les fonctions de recherche, mais là je seche... donc je me resoud à vous soumettre mon probleme pour faire simple, j'utilise une application qui interroge un cube SSAS et renvoie des plages de données dans Excel. Ces données renvoyées sont variables selon ce que l'utilisateur a demandé : ainsi dans l'exemple joint, l'utilisateur va pouvoir selectionner un pays, interroger le cube, et en retour il y aura plus ou moins de sites selon le pays choisi (sites en colonne B) La longueur des 3 pavés (lignes 2:106 / 108:212 / 214:216) est donc variables en fonction du nombre de sites (3 dans l'exemple) et dynamique, c'est a dire que les formules qui s'appliquent sur un pavé entier changent automatiquement en fonction de la longueur du pavé -> je dois donc gérer des formules par pavé entier le systeme que j'utilise repete automatiquement les formules trouvées sur la 1ere ligne d'un pavé, il me faut donc mettre au point une formule sur la ligne 214 pour qu'elle se repete sur les lignes 215 et 216. la formule à fabriquer dynamiquement est dans les cellules G214 à G216, j'ai reussi à rendre dynamique la partie SOMME en utilisant SOMME.SI pour rechercher les lignes qui correspondent au site traité sur la ligne, par contre je seche completement pour le SOMMEPROD car il faut definir une plage de données dynamiquement pour que la moyenne pondérée s'applique uniquement sur les données du site comme fait sur les lignes G214 à G216, et non pas sur les données du pavé entier ce qui va se passer si je mets SOMMEPROD(G2:G106;G108:G212) dans la formule. et pourtant pour que mon etat reste dynamique en fonction du nombre de sites, je ne dois faire apparaitre que les plages G2:G106 et G108:G212 dans la formule ... voilà si vous avez des idées pour resoudre mon probleme, je suis preneur merci d'avance |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 2 ![]() |
bon j'ai trouvé apres qques jours de recherche sur le net...
Code :
=SI(SOMME.SI($B108:$B212;$B214;G108:G212) <> 0; SOMMEPROD(($B2:$B106=$B214)*G2:G106;($B108:$B212=$B214)*G108:G212) / -SOMME.SI($B108:$B212;$B214;G108:G212);"") la division par la somme des lignes G108/G212 qui remplissent la condition = B214 permet simplement d'avoir une moyenne pondérée. j'ai pas eu de reponse mais merci quand meme à ceux qui se sont penchés sur mon probleme |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com