Excel小白到高手:我用AI搞定了这10个场景(附公式+Prompt)
Excel是职场人的必修课。
但函数太多记不住,VBA太难学不会,数据一多就卡壳。
现在我处理Excel基本不用动脑——描述需求,AI直接给公式、给代码、给解决方案。
今天分享10个最实用的场景,复制粘贴就能用。
场景1:数据去重

需求:A列有重复姓名,只保留唯一值。
传统做法:数据 → 删除重复项
AI解法:
=UNIQUE(A2:A100)
Prompt:
Excel中A列有重复数据,请给我一个公式提取唯一值,要求:
1. 不破坏原始数据
2. 结果自动更新
场景2:多条件求和
需求:统计"华东区""已完成"的订单金额。
传统做法:筛选 → 手动加,或者写SUMIFS死记语法
AI解法:
=SUMIFS(C:C, A:A, "华东区", B:B, "已完成")
Prompt:
请写一个Excel公式:
- A列是区域,B列是状态,C列是金额
- 求"华东区"且"已完成"的金额总和
- 用SUMIFS函数
场景3:批量提取身份证信息
需求:从身份证号提取出生日期和性别。
AI解法:
' 提取出生日期
=TEXT(MID(A2,7,8),"0000-00-00")
' 判断性别(奇数为男,偶数为女)
=IF(MOD(MID(A2,17,1),2)=1,"男","女")
Prompt:
A列是18位身份证号,请给我公式:
1. 提取出生日期(格式:YYYY-MM-DD)
2. 判断性别
场景4:数据透视表自动化
需求:每月都要做同样的透视表,太麻烦。
AI解法(VBA代码):
Sub 创建透视表()
Dim ws As Worksheet
Dim pt As PivotTable
Set ws = ActiveSheet
' 创建透视表
Set pt = ws.PivotTableWizard(
TableDestination:=ws.Cells(1, 10),
TableName:="月度汇总"
)
' 设置字段
pt.AddField Orientation:=xlRowField, Field:="部门"
pt.AddField Orientation:=xlDataField, Field:="销售额"
MsgBox "透视表已生成!"
End Sub
Prompt:
请写一段Excel VBA代码:
- 基于当前数据区域创建透视表
- 行字段:部门
- 值字段:销售额(求和)
- 透视表放在J1单元格开始的位置
场景5:批量重命名工作表
需求:100个工作表要统一加前缀"2026年-"。
AI解法(VBA):
Sub 批量重命名()
Dim ws As Worksheet
For Each ws In Worksheets
ws.Name = "2026年-" & ws.Name
Next ws
End Sub
场景6:合并多个表格
需求:12个月的销售数据分散在12个Sheet,要合并到一张表。
AI解法(Power Query代码):
let
源 = Excel.CurrentWorkbook(),
筛选行 = Table.SelectRows(源, each Text.StartsWith([Name], "2026")),
展开 = Table.ExpandTableColumn(筛选行, "Content", Table.ColumnNames(筛选行{0}[Content]))
in
展开
Prompt:
Excel中有多个Sheet,名称都是"2026年X月"格式,
请给我Power Query代码,把所有Sheet的数据合并到一个表。
场景7:智能填充缺失数据
需求:A列有空单元格,用上一个非空值填充。
AI解法:
=IF(A2="",B1,A2)
或者选中区域 → Ctrl+G定位空值 → 输入=↑ → Ctrl+Enter
场景8:条件格式高亮
需求:销售额超过10万的单元格标红。
AI解法:
不用公式,直接:
1. 选中数据列
2. 开始 → 条件格式 → 突出显示单元格规则 → 大于
3. 输入100000,选择红色填充
Prompt(如果需要复杂规则):
请给我Excel条件格式的公式:
- 如果B列数值大于A列的110%,标绿色
- 如果小于90%,标红色
公式:
=B1>A1*1.1 ' 绿色
=B1<A1*0.9 ' 红色
场景9:生成图表
需求:根据数据快速生成趋势图。
AI解法:
直接问AI要什么图:
我有A列(月份)和B列(销售额)数据,
请给我VBA代码自动生成折线图,要求:
1. 带数据标签
2. 标题为"2026年销售额趋势"
3. 放在D1单元格附近
场景10:数据清洗(正则表达式)
需求:从混乱文本中提取手机号。
AI解法(Python+Excel):
import re
# 假设数据在A列
phone_pattern = r'1[3-9]\d{9}'
phones = re.findall(phone_pattern, text)
或者用Excel 365的LAMBDA函数:
=LAMBDA(text,LET(
pattern,"1[3-9]\d{9}",
REGEXEXTRACT(text,pattern)
))(A2)
万能Prompt模板
遇到任何Excel问题,用这个模板问AI:
我在Excel中遇到一个问题:
[描述你的需求]
数据情况:
- A列:[描述]
- B列:[描述]
- C列:[描述]
我希望的结果是:[描述期望输出]
请给我:[公式/VBA代码/Power Query步骤]
推荐工具
| 工具 |
适合场景 |
| ChatGPT/Claude |
复杂公式、VBA代码 |
| Excel自带的"告诉我" |
简单操作查询 |
| ChatExcel |
中文自然语言操作Excel |
| Formula Bot |
公式生成专用 |
总结
用AI处理Excel的核心思路:
-
- 描述需求 → 不用记函数名
-
- 复制粘贴 → AI给什么用什么
-
- 微调测试 → 检查是否符合预期
-
- 保存复用 → 常用的存成模板
-
Excel还是那个Excel,但你已经不是原来的你了。
下次遇到Excel问题,先问AI,别硬啃函数手册。