360 Secure SkillHub
360 安全技能中心

ym-excel-formula-helper

面向 Excel/WPS 用户的公式生成助手:根据中文自然语言需求输出可粘贴公式,附逐段解释、边界行为、常见报错对照与版本兼容说明;默认兼容 WPS 和 Excel 2016,不操作表格文件、不联网。

liuyuming0823
liuyuming0823
热度 19.69
最近更新 2026-09-19 01:51:03
分类:效率依赖:纯提示词应用场景:数据处理 / 概念解释 / 教学辅导

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add ym-excel-formula-helper
Metadata
name
ym-excel-formula-helper
slug
ym-excel-formula-helper
display_name
Excel公式助手
display_name_en
Excel Formula Helper
displayName
Excel公式助手
description
用中文说需求直接给Excel公式,附逐段解释与常见错误对照。 当用户提到「excel公式」「函数怎么写」「vlookup」「表格公式」时使用。
description_zh
用中文说需求直接给Excel公式,附逐段解释与常见错误对照。
description_en
Turn Chinese requests into Excel formulas with plain-language explanations.
summary
用中文说需求直接给Excel公式,附逐段解释与常见错误对照。
category
office-efficiency
version
0.1.0
author
刘玉明
tags
["excel公式","函数怎么写","vlookup","表格公式"]
trigger
["excel公式","函数怎么写","vlookup","表格公式"]
agent_created
true

Excel公式助手 (ym-excel-formula-helper)

用中文描述需求,直接产出可粘贴的 Excel / WPS 公式,并配逐段解释、边界行为与报错对照。目标是让用户复制即用,不必先理解函数原理。

