Excel公式返回工作表名称是什么?

问题描述 投票:10回答:8

我搜索了excel函数文档和一般的MSDN搜索,但一直无法找到一种方法来返回没有VBA的工作表名称。

有没有办法在excel公式中获取工作表名称而无需诉诸VBA?

excel-formula excel-2013
8个回答
11
投票

excel不是很好,但我找到了这些here

=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,256)

A1可以是工作表中的任何非错误单元格。 有关工作表的完整路径和名称,请使用

=CELL("filename",A1)

4
投票

对于最新版本的Excel,公式语法为:

=MID(CELL("filename";A1);FIND("]";CELL("filename";A1))+1;255)

3
投票

以下将隔离工作表名称:

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

1
投票

我有一个模块已经打开所以我做了一个自定义功能:

Public Function Sheetname (ByRef acell as Range) as string
Sheetname = acell.Parent.Name 
End Function 

1
投票

如果文件路径中存在字符,则其他答案中给出的公式都不支持该情况。

下面的公式更复杂,但它可以正确处理这些情况:

 =MID(CELL("filename",A1),FIND("]",CELL("filename",A1),FIND("?",SUBSTITUTE(CELL("filename",A1),"\","?",LEN(CELL("filename",A1))-LEN(SUBSTITUTE(CELL("filename",A1),"\","")))))+1,LEN(CELL("filename",A1)))

0
投票

在文件名中有一个方括号']',因此需要根据以下内容修改上述公式,以查找方括号的最后一个匹配项。验证这适用于文件名/路径中的0,1或更多方括号。

=RIGHT(CELL("filename"),LEN(CELL("filename")) - FIND("]]]",SUBSTITUTE(CELL("filename"),"]","]]]",LEN(CELL("filename"))-LEN(SUBSTITUTE(CELL("filename"),"]","")))))
  1. 使用替换函数替换所有方括号,然后将结果的长度与文件名的长度进行比较,以标识文件名中的方括号的数量。
  2. 使用方括号的出现次数用最后的方括号替换3个连续的方括号']]]'
  3. 使用Find函数识别字符串中3个方括号的位置
  4. 从完整路径的长度中减去3个方括号的位置
  5. 使用结果获取最正确的字符(作为工作表名称)

以上关于首先保存工作簿的评论也是一个关键,因为否则你会收到#Value!结果。


0
投票

这是一个相当短的一个,有一些额外的好处:

  • 通过使用经常忽略的REPT函数进行反向查找(大多数其他答案出错方向)。
  • A1似乎是一个糟糕的选择,因为与errors相比,$FZZ$999999的可能性要高得多。
  • 别忘了绝对。由于引用更改,复制和粘贴其他一些示例可能会出错。
  • ?是故意的,因为它不应该在文件路径中。

=SUBSTITUTE(RIGHT(SUBSTITUTE(CELL("Filename",$FZZ$999999), "]",REPT("?", 999)), 999),"?","")


-2
投票

我很确定你可以用谷歌搜索这个。我刚刚做了,这是我第一件事。

In Excel it is possible to use the CELL function/formula and the MID and FIND to return the name of an Excel Worksheet in a Workbook. The formula below shows us how;

=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,256)

Where A1 is any non error cell on the Worksheet. If you want the full path of the Excel Workbook, simply use;

=CELL("filename",A1)

唯一的问题是你必须保存文件才能工作!

© www.soinside.com 2019 - 2024. All rights reserved.