2017-03-18 1 views
1

Question Google Sheets.Comment des lignes SUM filtrées selon plusieurs critères

J'ai la feuille suivante (nommée "x") contenant les dépenses:

Date  Sum Category 
1/Jan/2017 100 red 
2/Jan/2017 200 blue 
3/Jan/2017 10 red 
4/Jan/2017 20 blue 
1/Feb/17 1 red 
2/Feb/17 2 blue 

je dois calculer les totaux mensuels, par catégorie:

Month Red Blue 
Jan/17 110 220 
Feb/17 1 2 

Ma solution actuelle est de placer dans chaque cellule de résultat quelque chose comme:

=SUM(IFERROR(FILTER(x!$B:$B, MONTH(x!$A:$A)=MONTH($A2), x!$C:$C="red"))) 

Je demande s'il y a une meilleure façon. Je veux avoir une seule formule de résultat fonctionnant sur un tableau (peut-être une ArrayFormula?!) Au lieu de placer et de personnaliser ma formule dans chaque cellule.

Toutes les idées ?! Merci!

Répondre

0

Eh bien, c'est l'idée de base de l'utilisation des tableaux croisés dynamiques, mais pas tout à fait parce que je ne peux obtenir le mois en nombre jusqu'à présent

query(A:C,"select month(A)+1,sum(B) where C<>'' group by month(A) pivot C label month(A)+1 'Month Number'") 

enter image description here

EDIT

Le nombre de mois peut être changé à un nom de mois en utilisant une formule de tableau et RECHERCHEV mais la formule devient un peu long (ma table de numéros de mois et les noms est dans les colonnes I & J)

=arrayformula({vlookup(query(query(A:C,"select month(A)+1,sum(B) where C<>'' group by month(A) pivot C label month(A)+1 'Month Number'"),"select Col1"),I:J,2,false)}) 

et vous avez encore à ramasser les deux autres colonnes - c'est la chose

=arrayformula({vlookup(query(query(A:C,"select month(A)+1,sum(B) where C<>'' group by month(A) pivot C label month(A)+1 'Month Number'"),"select Col1"),I:J,2,false),query(query(A:C,"select month(A)+1,sum(B) where C<>'' group by month(A) pivot C label month(A)+1 'Month Number'"),"select Col2,Col3")}) 

enter image description here

+0

Oui, tableau croisé dynamique. Mais comment présenter une seule ligne dans le résultat? Je place les résultats par catégorie dans un rapport plus complexe ... – Cata

+0

Vous voulez dire que vous voulez sélectionner une ligne à la fois, disons février? –

+0

Non, je voulais dire un * * colonne, comme une catégorie rouge, désolé – Cata