微软Excel引用工作表名时,九成之人仅会借助鼠标点点按按,然而一旦修改表名,公式便会报错,今日便传授你一招能使其公式自行识别工作表名的极为硬核的办法,帮你省去每日手动修改所带来的繁杂之事。
定义名称法
于Excel功能区寻觅公式选项卡,轻点定义名称按钮,弹出新建名称对话框。于名称输入框填任意名字像SheetName,于引用位置键入公式=GET.DOCUMENT(1)接着确定。此GET.DOCUMENT乃Excel4.0的宏表函数,能够返回当前工作表的属性信息,参数1表示返回工作表名称。
完成定义之后,你能够于任意单元格当中输入=SheetName,如此便会即刻展现出当前工作表的名称了的。此方法所具备的好处在于,不管你是以怎样的方式去重命名工作表,公式返回的结果均会自动进行更新的,并不需要靠任何手动去做出调整的。2024年之际,我在为一家物流公司开展培训的时候,便是运用了这个方法去帮他们把动态报表的难题给解决掉了的。
结合单元格显示名称
公式=MID(CELL(filenameA1)FIND(CELL(filenameA1))+1LEN(CELL(filenameA1))-FIND(CELL(filenameA1)))被输入在A1单元格。此公式,会提取当前工作表完整路径里的工作表名部分。CELL函数返回文件路径信息,FIND定位右中括号位置,MID提取后面字符。
需留意的是,此公式唯有在文件已然经过保存的情形下才能够返回正确的结果,对于新建且未保存的工作簿而言会返回空值。在2025年3月,我于北京为某金融机构做咨询工作时,他们有着批量生成50多张报表的需求,借助这个公式并配合宏达成了自动化命名,节省了起码3小时的手工操作时间。
INDIRECT跨表引用
当把字符串借助 INDIRECT 函数转化成切实的引用时,与工作表名称变量一同使用,便能够达成动态的跨表引用,举例来说,于汇总表的 A1 位置输入部门名称,在 B1 处输入=INDIRECT(A1&!B5),如此便能够动态地获取对应部门表的 B5 单元格里的数据,此项技巧在制作月度汇总报表期间格外实用。
在部门表名称从一月转变为1月之际,你仅需对A1单元格的内容予以修改,如此一来,公式结果便会自行更新。2025年6月,深圳有一家连锁超市运用这个办法制作了12个门店的销售汇总表,店长们自此无需每月手动去修改公式。错误率由此直接降低至零。
文件名变量化处理
倘若你有引用别的工作簿数据之需求,并且文件名呈现动态变化之情形,那么可以借助REPT与ROW组合来生成文件名序列。假定你的文件名拥有这样的格式,从2025 - 01.xlsx一直到2025 - 12.xlsx,要在A列运用公式去生成完整路径,随后再借助INDIRECT引用对应文件的数据句号。
这儿存在个坑,即 INDIRECT 没办法直接去引用未打开的工作簿,你得先将所有引用的文件给打开,才能够更新数据。我于 2024 年为上海的一家外贸公司做系统时,他们每个月都要对 20 个分公司的数据作汇总,运用这个方法并配合 VBA 自动把文件打开去更新数据,最后再进行保存并关闭,整个过程实现自动化运行。
宏表函数的局限性
GET.DOCUMENT这类宏表函数具备一种被称作易失性的特性情形,即只要工作簿里的任何单元格出现了改变变动时,它便会再度重新进行计算。要是表格之中存在有大量的公式的话,就会致使造成计算的速度速率变慢。我在针对一个拥有5000行数据的报表展开处理操作时,在使用了宏表函数之后,每次进行保存的时候都需要等待等候十几秒。
再者,宏表函数于Excel的新版本里尽管依旧能够运用,可是微软官方已然不再予以更新维护,在未来存在着会被完全移除的可能性。提议仅于个人使用的表格之中采用此方法,要是为客户开发模板,那么最好使用VBA自定义函数去进行替代。
实际应用场景
财务人员于制作月度利润表之际,能够将工作表名称用作标题行,借由公式自动抓取各个月份的数据。HR在做人员花名册之事上,可凭借工作表名称区分不同的部门,汇总表直接引用部门表的统计结果。身处2025年1月的杭州的一家互联网公司运用了这套方法,把月度报表的制作时间从4小时压缩至40分钟。
项目经理于跟踪项目进度当中,每个项目各自拥有一个工作表,汇总表会自动抓取每个项目的关键节点。销售总监在分析各区域业绩之时,区域表的名称即为地区名,公式会自动汇总销售额。这些场景的共同之处在于,工作表数量众多,名称会发生变化 ,需要采用动态引用。
于工作里头,有否碰到过因工作表重命名致使所有公式皆报错这般惨痛之事?欢迎于评论区那儿分享你那失败的经历,若点赞数超过一千哩,我会专门去弄一期视频来讲解怎样借助VBA将此问题彻底给解决掉。
