
WorkBuddy + AI 编程案例:10万行汽修配件耗用与工单关联分析
WorkBuddy 编写 VBA · 25,000张工单 · 一键重算
本案例用 WorkBuddy 把自然语言需求变成可重复使用的 Excel VBA 汽修经营分析工具。程序在本地关联10万行配件明细与2.5万张维修工单,正确处理退回冲减,确保每张工单的工时收入只统计一次。
一 案例目标与数据结构
原始文件包含“配件明细”和“工单基础”两张数据表。每张工单固定对应4条配件明细,配件表共10万行,工单表共2.5万行。经营汇总只统计已结算工单,维修中和已取消工单单独列出。
- 按工单号关联配件明细与工单基础。
- 按门店和维修项目汇总配件收入、成本、毛利及工时收入。
- 领用增加,退回按负数冲减。
- 工时收入每张工单只统计一次,不随4条配件重复。
- 保留原数据,并提供可重复使用的开始处理按钮。

图1 配件明细:10万行领用与退回记录

图2 工单基础:2.5万张维修工单
二 零基础自然语言提示词
不需要先会写代码,也不用把10万行明细粘贴到对话。直接用日常业务语言告诉 WorkBuddy:要关联什么、统计什么、哪些记录要排除,以及结果以后是否需要重复使用。
请使用vba相关技能完成以下任务,不做窗体。连锁汽修店有十万行配件明细,一张维修工单可能用好几种配件。帮我关联工单,算各门店、各维修项目的配件收入、配件成本、配件毛利和工时收入。工时收入一张工单只能算一次,退回的配件要冲减。先看规则、表头和少量样例,不要把全部明细贴进对话。用高效算法批量处理,别一格一格读写。保留原数据,加一个开始处理按钮,以后换了数据可以再用。显示真实耗时,自动核对行数和合计,重复运行不要堆出重复结果。

图3 WorkBuddy 中放大展示的自然语言提示词
三 WorkBuddy 如何完成任务
WorkBuddy 先连接当前 VBA 工程,只读取规则、表头和少量样例,再生成完整代码。核心逻辑使用数组批量读写和字典按工单聚合,避免10万行逐格读写和嵌套查找。
- 建立工单字典,保存门店、维修项目、状态、工时和日期。
- 读取配件数组,根据业务类型把退回数量转为负数。
- 先按工单归集配件金额,再按门店和维修项目汇总。
- 已结算工单计入经营汇总,未结和取消单独输出。
- 通过 VBAYYDS 命令同步、运行并连续验证三次。

图4 WorkBuddy 自动定位二维数组扩展错误并修复

图5 AI 自动生成数组、字典、汇总与批量写回代码
四 真实运行与核验结果
| 核验项 | 实际结果 | 说明 |
|---|---|---|
| 配件明细 | 100,000行 | 原始数据保持不变 |
| 维修工单 | 25,000张 | 每张工单4条明细 |
| 已结算工单 | 14,967张 | 进入经营汇总 |
| 未结/取消 | 10,033张 | 单独生成清单 |
| 门店项目组合 | 60组 | 12家门店×5类项目 |
| 已结算配件收入 | 20,263,315元 | 与独立基准完全一致 |
| 已结算工时收入 | 3,970,926元 | 每张工单只统计一次 |
| 单次耗时 | 约1.5秒 | 连续运行三次结果一致 |

图6 门店项目汇总:金额、行数和工时收入自动核对一致
五 四张结果表解决哪些问题
- 工单汇总:查看每张工单对应的配件收入、成本、毛利、工时和结算状态。
- 门店项目汇总:比较不同门店、不同维修项目的经营表现。
- 配件排行:按配件毛利降序,快速识别贡献较高的配件。
- 未结取消单清单:集中查看维修中和已取消工单,不混入经营汇总。

图7 工单汇总保留每张工单的完整金额和日期

图8 配件排行按毛利降序展示
六 以后只需点一下按钮
1. 替换或追加配件明细与工单基础数据。
2. 保持关键工作表名和表头不变。
3. 点击案例说明页的“开始处理”按钮。
4. 查看四张自动重建的结果表。

图9 VBA代码完成后,以后换数据只需点击按钮立即重算
结语
WorkBuddy 的价值不是临时算一次账,而是把汽修门店的关联规则、结算口径、退回冲减、工时去重和自动核验固化成可长期复用的 Excel VBA 工具。AI 负责理解需求、写代码和调试,10万行明细仍在本地快速处理。

