可以用超链接。
1、电脑打开Excel表格,选中单元格。
2、选中单元格后,点击鼠标右键点击超链接。
3、进入超链接页面,点击左侧的本文档中的位置,然后选择要跳转的单元簿,然后在请输入单元格引用中输入要跳转的单元格。
4、设置好超链接后,点击单元格。
5、就可以跳转到单元簿2中的A1单元格。
当前excel可添加的目录分为两种:单向跳转和双向跳转:
- 单向跳转 :单击目录可跳转到相应工作表,但无法跳转回目录,工作表之间切换不方便
- 双向跳转 :单击目录,跳转到工作表,双击工作表单元格,跳转到目录
** 注意1 :使用该方法时,需将表格形式改为适用宏的xlsm保存**
** 注意2 :get.workbook 是宏表函数,只能在定义名称中使用。**
- 1-公式 - 定义名称 - 输入自定义的名称:shname,在引用位置中输入公式:
=MID(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1))+1,99)&T(NOW())
- 2-在第1个工作表的A列一单元格中输入公式并向下复制
=IFERROR(HYPERLINK("#"&INDEX(shname,ROW(A1))&"!A1",INDEX(shname,ROW(A1))),"")
- 3-复制已设置公式的工作表A列,选取后面所有工作表粘贴到A列,就可以把公式粘贴到后面所有工作表的A列
- 4-全选所有工作表,调整列宽、设置背景色字体颜色
** 注意1 :使用该方法时,需将表格形式改为适用宏的xlsm保存**
** 注意2 :定义的公式名称是唯一的,如需更换内容,可使用公式-定义的名称-名称管理器更改**
- 1-单击B1单元格,切换到【公式】选项卡,单击【定义名称】,d出【新建名称】对话框,在“名称”文本框中输入“目录”,在“引用位置”文本框输入以下公式:
=INDEX(GET.WORKBOOK(1),ROW(A1))&T(NOW())
- 2-单元格输入公式,并向下复制:
=IFERROR(HYPERLINK("#'"&MID(目录,FIND("]",目录)+1,99)&"'!A1",MID(目录,FIND("]",目录)+1,99)),"")
- 3-制作“返回目录”超链接:
在任意工作表的空白单元格中输入以下公式,然后复制该单元格,粘贴到其他工作表中。
=HYPERLINK("#目录!A1","返回目录")
**该函数为宏表函数,现在宏表函数已经被VBA替代,但我们将宏表函数在 “公式-定义名称” 中自定义后仍可以使用。**
**函数语法为GET.WORKBOOK(type_num,name_text)**
- type_num:提取信息的编号类型
- 常用编号“1”:获取名称
- 常用编号“4”:获取工作表数量
- name_txt:打开的工作表名称,省略则为当前活动工作表
如果使用=get.workbook(1)来获取工作表名称,名称前会加上xls的文件名(例如 [测试用例-模板.xlsm]目录),这对目录制作没有益处,所以需要MID函数进行裁剪。
**该函数语法:MID(text,start_num,Num_chars)**
- text:需要提取的文本
- start_num:提取起始位置
- Num_chars:提取的字符长度
**实例解析**
在MID(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1))+1,99)这个公式中
1)要截取的文本
GET.WORKBOOK(1),即工作表的名称
2)截取起始位置
该处套用了函数FIND,下面为该部分详解:
- FIND函数的语法为FIND(find_text,within_text,[start_num])
- find_text:要查找的文本
- within_text:要查找文本所在的文本
- start_num:查找开始位置(可不填,前不需加逗号
- Find函数将全角字符和半角字符都计为一个字符,在FIND("]",GET.WORKBOOK(1))中,我们将“]”作为要查找的文本,GET.WORKBOOK(1)取出的工作表名称作为查找文本所在的文本,这样的函数会返回获得的工作表名称中“]”所在的位置。
- 截取起始位置的完整公式为FIND("]",GET.WORKBOOK(1))+1,我们已知FIND公式部分返回了“]”所在位置,而之后的“+1”,则是让起始位置指向了“]”之后的工作表名称,即去除了xls文件名的工作表名称
3)提取长度
这里为了提取名称不遗漏,选择了99作为提取长度。
now()本身没有参数,直接输入会返回当前日期和时间(例如:2020/4/10 13:40
)
T()主要的作用试讲文本型数据保留文本,其他数据返回为空.(另,N()函数是将数值型数据保留文本,文本数据返回0)
因为NOW()是易失性函数,其值会随时刷新。我们用T函数去处理他返回的日期型数值,结果是空,不会产生文本资料,但这样使用可以起到自动刷新的效果。
**HYPERLINK函数的语法为:=HYPERLINK(link_location,[friendly_name])**
- link_location:目标位置-可采用绝对路径或相对路径(以当前工作簿所在文件夹为起始位置)
- excel单元格:前面需加“#”
例:=HYPERLINK("Sheet!A1","Sheet1")
- 文档路径
例: =HYPERLINK("C:\dacheng\work\测试文档\1.txt","test")
- 互联网网址
例: =HYPERLINK("http://cn.bing.com/","bing!")
- friendly_name:显示文本,可不填
**实例解析**
HYPERLINK("#"&INDEX(shname,ROW(A1))&"!A1",INDEX(shname,ROW(A1)))
**在上述公式中,HYPERLINK的文件位置是多个字符使用"&"拼接而成的:**
- "#":主要作用是将目标位置限定为单元格
- INDEX(shname,ROW(A1))
之前我们设定过自定义公式,shname设定为=MID(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1))+1,99)&T(NOW()),即自动更新的简化版工作表名称。**根据INDEX公式的语法,该部分是在所有工作表名称中,选取第一行信息展示,展示结果是第一张表的名称,如需将表的全部展示,可以向下拖拽公式进行填充。**(*如果需要将目录横向展示,可以将ROW(A1)改为COLUMN(A1),之后向右拖拽公式进行填充*)
- "!A1"
这里有疑问可能是纠结“!”的用法,我们可大体了解下,感叹号在公式中主要用在工作表和单元格之间,这里出现在工作表名称之后,A1之前,总体表示为当前工作表名称对应表的A1单元格。
**这样-"#"&INDEX(shname,ROW(A1))&"!A1",最终给出的就是工作表名称对应表的A1单元格的位置**
**逗号之后是超链接所在单元格的自定义名称,一般我们使用INDEX(shname,ROW(A1)),即链接对应的工作表名称,当然也可以自定义其他名称。**
**IFERROR函数的语法为:IFERROR(value,value_if_error)**
- value:取值,从中检查是否存在错误
- value_if_error:公式计算错误时返回的值,计算错误类型:#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?或 #NULL!
**实例解析**
=IFERROR(HYPERLINK("#"&INDEX(shname,ROW(A1))&"!A1",INDEX(shname,ROW(A1))),"")
之前已经解析了HYPERLINK的部分,得到的是工作表名称超链接到对应工作表的A1单元格,IFERROR的作用则是在该公式计算出错时,返回一个空字符串""
**上述两种目录制作方式的公式,仅在函数嵌套前后顺序上有所不同,其他地方无较大差别,可统一考虑,因此不作赘余**
当工作表名称中出现特殊字符(如+、-等)的时候,公式=IFERROR(HYPERLINK("#"&INDEX(shname,ROW(A1))&"!A1",INDEX(shname,ROW(A1))),"")使用时可能会提示引用失效,这时我们可以将INDEX获取的工作表名称构成为字符串进行处理,也就是在原本&左右的“旁再加上一个单引号,变为=IFERROR(HYPERLINK("#'"&INDEX(shname,ROW(A1))&"'!A1",INDEX(shname,ROW(A1))),"")
当然这只是针对方法一中的公式,方法二中已经将所有表名当做字符串处理,便可不用考虑该问题出现。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)