2009-04-20 16 views
0

J'ai une feuille de calcul avec deux colonnes qui représente le nombre d'enregistrements traités et la date à laquelle les enregistrements ont été traités. Dans certains cas, les dossiers peuvent être traités en plusieurs lots, donc le document ressemble à ceci:Formules Excel: Afficher le total basé sur l'entrée de date

33 4/1/2009
22 4/1/2009
12 4/2/2009
13 4/4/2009
36 4/4/2009

Je suis en train d'ajouter une nouvelle série de colonnes qui contiennent une date, et indique le nombre total d'enregistrements pour cette date, automagiquement:

4/1/2009 55
4/2/2009 12
4/3/2009 0
4/4/2009 49

Je sais comment faire algorithmiquement, et je pourrais probablement manipuler la feuille de calcul en dehors d'Excel, mais je suis en train de le faire dans le live feuille de calcul, et je suis un peu perplexe quant à la façon de le retirer.

Des idées?

Merci! IVR Avenger

Répondre

2

Est-ce que la fonction SUMIF fonctionnera pour vous? SUMIF ([range], [criteria], [sum_range]) Je pense que vous pourriez définir range = l'ensemble des cellules contenant des dates dans votre première liste, les critères seraient la cellule contenant la date dans la deuxième liste, et sum_range serait le compte dans la première colonne de votre première annonce.

+0

Excel-prêt! (Groan) Cela semble faire l'affaire. Je vais bidouiller avec une fonction VB qui prend dynamiquement la date dans la colonne de gauche comme une entrée, de sorte que le tout est un peu plus facile à digérer. Merci beaucoup! IVR Avenger –

+0

Aucun problème. Heureux d'avoir aidé – Kyle

0

En supposant que les dates sont dans la colonne B et les chiffres à cumulables sont en A, vous pouvez essayer quelque chose comme ceci:

| A | B  | C    D 
1 | 33 | 4/1/2009 | =MIN(B:B) | {=SUM(IF(B1:B5=C1,A1:A5,0))} | 
2 | 22 | 4/1/2009 | =C1+1  | {=SUM(IF(B1:B5=C2,A1:A5,0))} | 
3 | 12 | 4/2/2009 | =C2+1  | {=SUM(IF(B1:B5=C3,A1:A5,0))} | 
4 | 13 | 4/4/2009 | =C3+1  | {=SUM(IF(B1:B5=C4,A1:A5,0))} | 
5 | 36 | 4/4/2009 | =C4+1  | {=SUM(IF(B1:B5=C5,A1:A5,0))} | 

Notez le {} qui signifie une formule de tableau (d'entrée en utilisant-Shift de contrôle -Enter) pour toute quantité non-triviale de données, il est plus rapide que SUMIF().

Je serais enclin à définir des noms dynamiques pour l'A1: A5 et B1: B5 parties, quelque chose comme

=OFFSET(A1,0,0,COUNT(A:A),1) 

pour que je ne devais pas garder mes formules de fixation.

Il y a encore un élément manuel: ajouter de nouvelles lignes pour des dates supplémentaires, par exemple - cela pourrait être un bon endroit pour un petit VBA. Sinon, si vous parvenez à afficher, par exemple, les totaux des 90 derniers jours, vous pouvez déterminer le nombre de lignes utilisées.

2

Je suggère d'utiliser une table pivotante. Placez les dates dans la zone de ligne et la 'somme des' enregistrements dans la zone de données. Rien dans la zone des colonnes. Un tableau croisé dynamique sera plus dynamique qu'une formule car il ne vous montrera que les dates qui existent.

Questions connexes