J'ai un tableau simple avec une quantité et un intervalle en seconde par date et par nom de produit.
Month | Product | Amount | Interval in sec
------------------------------------------
05-'12| Prod A | 10 | 5
05-'12| Prod A | 3 | 5
05-'12| Prod B | 4 | 5
05-'12| Prod C | 13 | 5
05-'12| Prod C | 5 | 5
De ce tableau, j'ai dérivé un tableau croisé dynamique avec SOMME (montant), MOYENNE (intervalle en secondes) par mois et par produit.
Month | Product | SUM of Amount | AVG of Interval in sec
--------------------------------------------------------
05-'12| Prod A | 13 | 5
05-'12| Prod B | 4 | 5
05-'12| Prod C | 18 | 5
Jusqu'ici tout va bien. Maintenant, je veux ajouter une colonne supplémentaire à mon tableau croisé dynamique avec me donne le résultat de la somme du montant/AVG de l'intervalle en sec.
Ajouter une valeur calculée =SUM(Amount)/AVERAGE(Interval)
ne me donne pas les bonnes valeurs. Excel me donne:
Month | Product | SUM of Amount | AVG of Interval in sec | Amount per sec
-------------------------------------------------------------------------
05-'12| Prod A | 13 | 5 | 1.3
05-'12| Prod B | 4 | 5 | 0.8
05-'12| Prod C | 18 | 5 | 1.8
Ce qu'il fait réellement est = SOMME (montant)/SOMME (intervalle en secondes) pour chaque mois et produit en fonction des valeurs du premier tableau. Mais je cherche:
Month | Product | SUM of Amount | AVG of Interval in sec | Amount per sec
-------------------------------------------------------------------------
05-'12| Prod A | 13 | 5 | 2.6
05-'12| Prod B | 4 | 5 | 0.8
05-'12| Prod C | 18 | 5 | 3.6
Divisez donc littéralement le champ de pivot 'Somme de quantité' par le champ de pivot 'AVG d'intervalle en secondes'.
Comment y parvenir?
Vous devez vous référer aux données du tableau croisé dynamique de votre formule, par exemple:
=GETPIVOTDATA("Sum of Amount",$A$3,"Product","A")/GETPIVOTDATA("Average of Interval",$A$3,"Product","A")
Edit: Depuis votre feuille de calcul: pour ajouter la colonne souhaitée au tableau croisé dynamique A:
K5=GETPIVOTDATA("Sum of Amount",$H$2,"Month",DATE(2012,5,1),"Product","Prod A")/GETPIVOTDATA("Average of Interval",$H$2,"Month",DATE(2012,5,1),"Product","Prod A")
K6=GETPIVOTDATA("Sum of Amount",$H$2,"Month",DATE(2012,5,1),"Product","Prod B")/GETPIVOTDATA("Average of Interval",$H$2,"Month",DATE(2012,5,1),"Product","Prod B")
K7=GETPIVOTDATA("Sum of Amount",$H$2,"Month",DATE(2012,5,1),"Product","Prod C")/GETPIVOTDATA("Average of Interval",$H$2,"Month",DATE(2012,5,1),"Product","Prod C")
Vous pouvez également produire la colonne en ajoutant une colonne supplémentaire au tableau de données d'origine de: Amount/Sec pour chaque entrée individuelle, puis lorsque vous faites pivoter toutes les données, le produit de cette colonne sera le résultat souhaité.
Edit (2):
Les formules ci-dessus sont des formules de cellules et non des formules de tableaux croisés dynamiques qui ne peuvent pas utiliser de références. Je suis à la recherche d'une formule de calcul de tableau croisé dynamique, mais pour le moment, la colonne ci-dessus, située à côté de votre tableau croisé dynamique, devrait fournir ce dont vous avez besoin.
créer un champ dans la source (compteur) et mettre "1" dans chaque ligne. mettez-le également dans le pivot et divisez la somme des secondes avec ce champ - alors ce sera une moyenne. diviser le champ d'origine avec cette moyenne de sorte que votre division finale-finale sera le montant par somme de secondes par compteur et que cela fera l'affaire :)