也许你会有这样的需求,如A1单元格中显示B100这种单元格地址,怎么做以点一下就跳转到B100?
一、设置公式
B1=HYPERLINK("#'"&MID(CELL("FILENAME",A1),FIND("]",CELL("FILENAME",A1))+1,99)&"'!"&A1,"跳转到"&UPPER(A1))
二、公式解析
跳转只有HYPERLINK函数好用,函数的常见用法是:
HYPERLINK(#工作表名称!单元格地址, 显示文字)
现在只是在A列提供最跳转单元格地址,因此需要提取到工作表名称。
CELL("FILENAME",A1),会返回工作簿的完整文件名,后面是当前工作表名称,如 "D:\QQQ\[工作簿1 .xlsb]Sheet 6",其中[]里是文件名称,“]”后面是工作表名称。
用FIND函数查找“]”在上面完整文件名中的位置,得到19,再+1,将这个位置用作MID函数的第二参数,截取的起始位置,就可以从"D:\QQQ\[工作簿1 .xlsb]Sheet 6"中提取到工作表名称。
MID函数中的参数99是一个比较大的数,确保可以大于工作表名称的长度,如果工作表名称可能多于99个字符,可以将它改为更大的数,如999。
"#"代表是当前工作簿。对于工作表名称中含有空格等特殊字符的情况下,工作表名称是必须用单引号包起来,没有特殊符号的工作表名称用单引号包起来也能正常使用,因此在“#”后面和单元格地址的叹号前面各加一个单引号,可以避免因工作表名称出现“引用无效”的报错。
"跳转到"&UPPER(A1),是HYPERLINK函数最终在单元格里显示的文字,这里是将A1单元格里的字母转换为大写,最终显示为“跳转到A5”的字样。
三、一个延伸的问题
设置了单元格跳转,比如设置A5000,点击跳转后,是不是还需要考虑怎么回到表格的开始呢?
最简单的办法是设置冻结窗格,这样总能看到前面几行,直接点过去就可以了。