如何在Excel公式中引用当前工作表名称并匹配对应数据
无需VBA实现Excel工作表自动匹配Overview数据
步骤1:提取当前工作表名称
用内置函数组合直接获取表名,无需手动输入:
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)
- 原理:
CELL("filename",A1)返回包含路径、工作簿名和当前表名的完整字符串,通过FIND定位]的位置,再用MID截取后面的表名部分。
步骤2:匹配Overview表的对应数据
假设Overview表结构:A列是工作表名([缩写]-[站点名]格式),B列存储Reference,C列存储Link。
方法1:VLOOKUP(简单直接)
在站点工作表中显示Reference的单元格输入:
=VLOOKUP(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255),Overview!$A:$C,2,FALSE)
显示Link的单元格输入:
=VLOOKUP(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255),Overview!$A:$C,3,FALSE)
方法2:INDEX+MATCH(更灵活,适配复杂结构)
如果Overview表的列顺序可能变动,用这个组合更稳妥:
=INDEX(Overview!$B:$B,MATCH(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255),Overview!$A:$A,0))
=INDEX(Overview!$C:$C,MATCH(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255),Overview!$A:$A,0))
步骤3:确保表名变更后自动更新
默认情况下,表名修改后公式可能不会立刻刷新,按以下设置开启自动重算:
- 点击「文件」→「选项」→「公式」→ 勾选「自动重算」
- 临时刷新可按
F9键强制重新计算
关键注意事项
- 必须保证Overview表A列的名称和实际工作表名称完全一致(包括大小写、符号),否则匹配会返回错误值
- 如果不想在单元格单独存放表名,直接把表名提取公式嵌套到匹配函数里即可(如上面的示例)
内容的提问来源于stack exchange,提问作者Cake
相关产品推荐
相关产品推荐

