sheet;sheetnames;sheets函数区别以及和indirect及hypelink函数的组合使用举例说明
浅谈出口账务和excel函数 sheet、sheetnames、sheets 应该是 Excel 函数 SHEET、SHEETS,以及一个常被误写的 SHEETNAMES(Excel 本身没有这个函数,通常指自定义函数或新版 WPS 的 SHEETNAMES)。下面分别说明区别,并给出与 INDIRECT、HYPERLINK 的组合用法。
SHEET Excel 内置 返回某个工作表或单元格所在工作表的序号 数字
SHEETS Excel 内置 返回一个引用中包含的工作表数量 数字
SHEETNAMES Excel 无内置;WPS/自定义有 返回工作簿中所有工作表名称 数组/文本
=SHEET("Sheet3") → Sheet3 的序号
=SHEETS(Sheet1:Sheet3!A1) → 该引用跨几张表
· Excel 原生没有,需用 定义名称 + GET.WORKBOOK 或 VBA 实现。
· WPS 新版可直接用 SHEETNAMES() 返回所有表名。
简单记:SHEET 查序号,SHEETS 数数量,SHEETNAMES 列名字。
INDIRECT 把文本转成引用,常用来动态跨表取值。
A1 输入表名(如 Sheet2),B1 取该表 A1:
=INDIRECT("Sheet"&SHEET()&"!A1")
取当前表序号拼成表名再引用,适合表名规律为 Sheet1、Sheet2… 的情况。
=SUM(INDIRECT("Sheet1:Sheet"&SHEETS()&"!A1"))
例4:SHEETNAMES + INDIRECT 批量取数
HYPERLINK 做可点击跳转,常和 INDIRECT 一起实现“动态目录”。
=HYPERLINK("#'Sheet2'!A1","跳到Sheet2")
=HYPERLINK("#'"&A1&"'!A1","跳到"&A1)
B 列放表名,C 列做链接,D 列用 INDIRECT 显示该表 A1:
C2: =HYPERLINK("#'"&B2&"'!A1",B2)
例4:SHEETNAMES 自动生成目录(WPS/自定义)
若 SHEETNAMES() 返回表名数组,配合:
=HYPERLINK("#'"&INDEX(SHEETNAMES(),ROW(A1))&"'!A1",INDEX(SHEETNAMES(),ROW(A1)))
1. INDIRECT 不支持跨工作簿引用(除非源簿已打开)。
2. 表名含空格或特殊字符时,要加单引号:"'My Sheet'!A1"。
3. SHEET/SHEETS 是易失性函数,大量使用会拖慢计算。
4. SHEETNAMES 在 Excel 中需借助 GET.WORKBOOK 定义名称或 VBA,不是原生函数。
5. HYPERLINK 只负责跳转,不会自动取数;取数要靠 INDIRECT 或直接引用。