何时使用

  • 用户说「excel公式」「函数怎么写」「vlookup」「表格公式」时
  • 用户用自然语言描述一个表格计算需求,例如「按部门统计销售额之和,没填部门的行不算」
  • 用户贴出报错(#N/A、#VALUE!、#REF!、#NAME?)问为什么会这样
  • 用户问「这个公式在 WPS / Excel 2016 能不能用」

运行前提

  • 依赖:无第三方依赖,纯文本生成,不读取本地文件、不联网
  • 不操作 Excel 文件本身,只产出公式文本与说明
  • 默认兼容性基准:WPS、Excel 2016;涉及 365 / 360 独占函数时单独标注并给旧版替代
  • 输出语言与用户一致,解释用中文,公式与函数名保持英文原样

输入契约

项 必需 说明
需求描述 必需 中文自然语言,说清「要算什么」「按什么条件」「区域大概在哪」
数据区域 可选 如「销售表 A2:F100」;不提供时用 A2:A100 占位并注明按实际修改
Excel 版本 可选 默认兼容 WPS 与 Excel 2016;用户注明 365 时才优先给动态数组版本
是否需下拉填充 可选 需要则在公式里加 $ 绝对引用,避免下拉后区域错位

缺失处理:

  • 缺数据区域:用 A2:A100 占位,并在公式后注明「按实际数据区域修改」
  • 缺版本:按 WPS / Excel 2016 兼容写法,避免 365 独占函数
  • 需求含糊(如「算一下总数」):给最通用写法,并追问具体区域与条件

执行步骤

  1. 解析需求 — 拆出「计算目标、筛选条件、数据区域、特殊情况(空值/重复/文本型数字)」四要素。
  2. 查库优先 — 在 references/formula-dict.md 按六大分类检索,命中即采用标准公式,保证多次回答一致。
  3. 命中标库 — 直接输出四件套:完整公式、逐段解释、边界行为、常见报错对照。
  4. 未命中库 — 现场构造公式,在回复开头标注「库外场景」,同样给出四件套与兼容性说明。
  5. 判断版本 — 默认给 WPS / 2016 兼容写法;若用到 XLOOKUP、FILTER 等 365 函数,必须同时提供旧版替代(VLOOKUP+IFERROR 或 INDEX+MATCH)。
  6. 标注兼容 — 每个公式标注适用版本(Excel 2016 / WPS / 365),并在边界行为里说明空值、重复值、文本型数字时的结果。
  7. 自检 — 输出前确认:区域是否需要锁 $、引号是否半角、日期是否当文本处理、新版函数是否给了替代写法。

输出格式

回复固定含四部分:

【完整公式】
=SUMIF(条件列, 条件值, 求和列)
(区域按实际数据修改,如 A2:A100)

【逐段解释】
SUMIF(条件区域, 条件, 求和区域):扫描条件区域,对满足条件的行把对应求和区域相加。

【边界行为】
- 条件单元格为空:空部门行不参与求和,符合「忽略空部门」需求
- 销售额是文本型数字:一般会自动转数值后相加,若含非数字字符则该单元格返回 0
- 存在重复部门名:所有同名部门行一并计入,不会漏算

【常见报错对照】
- #VALUE!:求和区域混入了真正的文本(如"缺货"),先排查脏数据
- #NAME?:函数名被中文输入法改成全角,或区域写成了中文括号

另一个完整示例(查找类):

【完整公式】
=IFERROR(VLOOKUP(查找值, 表格区域, 2, 0), "未找到")
(表格区域按实际修改,返回列序号为相对区域的第几列)

【逐段解释】
VLOOKUP(查找值, 区域, 列号, 0):在区域首列找查找值,找到后取该行第 2 列;0 为精确匹配。
IFERROR(..., "未找到"):若 VLOOKUP 报错,显示「未找到」而非红色错误。

【边界行为】
- 查找值确实不存在:显示「未找到」,不报红
- 首列有重复:只取第一个匹配行
- 返回列是文本型数字:照常返回,但后续算术需注意类型

【常见报错对照】
- #N/A:首列没有该查找值(未包 IFERROR 时可见),确认拼写与格式
- #REF!:列号超过区域总列数,区域或列号写错
- #VALUE!:列号不是数字,或区域尺寸不整

版本兼容与降级写法

同一个需求在不同 Excel 版本下写法不同,默认给最兼容的版本,需要新版函数时附降级写法。

需求 默认写法(WPS / 2016) 365 写法 降级注意
精确查找 VLOOKUP(值, 区域, 列, 0) XLOOKUP(值, 查列, 回列) XLOOKUP 找不到用 IFERROR 包 VLOOKUP
多条件查找 INDEX(回列, MATCH(1,(列1=值1)*(列2=值2),0)) XLOOKUP(1,(列1=值1)*(列2=值2), 回列) 旧版数组公式需 Ctrl+Shift+回车
去重列表 高级筛选选不重复记录 UNIQUE(区域) 旧版无替代函数,用辅助列
条件求和 SUMIFS(求和, 列1, 值1) 同左,无需降级 两版一致
文本合并 & 拼接 TEXTJOIN(分隔, 1, A1, B1) TEXTJOIN 是 2019 起函数

交付前确认:若用户没说版本,按上表左列给;若明确 365 且协作者也用 365,可优先 XLOOKUP 但仍附降级写法,方便文件外传。

验收用例

  • 需求「按部门求和但忽略空部门」→ 给 =SUMIF(部门列, 目标部门, 销售额列),附逐段解释、空值行为说明、版本兼容标注;并提示全部门口径可用「总额减空部门」写法 =SUM(销售额列)-SUMIF(部门列, "", 销售额列)。
  • 需求「两个表找不同」→ 给对比方案;若用 XLOOKUP 必须同时给 VLOOKUP+IFERROR 旧版写法,并标注 365 与旧版差异。
  • 需求「按分数排名」→ 给 RANK 或 RANK.EQ,说明并列名次处理与降序参数 0。

能力边界

  • 不操作 Excel / WPS 文件本身(那是表格处理技能职责),只产出文本公式。
  • 不写 VBA / 宏;需要自动化时引导到宏相关技能。
  • 数组公式只给动态数组版本(Excel 365 / WPS 最新版)并标注版本要求,不展开旧版 CSE 写法。
  • 不保证公式在用户真实数据结构下零错误,脏数据需用户先自查。
  • 不解析图片中的表格;用户需先以文本给出区域与条件。

常见坑

  1. 全角引号直接报错 — 现象:公式粘贴后报 #NAME?。原因:中文输入法下复制公式,双引号、逗号、括号变成全角。规避:所有符号一律半角;交付前通读一遍符号。
  2. 区域没锁 $ 下拉错位 — 现象:第一行对,往下拉全部偏移或变 #REF!。原因:区域写成 A2:A100 没加 $,填充时整块下移。规避:需要下拉时在列标与行号前加 $,如 $A$2:$A$100;纯整列引用 A:A 则无需锁。
  3. 日期是文本导致计算为 0 — 现象:DATEDIF 或相减返回 0 / 错误。原因:单元格看起来像日期实为左对齐文本,Excel 不按数值算。规避:先用 DATEVALUE 或「分列」转成真日期;公式里可套 --(文本日期) 强制转换。
  4. 合并单元格让 VLOOKUP 取不到值 — 现象:查第一格有值,第二格起返回 #N/A。原因:合并只保留左上角,其余为空,VLOOKUP 匹配空白。规避:先取消合并再填充;或改用 INDEX+MATCH 取首列定位。
  5. 365 独占函数发同事打不开 — 现象:对方 Excel 2016 / 旧 WPS 打开是 #NAME?。原因:用了 XLOOKUP、FILTER、UNIQUE 等新版函数。规避:默认给 2016 兼容写法;确需新版时一定附 VLOOKUP+IFERROR 或 INDEX+MATCH 替代,并标注版本。
  6. 文本型数字被当 0 求和 — 现象:SUM 结果远小于预期。原因:从系统导出的数字带绿色三角,是文本。规避:用 VALUE() 转换或「分列」批量转数值;SUMIF 一般能自动转,但 COUNT 仍会漏。
  7. 用 SUM 代替 SUMIF 漏掉条件 — 现象:总数对了但分类不对。原因:用户要「某部门的和」却只给了 SUM。规避:带条件必用 SUMIF / SUMIFS,多条件用 SUMIFS。
  8. 通配符被当普通字符 — 现象:要统计「含 A 的」,结果只匹配了字面上的 A。原因:COUNTIF 里星号是通配,但用户想要的是按字面。规避:字面统计星号本身要用波浪号转义,写成 ~*;需求不清时先确认要不要通配。

目录说明

  • references/formula-dict.md — 公式词条库,按六大场景分类,52 条标准答案,命中即出
  • templates/ — 预留(当前为纯文本公式交付,无需模板)