3.7 KiB
3.7 KiB
按月拆分Excel + 业务员/车辆维度展示
目标
将现有的单文件Q1汇总拆分为每月独立的Excel文件,新增业务员维度和车辆维度sheet,让旁人通过任意维度清晰理解考核绩效发放的计算来源。
输出文件
里程任务考核_1月核算.xlsx
里程任务考核_2月核算.xlsx
里程任务考核_3月核算.xlsx
每个文件的sheet结构
以2月为例(1月和3月结构类似,按月份调整列):
Sheet 1: 考核奖励规则
与现有一致,每个文件都包含一份。
Sheet 2: 里程明细X月
与现有一致,逐条源数据记录,含达标判断和奖金计算。
Sheet 3: X月计算过程
与现有一致,每个(车牌号+销售经理)组一行,展示完整判断链。各类金额独立成列,支持SUM对账。
Sheet 4: X月汇总
与现有一致,分section展示各类发放,按销售人员和部门汇总。
Sheet 5-16: 业务员_XXX(12个,每人一个)
头部汇总区(2行):
- 业务员姓名、部门
- 本月考核车辆数、本月发放总额
主体:按车分组,每车包含:
车辆信息行:
- 车牌号、合同编号、客户名称、考核目标、月度目标里程、月奖励金额
本月考核数据行:
- 考核天数、应考核里程、实际里程、完成率、是否达标、本月奖金(天数折算)
历史累计行(2月起):
- 1月应考核、1月实际(2月文件)
- 1月应考核、1月实际、2月应考核、2月实际(3月文件)
- 累计应完成、累计实际、累计完成率、累计是否达标
发放结果行:
- 发放类型(当月达标/结转/补发X月/累计补发X月)
- 发放金额
- 奖金池状态:已发N期/共12期,剩余M期
车辆小计行:
- 该车本月发放合计
尾部汇总:
- 本月考核车辆合计、本月发放总额
车辆范围: 该业务员在1-X月(截至当前核算月)有考核记录的所有车辆。同车跨多人时,两人的sheet都显示。
Sheet 17: 车辆考核追踪
全量492辆车,每车一行:
基本信息:
- 车牌号、车架号、归属公司、车型、考核目标、月度奖励金额
各月数据(截至当前核算月):
- X月业务员、X月应考核、X月实际、X月达标
累计(2月起):
- 累计应完成、累计实际、累计达标
本月发放:
- 发放金额、发放给谁、发放类型
奖金池:
- 累计已发期数、累计已发金额、剩余可发期数
计算逻辑
不变,与V1.1.0完全一致:
- 每条记录独立达标判断,奖金按天折算
- 按(车牌号+销售经理)分组做结转/累计/补发
- 结转:floor(多跑/月度目标)>=1 → 完整月奖金,占当月名额
- 补发:累计全部达标后补发未达标月份
- 累计补发当月:当月未达标+无结转+累计达标
文件间数据传递
- 1月文件:独立计算
- 2月文件:需要1月源数据(读取1月xlsx),计算1+2月累计
- 3月文件:需要1月和2月源数据,计算1-3月累计
每个文件独立生成,不依赖上一个文件的输出结果,而是从源数据重新计算。
修改范围
重构 generate_q1_summary.py:
- 主循环改为按月生成独立文件
- 计算引擎不变,复用现有的分组/结转/补发/累计逻辑
- 新增业务员sheet生成函数
- 新增车辆考核追踪sheet生成函数
- 现有的"车辆发放明细"和"车辆奖金池总览"合并到车辆考核追踪中
验证
- 每个文件的汇总金额与现有Q1汇总一致:1月21212.26, 2月21152.14, 3月56607.10
- 业务员sheet各车小计之和 = 该人在汇总中的合计
- 车辆追踪sheet的发放合计 = 当月汇总合计
- 计算过程各列SUM = 汇总各section