不会代码也能开发小工具:Excel+AI 完整实战方案

不会代码也能开发小工具:Excel+AI 完整实战方案

xuliyaoPro 过期程序员

这几天忙于工作,更新博文有点缓慢,类似的案例已经教会很多人,反响比较好,特意将这个真实的企业案例分享给大家,希望对大家有所帮助。

一、困境:当人工处理遇上”数据海洋”

背景:某新能源电池测试部门,每次对电池做充放电测试都会产生海量数据。工程师小许面临这样的场景:

  • 单次测试数据:10,000+行CSV数据

  • 核心需求:找出 SOC 0% →100 ,100% → 0 的完整循环中,电芯的最大温差、直流侧充放效率、最高单体(mV)、最低单体(mV)

  • 现状:人工筛选+Excel公式,处理一次需要2-3小时,且容易出错

“虽然有技术开发人员,但由于排期要等2~3周,开发语言Java,且报告要求急。”
这或许是很多业务部门的共同困境:有明确的需求,却没有技术资源
对于技术部门的回答:需求可以做,重新部署一个系统太费周折,放在已有系统不伦不类

二、破局思路:从”人人会用的Excel”出发

既然专业开发语言满足不了,常规逻辑或流程拒绝基本也没什么问题。
但问题你是负责人,你得有异于常规的思路,拿出结果,过程不重要。
那就从大家熟知的工具软件入手:

层级 工具 人员掌握度 AI辅助可能性
数据层 Excel/CSV ⭐⭐⭐⭐⭐
逻辑层 VBA宏 ⭐☆☆☆☆ 极高(AI生成代码)
交互层 Excel界面 ⭐⭐⭐⭐⭐

核心洞察:人员不需要”学会编程”,只需要用自然语言描述需求,让AI生成可执行的VBA代码

三、明确需求:找准需求逻辑,不做无用功

在动手之前,我们先把需求拆解得足够清晰,避免后续走弯路——所有同事对VBA语言都是0基础,生成的代码意味着没法二次修改,这是做好应用工具的第一步。

核心需求要明确:处理上万条电池充放电测试的CSV数据,需要将计算逻辑和规则明确下来,在自己脑子过一遍。
比如:最大温差,是充/放电过程的最大温差还是充电或放电过程的温差分别计算?
确认的关键信息:

  1. 一是SOC从0%上升到100%(充电过程)中的最大温差,即Max(最高温度 - 最低温度)。
  2. 二是SOC从100%下降到0%(放电过程)中的最大温差,即Max(最高温度 - 最低温度)。

痛点也很突出:电池测试通常会跨天测试,通常需要2天时间跑完整个充放电流程,也就是设备产生的上万条数据时间可能是错开的,需要逐行区分充放电阶段,以及按充放电时间进行排序,再去找出相应的最大温差这个过程短则1-2小时长则3-4小时,且人工容易出现计算错误、阶段区分失误的问题;没有技术人员,无法开发专门的工具;团队人手紧张,没人能专职处理这份繁琐的工作。
需求关键信息:

  1. 确认BMS的原始数据源不会变化
  2. 确认需要参与计算的字段都有:如充放电区分,上报时间,温度,电压等

此时我们明确:核心目标是“用最简单的工具、最低的成本,实现自动化筛选、计算和报告生成”,而人人都有的Excel,就是我们的突破口——它支持CSV数据导入,也支持VBA宏命令实现自动化,唯一的难点就是“不会写VBA代码”,而这个难点,正好可以用AI来解决。
确定完数据源,计算逻辑,最后是制作测试报告模板

四、实战四步走:AI如何帮你”写”代码

Step 1:明确需求 → 结构化描述

向AI的提问示例(以Kimi为例):
我是一个Excel用户,不会编程。请帮我写VBA代码可直接复制执行,以下为需要处理电池测试CSV数据:

  • 点击”生成报告”,将BMS数据文件导入到第一个sheet中
  • 源数据的A列为时间,先进行排序
  • 从源数据中找出充电状态=2充电,SOC(0-100)变化时,计算充电时,电芯单体温度的最大温差,即Max(AI列的最高温度 - AJ列的最低温度),然后结果放入”测试报告模板”的”C18”单元格
  • 从源数据中找出充电状态=1放电,SOC(100-0)变化时,计算放电时,电芯单体温度的最大温差,即Max(AI列的最高温度 - AJ列的最低温度),然后结果放入”测试报告模板”的”C24”单元格
    AI返回的代码结构通常包含:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
