功能定位:为什么“批量取表名”仍是刚需
在 WPS 表格里,工作表名称默认只能手工查看或逐条���制。当文件内含几十张日报、月报模板时,手动列表既慢又容易漏。2026 春季版(内部号 12.8.1.1033)仍没有“一键导出表名”按钮,但借助动态数组函数+「信息宏表」旧 trick,可在无宏、无插件场景下实现公式级自动提取,且结果随增删工作表实时刷新。下文所有路径以 Windows 桌面版为例,Mac 与 Linux 界面按钮名称相同;移动端因函数库阉割,不支持,请改用云文档桌面模式。
前置检查:三步确认环境可用
- 打开「文件 → 账户」,确认版本号 ≥12.8;若低于此,点击「检查更新」三次,直至出现 2026 春季版补丁。
- 「选项 → 高级 → 此工作簿的公式」中,确保「启用动态数组」已勾选(默认开启,企业模板可能关闭)。
- 按 Ctrl+F11 打开名称管理器,若可正常新增名称,则具备后续操作权限;若公司策略禁用了名称管理器,需联系 IT 解封。
核心原理:借「旧版宏表函数」突破工作表级封锁
WPS 为了兼容早期 Excel 4.0 宏,仍保留一组以「GET」开头的宏表函数,其中 GET.WORKBOOK(1) 可返回工作簿内全部工作表名称的横向数组。该函数只能在「定义名称」里调用,不能直接写在单元格;借助动态数组的溢出能力,即可把横向数组一次性“竖”到目标区域,实现批量提取。
Step 1 新建名称:把宏表函数包装成公式变量
选中任意空白单元格 → 菜单「公式 → 名称管理器 → 新建」:
- 名称:SheetList(可自定义,避免与区域重名)
- 引用位置:
=GET.WORKBOOK(1) - 范围:选择「工作簿」级,确保任意表都能调用
点击确定后关闭窗口,此时名称管理器列表应出现 SheetList,但单元格仍无内容,这是正常状态。
Step 2 溢出到区域:用 INDEX+SEQUENCE 竖排
在需要展示表名的 A 列首行输入:
回车后,A 列将自动溢出全部工作表名称,形如:[工作簿名]Sheet1[工作簿名]Sheet2
前缀为文件本名,若只想保留纯表名,可再套 TEXTAFTER("]",...) 函数:
Step 3 建立超链接:让列表可点跳
在 B 列相邻单元格输入:
向下填充即可生成可点击的目录。经验性观察:文件内含 50+ 工作表时,打开速度无明显下降;若超过 200 表,建议把名称管理器中的「SheetList」范围改为「工作表」级,减少全局重算。
平台差异与回退方案
| 平台 | 支持状态 | 最短回退 |
|---|---|---|
| Windows 桌面 | 完全支持 | 删除名称管理器条目即可 |
| macOS 桌面 | 函数可用,路径一致 | 同 Windows |
| Linux(麒麟/统信) | 支持,字体渲染异常不影响公式 | 同 Windows |
| Android/iPad | 无名称管理器入口 | 改用「WPS 云 → 电脑端打开」 |
不适用清单:五类场景请绕行
- 文件已设为「受保护的视图」或「只读模式」:宏表函数被安全策略屏蔽,名称管理器按钮置灰。
- 需要跨工作簿汇总表名:GET.WORKBOOK 仅作用于本文件,无法引用外部簿。
- 公司模板强制「禁用宏」:即使无 VBA,只要宏表函数也被视为宏,打开时会自动删除名称。
- 工作表名称含右方括号 ]:TEXTAFTER 会错位,需改用 SUBSTITUTE 先把 ] 替换为罕见符号再截取。
- 需按自定义顺序而非默认索引排序:公式结果永远按工作表标签从左到右排列,若手动拖拽标签顺序,需重新触发计算(F9)。
常见故障排查表
| 现象 | 可能原因 | 验证方法 | 处置 |
|---|---|---|---|
| #NAME? | SheetList 被误删 | 名称管理器搜索不到 | 重新新建名称 |
| 0 值整列 | 动态数组被关闭 | 选项中查看开关 | 勾选后重启 WPS |
| 溢出区域被覆盖 | 下方单元格有数据 | 选中首格看蓝色边框 | 清空下方区域 |
| 打开文件时名称消失 | 组策略禁用宏表 | 另存为 .xlsm 再打开 | 联系 IT 放行 |
与 Power Query 的取舍:什么时候改用查询器
WPS 2026 春季版已内置「数据 → 获取数据 → 自工作簿」入口,功能与 Excel Power Query 对齐,也能列出工作表名。若文件需定期追加新表,且要合并同类结构数据,优先用查询器:在导航窗格勾选「选择多项 → 仅创建连接」,即可在「查询 & 连接」窗格看到表名列表,刷新一键完成。但 Power Query 结果不会随工作表增删自动回写单元格,需要手动点「刷新」;而公式法实时但无法跨簿。经验性观察:表数量 <30 且只需目录时,公式法最快;超过 100 表且需后续合并,切 Power Query 更稳。
最佳实践 6 条检查表
- 模板交付前,把名称管理器里的「SheetList」范围改为「工作表」级,避免收件人看到多余名称。
- 若工作表名含敏感信息,建议把公式区域设为「隐藏公式」并加工作表保护,防止点击编辑栏泄露。
- 文件需上传政府 OFD 平台时,先「文件 → 导出 → 不含宏的只读副本」,宏表函数会被自动剔除,避免格式审查失败。
- 配合「工作表标签颜色」做二次分组:在公式列旁加条件格式,按颜色名称(需手动维护)筛选,目录更直观。
- 若后续要用 XLOOKUP 按表名取数,记得在名称外套
TEXTAFTER(...,"]")去掉前缀,否则匹配失败。 - 定期按 F9 强制重算,确保拖拽标签顺序后目录同步;或把计算选项设为「自动」。
FAQ(结构化数据,便于搜索引擎抓取)
公式法是否需要在受信中心启用宏?
不需要。GET.WORKBOOK 属于宏表函数,不触发 VBA 宏警告,但若公司组策略统一禁用宏表,则名称会被强制删除。
移动端能否查看自动生成的目录?
可以查看结果,但无法刷新;增删工作表后需回到桌面端重新计算,否则目录保持旧值。
文件保存为 .et 格式是否兼容?
完全兼容,名称与公式均可保存;另存为 .xlsx 再被 Excel 打开时,名称亦有效,但 Excel 会提示「宏表函数」,需允许刷新。
能否只提取隐藏工作表?
GET.WORKBOOK(1) 返回全部表,包括深度隐藏;可再加辅助列用 ISERROR(ACTIVATE() 或 VBA 判断可见性,公式法本身无法区分。
目录公式导致文件变大?
经验性观察:千级工作簿体积增加 <10 KB,可忽略;若复制目录为值,即可彻底去除名称并瘦身。
总结与下一步行动
借助宏表函数 GET.WORKBOOK 与动态数组,WPS 表格可在不写 VBA、不装插件的前提下,用三行公式实现工作表名称批量提取+自动刷新。若你的文件表数在几十量级、且需要随删插实时同步,优先采用本文的「名称+INDEX+SEQUENCE」方案;若表数过百且需后续数据合并,则考虑迁移到 Power Query。现在就打开 WPS,按文内「前置检查」确认版本,新建一个「SheetList」名称,把目录公式复制进去,十分钟内即可交付一份可点击、可跳转、可打印的工作表总览。
