
如果你和我一样平时打开Excel就只想合个表、筛个数据结果一陷进去就是一下午那这篇内容大概能帮你省下不少冤枉时间。我要分享的不是什么高深VBA教程而是一个非技术人怎么让AI替我干Excel里的脏活——说得再具体一点就是我自己动手做AI Skill的全过程从“想法”到“跑通”到底踩了哪些坑、有什么可以直接抄的经验。先说个真实场景上个月我得整理一份2000多行的会员登记表手机号格式五花八门、地址拆不出省市、重复录入占了一百多行还有几个合并单元格夹在中间捣乱。我盯到下午眼睛花了才改了一半边改边骂。后来我突发奇想与其一条条手动处理不如把规则整理清楚交给AI让AI生成一个能“一键干活”的技能包以后所有表格都甩给它。没想到这个决定不仅把半天的工作压缩到几分钟还让我这个只会CtrlC/CtrlV的人第一次摸到了所谓AI Agent的门把手。这篇文章适合谁如果你是非技术背景的运营、行政、销售、财务每天被表格折磨又不打算系统学编程那这篇最对胃口。我会从“Skill到底是什么”说起一直讲到怎么设计、怎么写、怎么接入Excel、怎么排查翻车现场全程用大白话。1. 先说清楚Skill到底是什么非技术人为什么要学做Skill1.1 一次改错138行数据之后我决定“偷懒”我在改会员表的时候干过一件蠢事——想用查找替换把手机号里的“-”去掉结果条件没选对把一列“会员编号”里的短横线也全删了138行数据直接废掉。当时真是又气又丢脸赶紧从备份里恢复但那一下午的时间已经赔进去了。那一刻我意识到我的问题不是“不细心”而是“手动操作根本不可复用”。同样的清洗规则这个月做一遍下个月又来一遍每次都得重新盯着屏幕点鼠标。更可怕的是这种操作没有任何沉淀做完就完了下次还是从零开始。所以我想要的其实不是“这次把这个表处理完”而是“这次我把处理规则定下来下次一键复用”。这个念头一冒出来我就知道要找的不是某个Excel技巧而是一个能把规则固化下来的东西——也就是后来我理解的Skill。1.2 Skill不是“编程”是给AI写“岗位说明书”我以前一直以为凡是带“Skill”这个词的东西都跟编程有关心里先怕了三分。后来我才搞明白在AI这个语境下Skill本质上是给AI写的一份“岗位说明书”加“操作手册”。什么意思你请一个临时工来帮你整理表格你得交代三件事第一你今天要干嘛第二数据长什么样、有哪些特殊情况第三做完之后要交给我什么样的成果。Skill就是把这三点用AI能读懂的方式写下来存成一个文件夹、一份文档以后你随时可以喊它出来干活。对我这种非技术人来说最友好的地方在于写Skill不需要懂代码需要的是“把话说明白”的能力。你不需要会写VBA也不需要会Python你只要能把工作里那些你自己已经会做、但不想反复做的事拆成一步步的规则AI就能帮你把这套规则变成工具。这也让我想通了一个事很多人不敢碰AI不是AI门槛高而是我们总觉得“得先学会编程才能用”。实际上会表达需求、能描述清楚规则在这个时代本身就是一种技能。1.3 哪些Excel脏活最适合交给AI不是所有Excel活都适合做成Skill我总结下来有三类最值得投进去时间。第一类是“规则明确、重复量大”的活。比如统一日期格式、清洗手机号、拆分省市、去除重复项、按条件标色、生成统计报表。这类活做一次你还能忍做十次真的会怀疑人生。第二类是“跨表协作、反复拼接”的活。比如每月的销售明细要按品牌汇总、按区域拆分或者从不同系统导出的表要合并成一个总表。每次的结构还不太一样用固定宏去处理容易报错但把规则告诉AI让AI根据这次的表头自适应反而更稳。第三类是“自己不太会、但知道想要什么结果”的活。比如二级联动菜单我根本不知道什么是数据验证但我能说清楚“我想在A列选了省份之后B列自动出现对应城市”AI就能给我生成好用的方案。把“需求”交给AI把“实现”也交给AI我要做的只是验收。2. 做Skill之前先把Excel的“脏活”解剖开2.1 我用一张“抱怨清单”定位目标第一次动手做Skill我差点一头扎进细节里抱着电脑写了一下午规则结果AI根本不知道我想干嘛。后来我换了个笨办法先不写Skill先写“抱怨清单”。就是把过去一个月里你在Excel上浪费过时间、骂过娘的场景全列出来。不用管格式就写大白话。比如我当时写的是“每次从后台导出的订单表日期都是20240101这种数字我要一个一个转成2024/01/01”“几百行数据里总有重复的手机号但我又不敢直接删怕删错”。写完之后我盯着这张清单看发现每个抱怨背后其实都藏着一个可提取的规则。这一步的作用是把模糊的“Excel好烦”变成具体的“我想解决什么问题”。AI再聪明也不能替你把脑子里那团乱麻理清。只有你先把目标说清楚才能往下聊怎么实现。2.2 描述“结果”而不是描述“操作”我在琢磨怎么写需求的时候发现一个特别重要的转变你得从“描述操作”切换到“描述结果”。什么叫描述操作比如“我想选中B列然后点数据里的分列按逗号拆分”。这种说法非常具体但一旦表格结构变了一点这套操作就废了。什么叫描述结果比如“我想把地址列拆成省份、城市、区县三列如果没有区县就留空”。这句话没有告诉AI具体点哪个按钮但把最终要的结果说清楚了。AI处理这类需求时会自己选择合适的工具来完成可能是分列、可能是公式、也可能是Power Query。你越描述结果它反而越灵活。反而是那些想“指导”AI怎么点点点的需求遇到稍微不一样的数据就容易翻车。后来我在写Skill时养成了一个习惯每一条规则都先问自己“我到底要什么结果”然后写清楚结果长什么样特殊情况怎么处理。这样写出来的Skill通用性和稳定性都好了很多。2.3 Skill文件里该放什么目标、规则、示例、边界参考我拆了几个别人的Skill之后发现一个能用的Skill基本都有四个部分缺一不可。第一是目标也就是这个Skill平时被喊出来干嘛用的底下一句话总结就行。第二是规则这是核心你要把前面那张抱怨清单里的每一条翻译成“如果遇到A情况就执行B操作”的句式。第三是示例这个太重要了AI看一千字描述不如直接看一组“输入长这样、输出长这样”的对照案例。第四是边界也就是“什么事绝对不要做”比如不要动原始数据、不要删除包含公式的单元格、遇到无法判断的值要停下来问人。我第一次写的时候只顾着写规则完全没写示例和边界结果AI处理出来的数据风格飘忽不定有时候把表头都改了气得我够呛。后来老老实实补上示例和约束效果立刻稳下来。所以啊Skill不是写给AI看的说明书更像一张你跟AI之间的“合作契约”里面既要说清要做什么也要说清底线在哪。3. 手把手做第一个Skill自动清洗2000行会员表3.1 需求确定从“表很乱”到可执行的3条规则还是说回我最开始那张2000行会员表。刚开始我跟AI说“帮忙清洗一下这张表”它回了一堆正确的废话什么“已优化格式”“已去除重复项”实际上啥也没干。后来我冷静下来把这张表真正的问题列了一遍发现其实只集中在三件事上手机号列有“138-1234-5678”“(86) 13812345678”“86 138 1234 5678”几种格式需要统一成11位数字。地址列里既有“省市区”完整的也有只写到“市”就断了的需要拆成省、市、区三列拆不出来的留空。会员编号有重复需要找出重复项并在旁边标注但不直接删除原始行。你看整理成这三条之后需求就清晰多了。这里有个技巧不要试图一次性解决所有问题先把“数据里最多见的3到5类脏乱差”拎出来。因为大多数情况下Excel表看着乱真正反复出现的格式问题就那么几种先把主要矛盾解决掉体验立刻就不一样。3.2 写Skill的实操过程自然语言带示例接下来就是动手写Skill了。我先建了一个文件夹名字就叫ExcelCleaner里面放了一份SKILL.md还有两个小的示例文件。很多人一看到文件名就慌其实不用就是一个普通的文本文件用记事本都能编辑。我在SKILL.md里写的内容大概是这样的结构# ExcelCleaner会员表清洗技能包 ## 目标 处理会员登记表等常见Excel表格的格式统一、字段拆分和重复项标注。 ## 处理规则 1. 手机号列去掉括号、空格、短横线、国家代码统一为11位数字如果转换后不是11位在旁边备注“异常”。 2. 地址列按“省、市、区”拆分到三列如果地址里没有“省”则省列为空如果没有“区”则区列为空。 3. 会员编号不删除原始行只在“重复标记”列里写“重复”。 ## 示例 输入138-1234-5678 | 浙江省杭州市西湖区文三路 输出13812345678 | 浙江省 | 杭州市 | 西湖区 | 文三路 ## 边界 - 不要修改原始表只在副本上操作。 - 遇到无法按规则处理的值保留原值并在旁边标注“待人工确认”。 - 不要删除任何行。写完了之后我发现这段文本看起来特别土但作用却很实在。AI读到“手机号列”的时候会去表里自动找哪一列像手机号不一定非得指定列名。这个灵活性对我这种经常面对不同表头的人来说非常救命。写完之后我把一份脱敏后的样本表放进同一个文件夹作为示例供AI参考。你不需要把整个2000行的表都丢进去给二三十行样本就够了关键是样本要能覆盖各种特殊情况。3.3 接入Excel的三种方式VBA宏、Office Scripts、AI助手内置Skill写好了怎么接进Excel这个环节我摸索了很久总结下来有三种主流方式分别适合不同场景。第一种是把AI写的处理逻辑转换成VBA宏我在Excel里按AltF11打开宏编辑器把AI生成的代码粘贴进去再保存为启用宏的工作簿。这种方式最大的好处是离线可用不依赖网络适合数据敏感、不方便上传到外部AI工具的场景。缺点是要碰一下VBA编辑器第一次打开确实有点吓人但其实你不需要懂每一行代码只要会粘贴和运行就行。第二种是Office 365自带的Office Scripts不用碰VBA直接在“自动化”选项卡里创建脚本。AI生成代码后粘贴进去就能跑。它适合有Microsoft 365商业版的人逻辑简单出错了也好排查。第三种是最省事的如果用的是集成了AI助手的表格工具或智能Agent直接把Skill文件夹交给它让它读取后对当前打开的表执行清洗。我试下来这种方式最符合我这种懒人的习惯基本就是选中那个Skill它自己干完活再汇报结果。这里给你一个建议如果只想解决眼前一张表用AI助手内置的方式最方便如果想长期稳定地处理固定格式的报表学一下怎么粘贴VBA宏也值得。别怕那点学习成本跟你每月手动改一下午表的时间比起来真的不算什么。3.4 第一次跑通的心理活动它竟然连合并单元格都处理了第一次跑通的时候说实话我有点意外。我把样本表丢给AI让它按我写的Skill处理几秒钟后它返回了一张新表手机号全部变成了11位数字地址规规矩矩被拆成三列重复编号也都打上了标记。最让我震惊的是那张表里有几个合并单元格我本来以为AI会直接报错结果它自己判断了一下把合并单元格里的值复制到了对应区域的每一行然后再继续处理。我当时第一反应是“这真的是我写的那个规则吗”——我明明根本没写合并单元格怎么办但它自己就处理了。后来我想通了Skill的价值不是把每一步都规定死而是给AI一个明确的目标和约束。至于实现路径它会自己选择最合理的方式。你要做的是把验收标准定清楚其他放心交给它。4. 进阶技能让Skill“越用越懂你”4.1 用“输入输出示例”代替长篇大论我第一次写规则喜欢堆形容词什么“智能识别”“自动纠正”后来发现AI对这类词很无感反而是一对具体的“输入→输出”示例最能说明问题。比如我写过“把地址列拆成省市区”就这么一句话AI拆出来的结果一会儿把“内蒙古自治区”拆成“内蒙古自”一会儿把“北京市”识别成省级、市级都是它。后来我改成在示例里明确写了三种情况输入湖北省武汉市洪山区光谷大道输出湖北省 | 武汉市 | 洪山区 | 光谷大道输入上海市浦东新区世纪大道输出上海市 | 上海市 | 浦东新区 | 世纪大道直辖市时省市同级输入义乌市稠城街道输出省为空 | 义乌市 | 稠城街道加了这几个示例之后AI的准确率肉眼可见地提升了一个档次。你可以把示例当成一种“给AI喂上下文”的手段比干巴巴的规则管用十倍。4.2 把常见异常写进“边界条件”我踩过一个特别冤的坑AI处理手机号的时候把几个明明是座机的号码硬是留下了还在后面标了“正常”。我一看那几个号码是8位数的座机不是手机号。问题出在我没在Skill里说清楚“只处理11位手机号其他号码不要动”。从那以后我开始重视“边界条件”。一句话概括就是除了告诉AI要做什么还得告诉它什么情况不要做、遇到不确定怎么办。比如“凡是长度不等于11位的号码一律标为待人工确认”“地址拆分后如果出现连续三个空值停止操作并提示我检查源数据”。这些规则写起来不花时间但能帮你挡住很多莫名其妙的后遗症。我甚至专门建了一个“踩坑清单”每次AI处理出问题我就把问题补一条到边界条件里这样同一个坑一般不会栽第二次。4.3 版本管理我连“改V1.1”都比改表格有耐心以前改Excel我都是直接改从来不管什么版本。但Skill这东西不一样它是一份会反复演化的“说明书”不做好版本管理你根本不知道自己改到哪一步了。后来我养成了一个习惯每调整一次规则就顺手在Skill文档的头部改一下版本号和日期再写上“本次改了什么”。比如“V1.1 2024-06-15新增直辖市地址拆分示例修复座机误判问题”。这看起来像程序员才干的活其实一点技术含量都没有但对以后排查问题特别有用——哪天输出不对了你能直接翻出“上次还能用这次改完就坏了”的证据。更妙的是当我攒了三个不同场景的Skill之后我开始给它们分类数据清洗类、报表汇总类、格式转换类。每类一个文件夹里面都放着对应版本的SKILL.md和样本示例。说实话这套方式比我一堆乱糟糟的Excel文件整洁多了也让我第一次体会到“积累”的价值。5. 常见问题与排查技巧实录5.1 “表格结构变了”是最高频事故玩Skill最经常翻车的一个场景就是上个月还好好的这个月表格里多了一列、表头改了个名字、或者数据从“横排”变成了“竖排”AI就蒙了。我排查的逻辑是这样的先看是不是版本没更新确认Skill里的规则还在然后把新表的一小段样本丢给AI看它能不能正确识别列。如果规则里写了“提取B列手机号”而新表里手机号跑到了C列那肯定翻车。解决办法有两个一是写规则的时候不要写死“B列”尽量写“识别表头中含有‘手机’或‘电话’的列”二是在Skill开头加一句“如果表头和样例不一致先和用户确认列对应关系”。遇到一次问题就顺手把它写进Skill的“注意事项”里这样这个Skill会随着你的使用越来越多地覆盖边界情况越来越聪明。5.2 AI结果不稳定今天能用明天不能用有一阵子我发现同一个Skill上午跑出来是整齐的表格下午再跑一遍输出风格变了甚至列顺序都换了。一开始我以为是AI“抽风”后来才明白如果没有把输出格式描述清楚LLM确实会有一定的随机性。解决方法是把“输出格式”做成铁律写死每个Sheet名称、列顺序、以及单元格格式甚至可以在Skill里直接放一个“输出模板”的示例文件要求AI严格按这个样式来。这一步加上之后我连续跑了好几次输出结果基本稳定。记住AI随机但你的规则越明确它的随机空间就越小。5.3 宏安全、权限和加载项问题用VBA宏方式运行Skill时最常遇到的就是Excel提示“已阻止宏运行”。这不是程序有问题而是Excel默认的安全设置。你需要在“文件→选项→信任中心→信任中心设置→宏设置”里选择“启用所有宏”或者把文件放到受信任位置。这里要提醒一句如果是公司电脑最好先跟IT确认安全策略别为了跑脚本随便改安全设置。另外如果遇到“加载项”相关报错比如某个插件没启用导致AI生成的脚本无法调用很可能是因为AI代码里用了某个你当前Excel版本没有的函数或库。遇到这种问题不用慌把报错信息复制给AI让它换个实现方式就行。5.4 问题排查速查表现象最可能原因处理办法AI处理完但格式乱七八糟缺少输出格式说明在Skill里写明Sheet名、列顺序和单元格格式某种特殊格式还是漏掉规则覆盖不全把漏掉的场景追加为新的输入输出示例结果偶尔对偶尔错输出标准不严格受随机性影响给出固定输出模板要求严格按模板输出宏被Excel阻止宏安全设置过严确认信任设置或将文件放入受信任位置老Skill处理不了新表表头变更、列结构变动更新Skill中的列识别规则用新样本测试地址拆分配不上省级地址写法多样补充直辖市、自治区等特殊示例这一路折腾下来最重要的一条经验是Skill不是一口气做出来的而是靠一次次小翻车慢慢“磨”出来的。我不需要懂编程也不需要背函数公式只要愿意把脑子里的经验写下来、把做事规则拆清楚AI就能成为我处理表格的得力干将。现在我再拿到一张烂表心态完全不一样了以前是“又要加班了”现在是“先看看能不能做个Skill解决掉”。如果你也被Excel折磨过真心建议从一个小需求开始试试写一份自己的Skill你会发现那些干过无数次、早就干腻了的“脏活”原来有更省力的解法。