[Excel] 在单元格中显示工作表名称的函数

Eva

本文推荐给以下人群:

  • 想了解获取Excel工作表名称函数的人

使用 Excel 时,有时您希望在单元格中显示工作表名称。

特别是对于使用多个工作表的模板,使用函数显示“此工作表的名称是什么”非常有用。

在本文中:CELL(“文件名”)我们将介绍三种方法,从可从 获取的“书籍完整路径+工作表名称”中仅提取工作表名称。

由于Excel版本和公式编写方法不同,请选择适合您环境的方法。

使用这些函数时的一个重要注意事项是您必须至少保存一次 Excel 文件。
如果您在新创建的工作簿中使用函数,“VALUE!”将显示,因此请务必在输入公式之前保存文件。

目录

检索工作表名称的函数大致分为三种类型。
请根据您使用的 Excel 版本和您的经验使用不同的版本。

如果您不知道所使用的 Excel 版本,如何提前检查 Word、Excel、Outlook 和 PowerPoint 的版本请参考并核对。

  1. 如果您使用的是最新版本的 Excel(Microsoft 365 订阅版本)
    TEXTAFTER最简单也是最推荐的。
  2. 如果您使用的是旧版本的 Excel 并且熟悉替换的思想。
    REPLACE + FIND使用。
  3. 如果您熟悉传统的字符串分割技术
    RIGHT + LEN + FIND该组合是安全的。

TEXTAFTER 函数

虽然这个函数非常简单并且公式也很容易理解,Microsoft 365 订阅版本只能用于

=TEXTAFTER(CELL("filename", A1), "]")

■ 工作原理

TEXTAFTER是一个新的 Excel 函数,用于提取指定分隔符后的文本。

  • CELL("filename", A1)对于通过 得到的字符串,将分隔符设置为"]"设置为。
  • "]"它将仅返回 后面的部分,即工作表名称。

■ 推荐给这些人

REPLACE函数+FIND函数

该函数格式简单,对于熟悉替换操作的人来说很容易上手。

它还具有高度兼容性,因为它适用于所有 Excel 版本。

不过,如果你不知道如何使用FIND函数获取字符个数然后进行替换的话,直观上理解可能会有些困难。

=REPLACE(CELL("filename", A1), 1, FIND("]", CELL("filename", A1)), "")

■ 工作原理

  1. 第一的,CELL("filename", A1)获取包含文件名和工作表名称的字符串。
  2. FIND("]", … )"]"找出里面有什么角色。
  3. 从字符串的开头(第一个字符)"]"一次性全部为空字符""替换为并删除它。
  4. 因此,"]"仅保留紧随其后的工作表名称。

■ 推荐给这些人

  • “REPLACE”更容易想象
  • 您使用的是旧版本的 ExcelTEXTAFTER不能使用)
  • 我想写尽可能短和简单的公式。在这种情况下

RIGHT函数+LEN函数+FIND函数

组合 RIGHT、LEN 和 FIND 的问题是公式会变长。

然而,由于它仅包含已经存在很长时间的功能,因此对于习惯它的人来说可能更容易使用。

=RIGHT(CELL("filename", A1), LEN(CELL("filename", A1)) - FIND("]", CELL("filename", A1)))

■ 工作原理

  1. CELL("filename", A1)获取字符串“工作簿的完整路径+工作表名称”。
  2. FIND("]", CELL("filename", A1))在该字符串内"]"找出其中的字符。
  3. LEN(… ) - FIND(… )在,"]"计算后面有多少个字符。
  4. 如果从字符串右侧提取这么多内容,您将仅获得工作表名称。

■ 推荐给这些人

  • 熟悉 Excel 函数的传统组合的人员
  • RIGHTLENFIND那些在计算字符数时没有困难的人
  • 适用于任何版本的 Excel如果你想使用稳定的方法

概括

  • 如果您想使用 Excel 365 轻松实现TEXTAFTER一项选择
  • 即使使用旧版本也足够简单REPLACE + FIND
  • 如果您擅长传统字符串提取RIGHT + LEN + FIND

所有函数最终都是相同的,因为它们仅从“CELL(“filename”)”的返回值中提取工作表名称。

请根据您的Excel版本和熟悉的操作方法选择易于使用的版本。

这是在 Excel 单元格中显示工作表名称的函数的摘要。请利用它。

记住 CELL(“文件名”) 的作用

CELL 函数返回有关指定单元格的各种信息。
他们之中,CELL("filename", A1)如果你这样写,它将返回书籍的完整路径+文件名+工作表名称。
例如,像这样的字符串:

C:UsersSampleUserDocuments[SampleBook.xlsx]Sheet1

