2009-05-04 6 views
1

Mon problème est le suivant ...SUM données selon les dates dans Excel

J'ai un petit avion et j'ai besoin de suivre les heures. Je dois suivre les heures par secteur et non le total de la journée (c'est pourquoi parfois j'en ai 2 ou 3 le même jour).

Maintenant, c'est le problème ... Sur la colonne C je dois additionner les heures des 7 derniers jours. Et tous les 7 jours, pas seulement la semaine dernière. Le faire manuellement est assez facile ... le problème est que j'ai besoin d'une formule car mes enregistrements sont assez volumineux ...

Voici un petit exemple (disons qu'il n'y avait PAS d'HEURES avant le 15/01/2009) ...

COLONNE A COLONNE B ------- ------- C COLONNE

DATE -------------- heures-- ----- heures 7 derniers jours

15/01/2009 ------- ------- 01:00 01:00

15/01/2009 --- ---- 02:15 ------- 03:15

16/01/2009 ------- 01:15 ------- 04:30

17/01/2009 ------- 01:30 --- ---- 06:00

18/01/2009 ------- ------- 01:30 07:30

18/01/2009 ----- --01: 00 ------- 08:30

18/01/2009 ------- ------- 02:00 10:30

19/01/2009 ------- ------- 02:30 13:00

19/01/2009 ------- ------- 03:00 16:00

20/01/2009 ------- //////// -------- 16:00

21/01/2009 ------- ------- 01:00 17:00

22/01/2009- ------ 01:30 ------- 15:15

23/01/2009 ------- 02:00 ------- 16:00

Je me bats depuis quelques semaines pour essayer de trouver une formule mais pas de chance ... des suggestions?

Merci

Répondre

0

Voici les données meilleur format si quelqu'un veut essayer:

15-Jan-2009 01:00 
15-Jan-2009 02:15 
16-Jan-2009 01:15 
17-Jan-2009 01:30 
18-Jan-2009 01:30 
18-Jan-2009 01:10 
18-Jan-2009 02:00 
19-Jan-2009 02:30 
19-Jan-2009 03:00 
20-Jan-2009 
21-Jan-2009 01:00 
22-Jan-2009 01:30 
23-Jan-2009 02:00 

Je suis la fonction:

=SUM($B$1:$B$13)-SUMIF($A$1:$A$13, "<="& (A1- 7), $B$1:$B$13) - SUMIF($A$1:$A$13, ">"& (A1), $B$1:$B$13) 

Cette décision était fondée sur Sum of named ranges conditional to date?. L'idée est d'abord calculer la somme totale: SUM($B$1:$B$13)

déduisez toutes les valeurs qui se sont passées plus il y a 7 jours: SUMIF($A$1:$A$13, "<="& (A1- 7), $B$1:$B$13)

soustrayez les valeurs qui ont eu lieu à l'avenir: SUMIF($A$1:$A$13, ">"& (A1), $B$1:$B$13)

Le point est d'utiliser la fonction SUMIF, qui "ajoute les cellules spécifiées par un critère donné".

1

La première chose est d'obtenir la date de début, ce qui serait la fonction suivante:

=Now() - 7 

Si vous avez renommé cette cellule « WeekBegin », vous pouvez utiliser la formule suivante pour calculer le total des heures:

=SUMIF(A:A,">=" & WeekBegin,B:B) 

Notez que j'ai utilisé des références de colonne; C'était à la fois simplifier la formule, mais aussi vous permettre d'ajouter facilement de nouvelles données à la fin de la plage. Vous devez veiller à ce que votre cellule WeekBegin soit et non dans la colonne A ou la colonne B, sinon vous obtiendrez un avertissement de référence circulaire.

Si vous avez prévu de disposer de données numérique au-dessus ou au-dessous plage d'entrée, vous devez appeler explicitement la somme et les critères gammes comme suit:

=SUMIF(A2:A14,">=" & WeekBegin,B2:B14) 

De plus, vous pouvez constater que votre résultat arrive initialement comme une décimale. C'est le format de série de date d'Excel, vous devrez peut-être formater votre résultat en temps.

Espérons que ça aide! [Modifier: Au second passage, si vous cherchez à additionner une série basée sur une date de début et de fin (donc 7 jours comme vous semblez l'indiquer dans votre message), cherchez la note de l'affiche précédente, c.-à-d. :

=SUM(B:B) - SUMIF(A:A, "<="& BeginDate, B:B) - SUMIF(A:A, ">"& EndDate, B:B) 

une solution plus élégante est offert dans Excel 2007 en utilisant la fonction SUMIFS():

=SUMIFS(B:B, A:A, ">=" & FromDate,A:A, "<" & ToDate) 

Notez que les arguments en faveur de SUMIFS sont dans un ordre différent que le SUMIF standard.

heureux Sommation]

1

Une autre solution qui fait essentiellement la même que les solutions précédentes Offertes:

En C1, entrez la formule suivante:

{=SUM(IF(($A$1:$A1>=($A1-6))*($A$1:$A1<=$A1), $B$1:$B1, 0))} 

Et puis il suffit de glisser la formule vers le bas.

Si vous n'êtes pas familier avec les formules matricielles, les parenthèses {} indiquent simplement que la formule est une formule matricielle. Pour l'exécuter correctement, vous devez copier la partie à l'intérieur des parenthèses {} dans la barre de formule, puis appuyer sur Ctrl + Maj + Entrée pour indiquer qu'il s'agit d'une formule matricielle.