
在具有许多不同选项卡的工作簿中工作时,能够提取、引用和使用特定的工作表名称可以节省大量时间。在本教程中,我们将介绍如何使用公式获取工作表名称的几种不同方法。
内容:
P可识别用例
方法 1 – 使用 RIGHT 和 FIND 函数的工作表名称(旧方法)
方法 2 – 使用 TEXTAFTER 的工作表名称(最简单的方法)
方法 3 – 使用 TEXTSPLIT 的工作表名称(替代方法)
可能的用例
您可能会发现自己需要提取您正在处理的特定工作表的名称,这有几个主要用例。
第一个也是最基本的用例是用于标题目的。通常,您需要在工作表本身上显示一个名为“1 年第一季度预测”或“销售仪表板”的工作表,让其他人知道工作表中包含哪些内容。使用此公式可以加快工作流程,并减少制作工作表的许多不同副本和版本所需的时间。
同样,假设您有一个包含 30 名销售员工薪酬数据的工作簿,模板工作表根据员工 ID 运行查找和不同的 SUMIF。使用此方法,您只需将工作表名称保留为员工 ID 并引用工作表名称,只需保留工作表名称作为员工 ID 并引用工作表名称,只需为每个新副本更新工作表名称,则无需创建 30 个副本并重命名工作表名称。
您可能还希望在公式中引用工作表名称。使用以下方法作为基础来提取正确的工作表名称将避免在工作表名称中进行硬编码并减少出错的可能性。
方法
1. 使用 RIGHT 和 FIND 函数的工作表名称(旧方法)
= RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename")))
这个公式有几个不同的部分需要分解。最重要的是“CELL(”文件名“)”。此函数将始终返回在其中找到工作表的完整文件路径。从硬盘驱动器到文件夹,方括号中的工作簿名称,最后是工作表名称。
为了仅提取工作表名称,我们需要使用 RIGHT 公式将其从这个长字符串中提取出来。但是,由于工作表名称的长度可能不同,因此我们需要一种方法来确定工作表名称组成了多少个字符。
为此,我们使用 FIND 函数,它告诉我们 “]” 字符在完整路径中出现的位置。由于我们希望所有内容都位于该字符的右侧,因此我们可以使用 LEN 取整个文件名的长度,并减去 “]” 字符左侧存在的字符数,从而留下工作表名称中的字符数。
从那里,我们只需使用 RIGHT 函数从完整文件路径中提取特定数量的字符。
综合在一起,我们看到在总共 76 个字符中,其中 59 个字符位于“]”字符之前,减去这两个数字后,您剩下 17 个字符,即文件名的长度。
如果您运行的是新版本的 Excel,则可以使用 LET 函数清理此问题。如果没有,您可能需要使用上述功能。
= LET( filename, CELL("filename"), RIGHT(filename, LEN(filename) - FIND( "]", filename)))
使用 LET 允许我们将 “CELL(”文件名“)” 分配给变量文件名,并在公式中引用它,而不是重复调用 “CELL(”文件名)”。
这会直观地清理公式,并使其更容易跟踪正在发生的事情。
2. 使用TEXTAFTER函数的工作表名称(最简单的方法)
= TEXTAFTER(CELL("filename"),"]")
TEXTAFTER函数对excel来说是相当新的,但允许我们提取工作表名称的最简单方法。TEXTAFTER 函数将在指定的分隔符之后返回单元格中的任何文本。
由于每次我们引用 =CELL(“文件名”)时,工作簿名称都会括在方括号中,后跟工作表名称,因此我们希望所有文本都位于“]”字符之后。
这个公式只是取文件名中“]”字符后面的所有文本,给我们留下工作表名称。
3.使用文本拆分功能的工作表名称(替代方法)
= INDEX(TEXTSPLIT(CELL("filename"),"]"),,2)
因为 TEXSPLIT 实际上将输入拆分为单独的列,如果我们只使用 TEXSPLIT 而不使用 INDEX,你会在一个数组中得到两个动态溢出的单元格。第一个单元格包含“]”分隔符之前的所有内容,第二个单元格包含“]”分隔符之后的所有内容。
通过将 INDEX 添加到此函数中,我们可以告诉 Excel,在这两个单元格中,我们只希望返回数组中的第二个单元格。只给我们留下工作表名称。
评论0