【问题标题】:Excel Pivot table: Calculated field based on only the first row of a groupExcel 数据透视表:仅基于组的第一行的计算字段
【发布时间】:2012-10-12 19:45:19
【问题描述】:

我有以下数据和数据透视表:

数据透视表中的总计列是以下计算字段的总和:

=start-TIME(7, 30, 0)

我知道这个计算对于我想要实现的目标是错误的。我需要知道我每天有多少延迟才能开始工作。例如2012 年 10 月 1 日,假设我应该在 7:30、8:00 - 7:30 开始工作,这会产生 30 分钟的延迟,12 年 10 月 2 日延迟 1 小时,12 年 10 月 3 日延迟 50 分钟.
所以我的问题是,如何仅根据数据透视表中每个组的第一行计算字段?

【问题讨论】:

    标签: excel excel-2007 excel-2010 pivot-table calculated-field


    【解决方案1】:

    我倾向于避免计算字段,并尽可能在源数据中进行计算。因此,在这种情况下,我会在您的源数据中添加一个延迟列,其计算仅对每个日期的第一行的差异求和:

    =IF(COUNTIF($A$2:$A2,$A2)=1,B2-TIME(7,30,0),0)
    

    然后,您可以以延迟总和为中心。格式化延迟数据透视字段,如[h]:mm

    【讨论】:

    • 感谢您的解决方案。您是否因为性能问题而避免使用计算字段?而且,您认为使用计算字段会有什么简单的解决方案吗?
    • 不,我不知道有任何性能问题。我只是通常发现在源数据中进行计算更容易。在这种情况下对我来说也是如此:我不知道使用计算字段的任何简单解决方案。
    • COUNTIF 解决方案非常好。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    • 1970-01-01
    • 2012-12-21
    相关资源
    最近更新 更多