Excel的数据透视表中的Max总和

时间:2014-02-04 20:49:14

标签: excel aggregation

我有一个来自下表的数据透视表:

    +---------+---+-----+
    |    A    | B |  C  |
  +-+---------+---+-----+
  |1|   Date  |Id |Value|
  +-+---------+---+-----+
  |2|4/01/2013|1  |4    |
  +-+---------+---+-----+
  |3|4/01/2013|2  |5    |
  +-+---------+---+-----+
  |4|4/01/2013|1  |20   |
  +-+---------+---+-----+
  |5|4/02/2013|2  |20   |
  +-+---------+---+-----+
  |6|4/02/2013|1  |15   |
  +-+---------+---+-----+

我想首先通过Id聚合然后按日期聚合,使用Max聚合Id,然后使用Sum聚合按日期聚合。结果表如下所示:

    +---------+----------------+
    |    A    | B              |
  +-+---------+----------------+
  |1|   Date  |Sum(Max(Id,Date)|
  +-+---------+----------------+
  |2|4/01/2013|25              |
  +-+---------+----------------+
  |3|4/02/2013|35              |
  +-+---------+----------------+

上面的25来自于每个日期获得最大每次ID(最大值(1,4 / 01/2013) - > 20和Max(2,4 / 01/2013) - > 5,所以总和那些Max是25。

我可以通过在数据透视表的Rows部分添加Date和Id列来轻松完成两个级别的聚合,但是当为Value选择聚合函数时,我可以选择Max,获得Max of Max或Sum得到总和。也就是说,我无法获得最大值的总和。

你知道如何实现这个目标吗?理想情况下,解决方案不是计算数据透视表,然后从那里复制或获取公式,因为如果我想动态更改字段,那将很容易破坏。

谢谢!

1 个答案:

答案 0 :(得分:0)

这是我在SQL中的方式:

SELECT DATE, SUM(MAXED_VAL) as SummedMaxedVal
FROM (
     SELECT DATE, ID, MAX(VALUE) as MAXED_VAL
     FROM table
     GROUP BY DATE, ID
)
GROUP BY DATE