如何在Excel数据透视表中统计人员可用天数的非重复累加总和
解决Excel数据透视表AV列重复累加的问题
针对你遇到的AV列(每周工作天数)因人员多条记录被重复累加,需要每个人员AV仅统计一次、总和为各人员AV值相加的需求,提供以下几种实用方案:
方案1:修改数据透视表的汇总方式(适合同一人员AV值固定的场景)
如果同一个人员的所有记录中AV值完全一致,直接修改AV列的汇总方式即可:
- 点击数据透视表中AV列的任意单元格
- 右键选择「值字段设置」
- 在「汇总方式」标签页,选择「最大值」(或「最小值」,效果一致)
- 确认后,AV列会显示每个人员的实际工作天数,总计自动计算为各人员AV值的总和(5+4+5=14)
方案2:用Power Pivot创建唯一值计算列(适合复杂场景)
如果同一人员的AV值可能存在差异,或需要更灵活的计算逻辑,可借助Power Pivot(Excel 2016及以上版本支持):
- 选中原始数据区域,点击「数据」选项卡 →「从表格/区域」,将数据导入Power Pivot编辑器
- 在编辑器中添加计算列,输入公式(替换表名和列名):
这个公式会针对每个人员提取其AV值的最大值(也可替换为MIN取最小值,或根据需求调整)=CALCULATE(MAX([AV]), ALLEXCEPT(你的表名, 你的表名[Person])) - 返回Excel,插入基于Power Pivot数据模型的数据透视表,将Person拖到行区域,Workload拖到值区域(求和),新建的计算列拖到值区域(求和),即可得到正确的AV总和
方案3:预处理原始数据生成唯一人员AV列表
先提取每个人员对应的唯一AV值,再结合Workload汇总:
- 在空白列(比如D列)用
UNIQUE函数提取唯一人员列表:=UNIQUE(A:A)(假设人员列是A列) - 相邻列(比如E列)用
XLOOKUP提取对应AV值:=XLOOKUP(D2, A:A, AV:AV) - 之后可以直接用
SUM(E:E)得到AV的总合,同时用SUMIF(A:A, D2, B:B)计算每个人员的Workload总和,再整理成所需报表
内容的提问来源于stack exchange,提问作者Fapinski
相关产品推荐
相关产品推荐

