Un champ calculé renvoie un total général incorrect dans Excel

S’applique à
Office Products Excel 2010 Excel 2013 Excel 2016 Excel for Microsoft 365 Excel 2019

Symptômes

Dans un tableau croisé dynamique, Microsoft Excel peut calculer un total général incorrect pour un champ calculé.

Cause

Ce problème se produit lorsque vous utilisez un champ calculé (un champ basé sur d’autres champs) dans un tableau croisé dynamique et que le champ calculé est défini par une opération arithmétique d’ordre supérieur, telle que l’exponentiation, la multiplication ou la division sur d’autres champs du tableau croisé dynamique. Par exemple, ce problème se produit lorsque vous utilisez un champ calculé intitulé Revenus qui renvoie le multiple des champs Unités * Prix. Les éléments individuels du champ calculé renvoient les résultats attendus. Toutefois, le total général ne retourne pas le résultat attendu pour le champ calculé.

État

Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».

Informations supplémentaires

Lorsqu’un champ calculé inclut plusieurs champs dans la plage de données, Excel calcule le total général pour la somme de chaque champ de composant, puis effectue l’opération arithmétique.

Par exemple, l’exemple de tableau croisé dynamique suivant contient un champ calculé nommé Revenu. Ce champ est défini comme Prix * Unités.
   A1 : Somme du chiffre d’affaires B1 : C1 : D1 :
   A2 : Produit B2 : Unités C2 : Prix D2 : Total
   A3 : Alpha B3 : 1 C3 : 10 D3 : 10
   A4 : B4 : 1 Total C4 : D4 : 10
   A5 : Total alpha B5 : C5 : D5 : 10
   A6 : Bravo B6 : 2 C6 : 11 D6 : 22
   A7 : B7 : 2 Total C7 : D7 : 22
   A8 : Bravo Total B8 : C8 : D8 : 22
   A9 : Charlie B9 : 3 C9 : 12 D9 : 36
   A10 : B10 : 3 Total C10 : D10 : 36
   A11 : Charlie Total B11 : C11 : D11 : 36
   A12 : Total général B12 : C12 : D12 : 198
  Le grand total de 198 n’est pas égal aux sous-totaux de 10+22+36, soit 68.

Excel calcule les totaux généraux pour le champ calculé
 Les revenus de l’une des deux manières suivantes, comme suit.

   SUM(Units)*SUM(Price)

   SUM(1+2+3)*SUM(10+11+12)

C’est 6*33=198.