界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
文档与办公 · SKILL.md

wps-formula

wps-formula

【文档与办公】表格公式助手。描述你的计算需求,帮你写出对应的WPS表格公式, VLOOKUP、SUMIF、IF嵌套都支持,还说明WPS和Excel的兼容差异。 用于帮助用户生成WPS表格公式。当用户提到公式、函数、怎么算时触发。 WPS spreadsheet formula assistant.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: wps-formula description: | 表格公式助手。描述你的计算需求,帮你写出对应的WPS表格公式, VLOOKUP、SUMIF、IF嵌套都支持,还说明WPS和Excel的兼容差异。 用于帮助用户生成WPS表格公式。当用户提到公式、函数、怎么算时触发。 WPS spreadsheet formula assistant. license: MIT user-invocable: true argument-hint: '[用中文描述你想算什么]' allowed-tools: 'Read, Grep, Glob, Bash, Write, Edit' metadata: author: BWKYD title: 表格公式助手 description_zh: 描述你的计算需求,帮你写出对应的WPS表格公式 tags: - WPS - 公式 - 函数 - 表格 - Excel version: 1.0.3 license: MIT

WPS 公式专家

用中文描述你想算什么 → 自动生成 WPS 表格公式。

核心原则:生成的公式必须在 WPS 表格中可直接使用。注意 WPS 与 Excel 的函数差异。

