EXCEL取工作表名字符「思路详解」

今天我们来一起探讨一下关于取工作表名字符的问题,如图一

 

根据题意,需要将当前工作表名的数字提取出来,如果没有括号就填1。

这里看到题目后,既然要提取数值基本会用到提取数值的专用函数MID函数,但是有两个问题必须得考虑:

1. 如何将每个工作表的对应表名提取出来?

2.在工作表没有括号时,如何使他的值为1

接下来我们就来解决这两个问题

问题一解决方法

提到取工作表名,就需要引入一个函数CELL,这个函数是一个信息函数,会返回某一区域左上角单元格位置、格式等信息。

形式为=CELL(信息类型,单元格区域范围)

这里信息类型举常见的几个例子,在表一的B1单元格输入12,即B1=12。

类型1filename

=CELL("filename",B1)

返回的值就是这个单元格的位置信息,所在单元格的目录路径以及工作表名

G:\文档\a excel练习\12121-工作表名取字-8\[12121.xlsx]1.2 (2)

G:\文档\a excel练习\12121-工作表名取字-8就是工作路径名字

[12121.xlsx]1.2 (2)就是工作簿和工作表名

类型2contents

=CELL("contents",B1)

这个就会在线表单返回B1单元格的值,返回结果是12

类型3colrow

=CELL("col",B1)

这里返回B1单元格的列,返回值为2

=CELL("row",B1)

这里返回B1单元格的行,返回值为1。

那么符合我们需求,提取表名的就是"filename"

这里可以发现,定位到(,MID函数往后取两个字符就可以拿到(2,最后再把(去掉就可以取到2这个值。去掉可以理解为替换成空值,所以用到SUBSTITUTE函数。

这里用FIND函数来定位(

=FIND("(",CELL("filename",A1))

所以取到表名的内容,就可以写出如下公式

=SUBSTITUTE(MID(CELL("filename",A1),FIND("(",CELL("filename",A1)),2),"(","")

这样就可以取到表名里面的内容了(这里的A1单元格可以填当前工作表里面的任意单元格)

但是没有()的表该怎么解决?这个就需要来解决问题二

问题二解决方法

没有括号时,这里要求是取1,那么我们可以当作有括号来处理,在路径后面加上(1),就可以满足

CELL函数就变为

=CELL(filename,A1)&(1)

再按照问题一解决办法完善一下完善一下就在线表单OK

=SUBSTITUTE(MID(CELL("filename",A1)&"(1)",FIND("(",CELL("filename",A1)&"(1)"),2),"(","")

最后,教大家一个简单拖拽创建表单和生成报表的方法。使用简道云表单在线创建“云表格”,通过简单拖拽,即可制作出一个个柱形图、折线图、饼图等图表,1分钟实现数据可视化分析!非常方便~

THE END
EXCEL取工作表名字符「思路详解」
今天我们来一起探讨一下关于取工作表名字符的问题,如图一   根据题意,需要将当前工作表名的数字提取出来,如果没有括号就填1。 这里看到……