该字符串包含三项内容:“文件夹位置(路径)”、“文件名(带扩展名)”和“工作表名称”。

  • 文件夹位置(路径):C:UsersSampleUserDocuments
  • 文件名:SampleBook.xlsx(实际上是[ ]包围的)
  • 工作表名称:工作表1

“CELL(“文件名”)”连接所有这些并返回它们。

如何在单元格中显示Excel文件名和文件保存目的地

到目前为止,我们已经介绍了使用 CELL(“filename”) 在单元格中显示工作表名称的三种方法。

事实上,通过稍微应用这个功能,还可以提取文件名(带扩展名)和完整路径(文件夹路径部分)。

如何只提取Excel文件名

CELL(“filename”, A1) 的结果包含 [filename] 形式的文件名。

在这里,我们将介绍如何使用Excel 365的新功能TEXTAFTER和TEXTBEFORE,以及如何在旧版Excel中实现它们。

如何在 Excel 365 中执行此操作

=TEXTBEFORE(TEXTAFTER(CELL("filename", A1),"["),"]")
  • 第 1 步:发短信
    TEXTAFTER(CELL("filename", A1), "[")提取紧接“[”之后的字符串。
    示例:“C:…[SampleBook.xlsx]Sheet1”→“SampleBook.xlsx]Sheet1”。
  • 第 2 步:文本之前
    下一个TEXTBEFORE(..., "]")用于仅提取“]”之前的部分。
    示例:“SampleBook.xlsx]Sheet1”→“SampleBook.xlsx”,仅保留文件名。

该机制很容易理解,因为它想象字符串在“[”字符之后和“]”字符之前分隔。

Excel 365 以外的方法

如果您使用的是旧版本的 Excel,我们建议使用 REPLACE 函数等方法。

在下面的示例中,首先删除从开头到“[”的所有内容,然后删除“]”之后的所有内容,仅保留文件名。

=REPLACE(REPLACE(CELL("filename", A1),1,FIND("[",CELL("filename", A1)),""),FIND("]",REPLACE(CELL("filename", A1),1,FIND("[",CELL("filename", A1)),"")),99,"")
  • 步骤1:删除最多“[”
    FIND("[", CELL("filename", A1))找到“[”的位置,并用空白字符替换。
    示例:“C:…[SampleBook.xlsx]Sheet1”→“SampleBook.xlsx]Sheet1”。
  • 步骤2:删除“]”后面的内容
    在剩余的“SampleBook.xlsx]Sheet1”中,进一步FIND("]", ...)用于使“]”后面的字符为空。
    示例:“SampleBook.xlsx]Sheet1”→“SampleBook.xlsx”并完成文件名。

公式很长,但其思想是“我们只是删除不必要的部分两次”。

如何仅提取文件夹位置(路径)

