web-dev-qa-db-fra.com

Exclure les valeurs négatives de la somme

Existe-t-il un moyen d’obtenir une fonction qui renvoie un résultat inférieur à 0 en tant que 0 ou n’inclue pas de nombres négatifs dans les sommes?

Je l'utilise pour suivre mes heures supplémentaires totales au cours de l'année au travail. Donc, en ce moment, je l'ai, donc si je travaille plus de 70 heures par semaine, disons que 85 heures reviendront à 15 heures. Cela fonctionne bien, mais quand j'essaie de tout résumer, je gagne -70 heures pour chaque semaine, je n'ai pas encore travaillé.

3
user37206

Utilisez la formule suivante pour accomplir cela:

=SUMIF(range;">"&0)

La range est bien entendu celle que vous avez définie !!

EDIT 29-03-2013; 23:00 CEST

IMPORTANT: Ceci n'est valable que si vous travaillez au moins 70 heures par semaine, chaque semaine. Il est tout aussi important de savoir si vous avez moins travaillé! Par conséquent, vous devez changer la façon dont vous calculez les "heures supplémentaires". La formule suivante affiche uniquement une valeur calculée, si une valeur "heures travaillées" a été entrée:

=IF(B2="";"";B2-70)

Voir exemple de fichier, colonne E.

EDIT 29-03-2013; 22h30 CEST
J'ai créé un exemple de fichier: à l'exclusion des valeurs négatives . Ici, j'ai essayé de clarifier le problème, de la manière dont l'OP le voit. Ce faisant, j'ai également incorporé les autres réponses.

La solution proposée par SpreadsheetPro.net fonctionne parfaitement. La déclaration indiquant que la SUMIF(S) n'est pas disponible dans Google Spreadsheet est false.

La solution proposée par Al couvre une approche différente. Au lieu de calculer Hours Worked MINUS Hours Working Week, Al indique à la formule de renvoyer ZERO si sa valeur est inférieure à ZERO, voir la colonne D dans l'exemple.

2
Jacob Jan Tuinstra

Il existe une fonction MAX().

=MAX(0,SUM(A1:A7)-70)

Il renvoie la valeur la plus élevée dans une plage de nombres. Dans ce cas, 0, ou quelle que soit la valeur de SUB(A1:A7) - 70 est. Si ce dernier est négatif, cela retourne un 0.

1
ale