' 模块1:数据导入与清洗
Sub ImportCSV()
' 自动打开文件选择对话框
' 解析时间戳格式
End Sub

' 模块2:智能识别充放电区间
Sub FindCycles()
' 遍历SOC列,识别0→100转折点
' 用状态机标记充电段/放电段
End Sub

' 模块3:温差计算与极值查找
Sub CalculateDeltaT()
' 循环遍历每个区间
' 每行计算:Max(电芯温度)-Min(电芯温度)
' 记录最大值位置
End Sub

' 模块4:报告生成
Sub GenerateBMSReport()
' 新建摘要sheet
' 高亮原始数据中的关键行
' 写入统计结果
End Sub

Step 2:傻瓜式部署(无需理解代码)

先关键设置

  1. 启用宏:文件 → 选项 → 信任中心 → 启用所有宏

  2. 添加按钮:开发工具 → 插入 → 按钮 → 指定宏(右键选择“GenerateBMSReport”)

再操作粘贴:Excel → 开发工具 → Visual Basic → 插入模块 → 粘贴AI代码 → 保存为.xlsm

Step 3:测试迭代 → 形成工具

由于前提是大家都不会代码,要将第一个步骤需求拆分的越细越好,AI生成的效果也会更准更接近效果。

如果遇到边界情况,继续用AI调试

“运行时报错’下标越界’,可能是电芯数量不固定,有时3个有时6个,请修改代码自动识别列数”

“能否增加一个功能:让用户输入SOC起始阈值(比如5%代替0%),因为实际数据可能不从0开始”

通常经过1-2轮的调试迭代,一个可复用的内部工具就成型了。

五、成果:从2小时到2分钟的质变

指标 人工处理 AI辅助工具
处理时间 2-3小时 2分钟
准确率 易漏看、易算错 100%规则执行
可复用性 每次重做 一键处理新数据
知识沉淀 个人经验 标准化工具

更意外的收获

  • 工具在部门内共享后,不同项目电池测试都采用了相同模式处理各自数据

  • 小许整理出《业务人员VBA工具开发手册》,成为业务响应先锋者,优秀员工奖稳了。

六、延伸思考:这是”伪编程”吗?

有人质疑:这不过是让AI写代码,自己当传声筒,算不得真本事。

但换个视角:

  • 业务价值在于解决问题,而非代码本身

  • 核心能力从”记忆语法”转向”精准描述需求”

  • 技术民主化让一线人员获得 previously impossible 的能力

正如小许所说:

“我依然看不懂VBA的语法细节,但我知道怎么让AI听懂我的业务逻辑。这比等IT排期快10倍,比手工处理准100倍。”


七、给你的启动清单

如果你也面临类似场景,明天就可以开始:

  • 找一个重复性高、规则明确的手工处理任务

  • 学着本文向AI描述需求

  • 在Excel中运行第一段AI生成的代码

  • 记录报错信息,继续追问AI

  • 保存为.xlsm,添加按钮,分享给同事


AI不是让业务人员变成程序员,而是让业务人员绕过”不会编程”的障碍,直接获得编程能带来的效率杠杆

在这个真实的企业故事里,没有专业的开发团队,没有预算采购或开发软件,只有Excel、CSV和一个愿意尝试的业务人员——以及,一个能听懂自然语言并生成代码的AI。

工具的价值不在于技术复杂度,而在于是否解决了真实问题。

  • 标题: 不会代码也能开发小工具:Excel+AI 完整实战方案
  • 作者: xuliyaoPro
  • 创建于 : 2026-04-10 00:00:00
  • 更新于 : 2026-04-10 00:00:00
  • 链接: https://chinapmcc.com/2026/04/10/4.专业支撑体系/4.2效率工具链与应用/不会代码也能开发小工具:Excel+AI 完整实战方案/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论