When to Use

  • 用户不知道该用什么函数
  • 用户需要复杂的嵌套公式
  • 用户遇到公式错误(#VALUE!, #REF!, #N/A等)
  • 用户需要从自然语言描述转换为公式
  • 用户问"怎么用公式实现XXX"

When NOT to Use

  • 用户需要编写WPS宏脚本 → 使用 wps-jsa-macro
  • 用户需要数据清洗(去重/去空)→ 使用 wps-data-clean
  • 用户需要创建数据透视表 → 使用 wps-pivot

工作流程

Step 1: 理解需求

确认:

  • 数据位置:数据在哪些单元格/列?(如"A列是姓名,B列是销售额")
  • 计算目标:想得到什么结果?
  • 特殊条件:是否有筛选条件、多条件、跨表引用?

Step 2: 生成公式

输出格式必须包含:

📌 公式:
=YOUR_FORMULA_HERE

📝 说明:
- 逐段解释公式的每个部分
- 指出关键函数的作用

📋 使用方法:
- 在哪个单元格输入
- 是否需要下拉填充
- 注意事项

⚠️ 注意:
- WPS兼容性提醒(如有)
- 常见陷阱

Step 3: 公式调试(如遇到错误)

用户反馈错误时,按此流程排查:

#VALUE!  → 数据类型不匹配(文本vs数字),检查是否有空格或隐藏字符
#REF!    → 引用的单元格被删除或超出范围
#N/A     → 查找函数未找到匹配值,检查查找值是否完全一致
#NAME?   → 函数名拼写错误或WPS不支持该函数
#DIV/0!  → 除数为零,用IFERROR包裹
#NUM!    → 数值参数无效
循环引用  → 公式直接或间接引用了自身所在单元格

WPS 函数速查(按场景分类)

查找匹配(最高频!)

场景推荐公式示例
精确查找VLOOKUP=VLOOKUP(A2,Sheet2!A:C,3,0)
左向查找INDEX+MATCH=INDEX(A:A,MATCH(D2,C:C,0))
多条件查找INDEX+MATCH嵌套=INDEX(D:D,MATCH(1,(A:A=F2)*(B:B=G2),0)) ⚠️需Ctrl+Shift+Enter
模糊匹配VLOOKUP通配符=VLOOKUP("*"&A2&"*",B:C,2,0)
存在性检查COUNTIF=IF(COUNTIF(B:B,A2)>0,"有","无")

条件统计

场景推荐公式示例
单条件求和SUMIF=SUMIF(A:A,"销售部",B:B)
多条件求和SUMIFS=SUMIFS(C:C,A:A,"销售部",B:B,">1000")
单条件计数COUNTIF=COUNTIF(A:A,"合格")
多条件计数COUNTIFS=COUNTIFS(A:A,"男",B:B,">=90")
条件平均AVERAGEIF=AVERAGEIF(A:A,"A班",B:B)
条件最大MAXIFS=MAXIFS(B:B,A:A,"销售部") ⚠️WPS2019+

文本处理

场景推荐公式示例
提取前N字符LEFT=LEFT(A2,3)
提取后N字符RIGHT=RIGHT(A2,4)
提取中间MID=MID(A2,4,8) 从第4位取8个字符
查找位置FIND/SEARCH=FIND("@",A2) FIND区分大小写
替换SUBSTITUTE=SUBSTITUTE(A2," ","") 去空格
合并文本CONCATENATE/&=A2&"-"&B2
文本转数字VALUE=VALUE(A2)
数字转文本TEXT=TEXT(A2,"0.00")
去首尾空格TRIM=TRIM(A2)
提取中文正则不支持用VBA/JSA替代

日期时间

场景推荐公式示例
今天日期TODAY=TODAY()
两日期间隔直接相减=B2-A2 结果为天数
计算年龄DATEDIF=DATEDIF(A2,TODAY(),"Y")
提取年/月/日YEAR/MONTH/DAY=YEAR(A2)
工作日计算NETWORKDAYS=NETWORKDAYS(A2,B2)
月末日期EOMONTH=EOMONTH(A2,0) 当月末
日期格式化TEXT=TEXT(A2,"YYYY年M月D日")

逻辑判断

场景推荐公式示例
单条件判断IF=IF(A2>=60,"及格","不及格")
多层判断IFS或嵌套IF=IFS(A2>=90,"优",A2>=60,"及格",TRUE,"不及格")
错误处理IFERROR=IFERROR(VLOOKUP(...),"未找到")
多条件与AND=IF(AND(A2>0,B2>0),"有效","无效")
多条件或OR=IF(OR(A2="经理",A2="总监"),"管理层","普通")

数组公式(Ctrl+Shift+Enter)

⚠️ WPS中数组公式需要按 Ctrl+Shift+Enter 确认,公式两端会显示{}

常用数组公式:
- 多条件查找:=INDEX(D:D,MATCH(1,(A:A=F2)*(B:B=G2),0))
- 条件去重计数:=SUMPRODUCT(1/COUNTIF(A2:A100,A2:A100))
- 多列求和:=SUMPRODUCT((A2:A100="条件")*B2:B100*C2:C100)

WPS 与 Excel 函数差异

函数ExcelWPS说明
XLOOKUPExcel 365+WPS 2021+旧版WPS不支持,用INDEX+MATCH替代
MAXIFS/MINIFSExcel 2019+WPS 2019+旧版用MAX(IF())数组公式替代
IFSExcel 2019+WPS 2019+旧版用嵌套IF替代
CONCATExcel 2019+WPS 2019+旧版用CONCATENATE
TEXTJOINExcel 2019+WPS 2019+旧版无直接替代
UNIQUEExcel 365部分WPS支持建议用高级筛选或JSA宏替代
FILTERExcel 365部分WPS支持建议用高级筛选替代
SORTExcel 365部分WPS支持建议用排序功能替代
LETExcel 365不支持无法使用
LAMBDAExcel 365不支持无法使用

安全策略: 默认使用兼容性最好的函数(VLOOKUP而非XLOOKUP),除非用户明确使用新版WPS。

金额大小写转换公式

这是中国财务场景的超高频需求:

=IF(A1<0,"负","")&IF(INT(A1)=0,"零",
TEXT(INT(ABS(A1)),"[DBNum2]")&"元")&
IF(INT(ABS(A1)*10)-INT(ABS(A1))*10=0,
IF(INT(ABS(A1)*100)-INT(ABS(A1)*10)*10=0,"整","零"),
MID("壹贰叁肆伍陆柒捌玖",INT(ABS(A1)*10)-INT(ABS(A1))*10,1)&"角")&
IF(INT(ABS(A1)*100)-INT(ABS(A1)*10)*10=0,"",
MID("壹贰叁肆伍陆柒捌玖",INT(ABS(A1)*100)-INT(ABS(A1)*10)*10,1)&"分")

示例

# 自然语言→公式
/wps-formula 我想统计A列中"销售部"对应的B列金额总和

# 复杂需求
/wps-formula A列是姓名B列是部门C列是销售额,帮我找出每个部门销售额最高的人

# 错误修复
/wps-formula 我的VLOOKUP返回#N/A,查找值在A列,数据在Sheet2的A到D列

参考

函数详细分类见 reference/formula-categories.md。 中文排版通用规范见 ../shared/chinese-typesetting.md。

我的收藏