web-dev-qa-db-fra.com

Fonction SUMIFS dans Google Spreadsheet

J'essaie d'avoir une fonction similaire à [~ # ~] sumifs [~ # ~] (comme [~ # ~] sumif [~ # ~] mais avec plusieurs critères) dans une feuille de calcul Google . MS-Excel a cette fonction intégrée ( http://office.Microsoft.com/en-us/Excel-help/sumifs-function-HA010342933.aspx?CTT=1 ).

J'ai essayé d'utiliser ArrayFormula ( http://support.google.com/docs/bin/answer.py?hl=en&answer=71291 ), similaire au SUMIF:

=ARRAYFORMULA(SUM(IF(A1:A10>5, A1:A10, 0)))

En ajoutant [~ # ~] et [~ # ~]:

=ARRAYFORMULA(SUM(IF(AND(A1:A10>5,B1:B10=1), C1:C10, 0)))

Mais la fonction [~ # ~] et [~ # ~] n'a pas capté la fonction ArrayFormula instruction et retourné FALSE tout le temps.

La seule solution que j'ai pu trouver était d'utiliser [~ # ~] requête [~ # ~] qui semble un peu lent et complexe:

=SUM(QUERY(A1:C10,"Select C where A>5 AND B=1"))

Mon objectif est de remplir un tableau (similaire à un tableau croisé dynamique) avec de nombreuses valeurs à calculer:

=SUM(QUERY(DataRange,Concatenate( "Select C where A=",$A2," AND B=",B$1)))

Quelqu'un a-t-il réussi à le faire de manière plus simple et plus rapide?

19
Guy

J'ai trouvé une fonction plus rapide pour remplir le "tableau croisé dynamique":

=ARRAYFORMULA(SUM(((Sample!$A:$A)=$A2) * ((Sample!$B:$B)=B$1) * (Sample!$C:$C) ))

Il semble fonctionner beaucoup plus rapidement sans les fonctions String et Query plus lourdes.

10
Guy

À mon avis, la façon la plus simple de créer facilement des fonctions de type SumIFS est de combiner les fonctions FILTER et SUM.

SUM(FILTER(sourceArray, arrayCondition_1, arrayCondition_2, ..., arrayCondition_30))

Par exemple:

SUM(FILTER(A1:A10;A1:A10>5;B1:B10=1)

Explication: le FILTRE () filtre les lignes dans A1: A10 où A1: A10> 5 et B1: B10 = 1. Puis SUM () additionne les valeurs de ces cellules.

Cette approche est très flexible et permet facilement de faire des fonctions COUNTIFS () par exemple également (il suffit d'utiliser COUNT () au lieu de SUM ()).

15
Javaaaa

Depuis décembre 2013, Google Sheets a maintenant une fonction SUMIFS, comme mentionné dans ce billet de blog et documenté ici .

Notez que les anciennes feuilles de calcul ne sont pas converties dans la nouvelle version, bien que vous puissiez essayer de copier-coller les données dans un nouveau classeur.

7
yoyo

Ce type a utilisé la fonction Filter pour couper le tableau selon les critères, puis la fonction sum pour tout ajouter dans la même cellule. http://www.youtube.com/watch?v=Q4j3uSqet14 Cela a fonctionné comme un charme pour moi.

1
Graham