# 按月拆分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完全一致: 1. 每条记录独立达标判断,奖金按天折算 2. 按(车牌号+销售经理)分组做结转/累计/补发 3. 结转:floor(多跑/月度目标)>=1 → 完整月奖金,占当月名额 4. 补发:累计全部达标后补发未达标月份 5. 累计补发当月:当月未达标+无结转+累计达标 ## 文件间数据传递 - 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