2009-10-09 6 views
0

J'ai une colonne de dates et une colonne d'éléments. Salut tout le monde Je veux compter le nombre d'éléments pour une certaine date, combien d'entre eux sont par jour. Colonne 1 Date - Colonne 2 - ArticlesComptage des lignes par la date différente

01.09.2009 IT004   
01.09.2009 IT004 
01.09.2009 IT005 
01.09.2009 IT006 
01.09.2009 IT006 
01.09.2009 IT006 
06.09.2009 IT004 
06.09.2009 IT004 
06.09.2009 IT005 
07.09.2009 IT004 
07.09.2009 IT005 
07.09.2009 IT005 
07.09.2009 IT006 

   01.09.2009 06.09.2009 07.09.2009 
For It004   2   2    1 
For It005   1   1    2 
For It006   3   0    1 

Toute aide serait grandement appréciée et un grand merci à l'avance.

Atanas

Répondre

1

Si c'est toute la table a, cela devrait fonctionner:

SELECT datecol, count(*) FROM table GROUP BY datecol 
0

Vous pouvez utiliser le tableau croisé dynamique pour le faire.

Utiliser les éléments comme champ de ligne. Utiliser la date en tant que colonne et champ de données (nombre de dates)

En utilisant VBA

Si l'on suppose que les objets et la date dans la feuille « Sheet1 » à partir de la cellule A1, le tableau croisé dynamique est créé dans une feuille de calcul « Feuil2 » à partir de la cellule A3 dans le classeur actif.

Sub createPivotTableReport() 

    Set wsData = ActiveWorkbook.Worksheets("Sheet1") 
    Set wsReport = ActiveWorkbook.Worksheets("Sheet2") 

    Set rngData = wsData.UsedRange 
    Set rngReport = wsReport.Range("a3") 

    Set pvtCache = ActiveWorkbook.PivotCaches.Add(xlDatabase, rngData.Address(True, True, 1, True)) 
    Set pvtTable = pvtCache.CreatePivotTable(rngReport) 

    pvtFieldsRow = Array("Items") 
    pvtFieldsCol = Array("Date") 

    pvtTable.AddFields pvtFieldsRow, pvtFieldsCol 
    pvtTable.PivotFields("Date").Orientation = xlDataField 

End Sub 

Note:

Dans certaines versions (nouvelles?) D'Excel, la ligne

Set pvtCache = ActiveWorkbook.PivotCaches.Add(xlDatabase, rngData.Address(True, True, 1, True)) 

peut être changé pour

Set pvtCache = ActiveWorkbook.PivotCaches.Add(xlDatabase, rngData) 

Ou peut-être mon ancienne version d'Excel est juste mauvais. Je ne sais pas.

J'ai aussi posté une solution .vbs ici:

http://gallery.technet.microsoft.com/ScriptCenter/en-us/dde1e5e2-f5f6-4053-84fb-b820f01f1fdf

0

Que diriez-vous d'utiliser la fonction DCOUNTA d'Excel? Avoir deux tables, où la table supérieure est le critère pour la fonction DSUM.

EX)

Date   Items 
01.09.2009 IT004 

Date   Items 
01.09.2009 IT004 
01.09.2009 IT004 
01.09.2009 IT005 

donc sur une ligne en dessous du tableau du bas, vous mettriez la fonction DCOUNTA:

=DCOUNTA(A3:B6,"items",A1:B2) 

Toujours regarder pour la première fonctionnalité intégrée :)

Questions connexes