跳转至

SHEETS 函数

函数概述

SHEETS 函数用于返回指定引用中包含的工作表数量。它常用于:

  • 快速统计工作簿里有多少张表
  • 配合目录/索引类公式做动态判断(例如:生成序号、控制循环式引用范围等)
  • 在模板中检测“是否新增/减少了工作表”

需要注意的是:SHEETS 统计的是工作表(worksheet)的数量,而不是工作簿中所有对象(如图表工作表等,取决于版本与对象类型;通常图表工作表不作为普通工作表计入,实务中建议以“工作表”理解并验证你的文件类型)。


基础语法

=SHEETS([reference])

参数说明

参数 是否必填 类型 说明
reference 引用 要统计其中工作表数量的引用(可以是单个工作表引用、工作表区域引用、3D 引用等)。省略时,返回当前工作簿的工作表数量。

基础用法示范

1)统计当前工作簿的工作表数量

=SHEETS()

说明:不填写参数时,直接返回当前工作簿中工作表的总数。适合做“模板自检”或在封面页展示工作簿规模。


2)统计某个工作表引用中包含的工作表数量

=SHEETS(Sheet1!A1)

说明:当 reference 引用只落在一张工作表上时,结果通常为 1。 这类写法多用于:在更复杂的 3D 引用或区域引用中保持统一结构。


3)统计工作表区间内的工作表数量

假设工作簿中存在从 JanDec 的月度工作表(中间都是工作表),可以写:

=SHEETS(Jan:Dec)

说明Jan:Dec 表示从工作表 Jan 到工作表 Dec 的连续工作表区间(按工作表标签的排列顺序)。SHEETS 会返回该区间内的工作表数量。 这在“按月建表”的模型里非常常见:新增月份表后,数量会自动变化。


4)结合SHEET做“当前表的序号 / 进度”

如果你想知道当前工作表在 Jan:Dec 区间内是第几张(例如在 Feb 表显示 2),可以用:

=SHEET()-SHEET(Jan)+1

说明

  • SHEET() 返回当前工作表的索引位置(按工作表从左到右的顺序编号)
  • SHEET(Jan) 返回 Jan 工作表的索引
  • 二者相减 +1,可得到“当前表相对于 Jan 的序号”

(这里用到了 SHEET 函数,是为了更贴合实际“按区间计数/定位”的需求。)


5)用 SHEETS 做动态提示

例如模板要求必须有 12 张月度表(不含封面),可以在封面做校验:

=IF(SHEETS(Jan:Dec)=12,"月度表齐全","请检查月度表数量")

说明:当有人误删/漏建工作表时,封面会直接给出提示,适合交付型模板。


总结

  • SHEETS 的核心用途是:返回指定引用中包含的工作表数量
  • 省略参数 reference 时,可快速得到当前工作簿工作表总数=SHEETS()
  • 当你使用工作表区间(如 Jan:Dec)时,SHEETS 能非常方便地统计一段连续工作表的数量,适合月度/周度/项目分表模型。
  • 配合 SHEET / IF 等函数,SHEETS 能用于进度判断、模板校验、动态控制等场景,让工作簿更“自适应”。