如果您只想提取文件夹位置(路径),[该公式甚至更简单,因为您只需要获得 before 。

从字符串的开头[将其视为之前的切割。

如何在 Excel 365 中执行此操作

=TEXTBEFORE(CELL("filename", A1),"[")

TEXTBEFORE(...,"[")提取“[”字符之前的整个字符串。
示例:“C:...[SampleBook.xlsx]Sheet1” → 只能提取“C:...”,因此您可以知道文件夹的位置(路径)。

Excel 365 以外的方法

=LEFT(CELL("filename", A1),FIND("[",CELL("filename", A1))-1)
  • 步骤1:检查“[”的位置
    FIND("[", CELL("filename", A1))获取“[”的字符数。
  • 步骤2:用LEFT获取“[”之前的部分
    使用 LEFT 函数仅提取“[”之前的数字(数字减 1)。
    示例:“C:...[SampleBook.xlsx]Sheet1”→“C:...”,您可以提取路径。

概括

  • CELL(“文件名”)牙齿,“完整路径+[文件名]工作表名称”将被退回。
  • 只是文件名[ ]去掉中间的部分就可以得到它。
    • 使用 Excel 365TEXTAFTER/TEXTBEFORE很容易分开。
    • 旧ExcelREPLACE或者FIND用于去除不需要的部分。
  • 只是文件夹位置(路径)→ 仅剪切“[”之前的部分。
    • 使用 Excel 365TEXTBEFORE(...,"[")
    • 对于旧版 ExcelLEFT(..., FIND("[",...)-1 )

这个公式乍一看可能很长,但实际上只是决定在哪里剪切和删除什么的简单问题。

请根据您使用的Excel版本启动。

一旦习惯了字符串操作,显示文件名和路径并将它们合并到自动化机制中就变得很容易。

有关 Excel 单元格中显示工作表名称功能的常见问题解答

我们整理了有关在单元格中显示工作表名称的功能的常见问题和解答列表。

CELL(“文件名”) 的工作原理

CELL(“filename”) 到底返回什么?

以字符串形式返回保存的工作簿、文件名和工作表名称的位置(路径)。例如,格式为“C:UsersSampleUserDocuments[TestBook.xlsx]Sheet1”。

我想知道为什么指定A1。我可以使用任何细胞吗?

基本上,无论您指定哪个单元格,结果都是相同的。 CELL 函数是一种根据单元格参数检索信息的机制,但在返回文件名或路径时,各处都会返回相同的值,因此通常按照惯例使用 A1。

错误“#VALUE!”的原因是什么?

常见原因是文件从未保存过。如果书籍是新创建的,则路径和文件名不确定,因此 CELL(“filename”) 可能会返回错误。

可以随时使用 CELL(“文件名”) 吗?在此过程中,值会发生变化吗?

文件保存后,只要打开工作簿就基本没问题了。即使中途保存,只要路径和文件名不改变就没有问题。但请注意,如果文件完全未保存,则会出现错误。

关于版本和兼容性

我找不到 TEXTAFTER 和 TEXTBEFORE 函数,我该怎么办?

这些都是Microsoft 365(持续更新版本)这是Excel中添加的一个功能。它不包含在一次性版本的 Excel 2019 和 2021 中,因此请考虑使用 REPLACE、LEFT、FIND 等来代替拆分字符串。

除了 Microsoft 365 之外,还有其他方法可以提取 Excel 中的文件名吗?

常用的方法是使用REPLACE去掉多余的部分,结合LEFT和FIND来计算位置。具体来说,很容易理解,分两步:删除“[”之前的部分→删除“]”之后的部分。

如果我在受保护的工作表的情况下使用 CELL(“文件名”) 会出现任何问题吗?

保护工作表仅限制单元格编辑,因此 CELL 函数返回的信息不会改变。请放心,无论是否受到保护,它都会起作用。

提取文件名和文件夹位置时的问题

如果我只想显示文件夹位置,该怎么写?

通过编写 TEXTBEFORE(CELL(“文件名”, A1),”[“)(对于 Microsoft 365 Excel)或 LEFT(CELL(“文件名”, A1),FIND(“[“,CELL(“文件名”, A1))-1)(对于非 Microsoft 365 Excel),您可以仅提取“[”之前的部分。

当您想显示工作表名称时,最简单的公式是什么?

阅读更多:[Excel] 如何禁用加载项 |管理 Excel 加载项和 COM 加载项

对于 Microsoft 365 以外的 Excel,标准方法是组合 RIGHT 和 FIND。例如,如果您编写 =RIGHT(CELL(“文件名”, A1),LEN(CELL(“文件名”, A1))-FIND(“]”,CELL(“文件名”, A1))),则可以仅提取“]”后面的部分并将其用作工作表名称。

我想确定文件名中是否包含特定单词。容易吗?

常见的方法是使用TEXTAFTER提取文件名部分,然后使用FIND函数搜索单词。如果没有找到就会出错,所以可以通过IF函数和ISERROR结合来判断是否存在。

我想在一个单元格中显示文件名、文件夹位置和工作表名称。我应该如何组合它们?

例如,如果将文件夹部分单独检索为 TEXTBEFORE(...,”[“),将文件名部分检索为 TEXTBEFORE(TEXTAFTER(...,”[“),”]”),将工作表名称检索为 TEXTAFTER(...,”]”) 并将每个部分显示在相邻单元格中,则更容易理解。

文件复制和共享相关

当我复制工作表时,CELL(“文件名”) 会发生什么情况?

如果您只是在同一工作簿中添加新工作表,工作簿的保存位置和文件名将保持不变。由于仅复制工作表名称,因此 CELL(“文件名”) 中包含的工作表名称部分将更改为新工作表的名称。

保存到共享文件夹时,CELL(“文件名”) 中会返回哪些字符?

如果是共享文件夹,则网络路由(服务器名称、文件夹名称...)将以字符串形式返回。它可以像本地路径一样对待,但请注意,服务器名称或文件夹层次结构越长,字符串就越长。

如果我在另一台计算机上打开该文件,CELL(“文件名”)的值会改变吗?

如果文件保存的位置发生变化,则内容也会发生变化,并返回该位置对应的路径。如果您在同一位置打开它,则字符串几乎相同,但如果您的计算机环境中的驱动器名称或分配不同,则路径符号可能会有所不同。

是否可以通过引用另一个工作簿来调用 CELL(“文件名”)?

这是可能的,但由于它被视为外部引用,因此如果另一个工作簿的保存位置发生更改,链接可能会损坏。虽然您可以指定不同的书籍名称并引用它,但在操作过程中需要注意书籍的位置。

其他 Excel 相关文章

单击此处查看其他 Excel 相关文章。请看一下。