EP03. “Month Names 月份名称自定义函数”
🔒 登录后可标记已读- 用 EP02 的 Array 函数做一个实际案例:自己写一个叫 MONTHNAMES 的自定义函数
- 这个自定义函数一次返回 12 个月份的英文缩写
- 前置知识:EP02 的 Array 函数
- 学完能理解怎么把「函数」跟「数组」结合起来用
重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等)。
建立自定义函数
- 打开 VBA 编辑器,插入一个新模块
- 输入以下代码:
Function MONTHNAMES()
MONTHNAMES = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
End Function
在工作表里使用
- 旧版本 Excel:先选中 12 个横向排列的单元格,输入
=MONTHNAMES(),按Ctrl + Shift + Enter确认(数组公式) - Excel 365 / 2021:只需要选中 1 个单元格,输入
=MONTHNAMES(),按Enter,结果会自动「溢出(spilling)」铺满右边的单元格
📌 这个自定义函数只在建立它的这份工作簿里可以用。想清除结果,要选中整个范围再按 Delete。
新旧版本用法怎么选
| 版本 | 用法 | 备注 |
|---|---|---|
| 旧版本 Excel | 先选 12 个横向单元格,输入公式后按 Ctrl + Shift + Enter | 传统数组公式写法 |
| Excel 365 / 2021 | 选 1 个单元格输入公式,按 Enter | 结果自动溢出(spilling)铺满右边 |
学完你会
- ✅ 用自定义 Function 包一个 Array,一次返回一整批固定值
- ✅ 分辨旧版数组公式(
Ctrl + Shift + Enter)和新版溢出公式的用法差异 - ✅ 知道自定义函数只在建立它的那份工作簿里可以用
常见错误
- 旧版本 Excel 忘记先选好 12 个单元格、按
Ctrl + Shift + Enter,只在单一格输入会看不到完整结果 - 想在其他工作簿里用 MONTHNAMES,忘记自定义函数是绑定在建立它的那份文件里的
- 数组公式的结果想单独删除某一格,报错——要选中整个范围才能删除
Sources
Blog / Website: