【问题标题】:Accumulate Daily data on weekly basis每周累积每日数据
【发布时间】:2012-03-06 11:27:40
【问题描述】:

我是 Excel 公式和宏的新手。我的工作表如下所示。

id   Date      name   hours code    workPackage
1   3/28/2012   Anit    8   N1      1212
2   3/29/2012   Anit    8   N2      1212
3   3/30/2012   Anit    8   N2      1214
4   3/31/2012   Anit    8   N4      1212
5   4/1/2012    Anit    5   N1      1212
6   4/1/2012    Anit    3   N2      1212
7   4/3/2012    Anit    8   N2      1222
8   4/4/2012    Anit    8   N2      1212
9   4/5/2012    Anit    8   A1      1212
10  4/6/2012    Anit    8   A1      1212

我想根据 Code 和 workPackage 将这些每日数据累积到每周(星期五)。对于特定的代码和工作包,请添加该周的小时数。最终的输出数据应该是这样的。

1   3/30/2012   Anit    8   N1      1212
2   3/30/2012   Anit    8   N2      1212
3   3/30/2012   Anit    8   N2      1214
4   4/6/2012    Anit    16  A1      1212
5   4/6/2012    Anit    5   N1      1212
6   4/6/2012    Anit    19  N2      1212
7   4/6/2012    Anit    8   N4      1212

如果可以通过将此数据导入访问数据库或任何其他数据库来编写查询,那也很棒。

【问题讨论】:

    标签: excel ms-access vba


    【解决方案1】:

    您可以在 Excel 中使用 ADO。查询将是:

    Select Code, WorkPackage, Max([date]), First([Name]), Sum([Hours])
    From [Sheet1$]
    Group By Code, WorkPackage
    

    参考:http://support.microsoft.com/kb/257819

    编辑重新评论

    SELECT t.code, t.workPackage, Format([Date],"yyyy-ww") AS WeekNo, 
           Min(t.Date) AS MinOfDate, Max(t.Date) AS MaxOfDate, 
           Min(t.name) AS MinOfname, Sum(t.hours) AS SumOfhours
    FROM [Sheet1$] t
    GROUP BY t.code, t.workPackage, Format([Date],"yyyy-ww");
    

    【讨论】:

    • 感谢您的回答。它帮助我完成了一半想做的事情。
    • 您的查询未提供每周数据,而是提供了可用的最大日期。你能帮我解决一下吗
    • 从您的样本数据中并不完全清楚您想要什么。我添加了另一个示例。
    • 在我的问题中,表 1 是每日数据(见日期)。表 2 基于特定一周的活动和工作包的小时总和(每个星期五 - 查看日期)
    • 我在 access 中导入了所有数据,然后我创建了一个包含所有星期五的新表,这个查询按我想要的方式工作 "SELECT time.Code, time.WorkPackage, dates.maxdate, First(time.[ Name]) AS FirstOfStaffLastName, Sum(time.[Hours]) AS SumOfStaffHours FROM time, dates WHERE time.Date BETWEEN dates.mindate AND dates.maxdate GROUP BY time.Code, time.WorkPackage , dates.maxdate" 感谢您的帮助.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-08
    • 2022-06-10
    • 1970-01-01
    相关资源
    最近更新 更多