web-dev-qa-db-fra.com

Excel - Somme colonne si la condition est remplie en vérifiant une autre colonne dans la même table

J'essaie de créer un tableur à utiliser dans un petit magasin de détail. 

J'ai un cahier d'exercices contenant les dépenses sur une feuille et les revenus sur une autre. 

Nous pouvons dire que le point commun entre les deux feuilles est le mois.

Je voudrais écrire une fonction qui ne sélectionnera que les dépenses d’un mois donné. 

Quelque chose comme - 

=SUM(IF( Table4[Month]="January", Table4[Amount])) 

// I want the sum of all expenses of a given table for only 
// those months which are january etc.

J'ai essayé d'utiliser ce qui précède, mais cela a échoué.

30
Kunal

Cela devrait fonctionner, mais il y a un petit truc. Après avoir entré la formule, vous devez maintenir les touches Ctrl + Maj enfoncées tout en appuyant sur Entrée. Dans ce cas, vous verrez que la barre de formule est entourée d'accolades. Cela s'appelle une formule matricielle.

Par exemple, si les mois sont dans les cellules A2:A100 et les montants dans les cellules B2:B100, votre formule ressemblerait à {=SUM(If(A2:A100="January",B2:B100))}. Vous ne tapez pas réellement les accolades cependant.

Vous pouvez également faire quelque chose comme =SUM((A2:A100="January")*B2:B100). Vous auriez toujours besoin d'utiliser cette astuce pour que cela fonctionne correctement.

18
Don Pratt

En fait, une solution plus raffinée consiste à utiliser la fonction prédéfinie sumif, cette fonction fait exactement ce dont vous avez besoin et ne fera la somme que des dépenses d’un mois donné.

exemple

=SUMIF(A2:A100,"=January",B2:B100)
64
Alen

SUMIF n'a pas fonctionné pour moi, a dû utiliser SUMIFS. 

=SUMIFS(TableAmount,TableMonth,"January")

TableAmount est la table pour additionner les valeurs, TableMonth la table où nous recherchons la condition et Janvier, bien sûr, la condition à satisfaire.

J'espère que cela peut aider quelqu'un!