面向进阶用户的宏、函数与自动化专题站 网站地图
宏与脚本

用宏做自定义函数:像公式一样使用

·3 分钟
用宏做自定义函数:像公式一样使用
本文目录
  1. 自定义函数是什么
  2. 结构与两个要素
  3. 三个实用示例思路
  4. 与普通宏的区别
  5. 使用上的三个限制
  6. 怎么让函数更稳
  7. 什么时候不该用自定义函数
  8. 团队共享的做法
  9. 先算清楚再封装

内置函数覆盖了大部分需求,但遇到本单位特有的计算规则时,写一个自定义函数会更省事。

自定义函数是什么

它是一段写在宏编辑器里的代码,可以在单元格里像普通公式一样调用。输入函数名与参数,就得到计算结果。区别在于逻辑由你自己定义,因此能处理内置函数覆盖不到的场景。

结构与两个要素

自定义函数包含参数与返回值。参数是传进去的数据,返回值是算出来的结果。写好之后单元格里写函数名加括号并通过参数,就能得到结果,与使用内置函数没有区别。

三个实用示例思路

按层级折算价格:传入数量与层级,返回折算后的单价;提取编号中的年份:传入编号,返回其中一段;判断是否在有效期内:传入日期,返回是或否。三个例子都不复杂,却能显著减少手工计算。

与普通宏的区别

普通宏是执行动作,比如设置格式、导出文件;自定义函数是返回一个值,用于单元格计算。两者可以配合:宏负责批量处理,函数负责单格计算。

使用上的三个限制

自定义函数不能修改工作表内容,只能返回值;文件发给别人时,对方也需要启用宏才能看到结果;运算比内置函数慢,数据量大时要注意性能。

怎么让函数更稳

对参数做检查,例如日期是否合法、数量是否为空;出错时返回明确提示而不是错误值;把说明写在函数里,方便他人理解用途。

什么时候不该用自定义函数

能用内置函数组合解决的就不要自己写,内置函数更快也更稳。只有规则确实特殊、并且会长期反复使用时,才值得写自定义函数。

团队共享的做法

把自定义函数放在模板文件里一起分发,并写一份简短说明:函数名、参数含义、使用示例。WPS的宏文件可以保存注释,交接时比口头讲解可靠得多。

项目 说明 注意点
参数 传入的数据 需做合法性检查
返回值 算出的结果 不能修改表格
调用 像公式一样使用 需启用宏
共享 随模板分发 附使用说明

先算清楚再封装

写函数之前先用普通公式把规则验证一遍,确认结果正确再翻译成函数。WPS表格里可以并排展示手工计算与函数结果,核对一致后再投入使用,能避免把错误规则固化下来。

自定义函数是把业务规则固化进表格的方式。把WPS宏里的函数写法掌握之后,那些每年都要手动算一遍的规则,就可以交给一个名字来处理。