Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3808|回复: 11

[已解决]这个公式真心搞不懂了

[复制链接]
发表于 2014-10-20 15:16 | 显示全部楼层 |阅读模式
本帖最后由 hhdcjc 于 2014-10-20 19:49 编辑

同样的公式
=MID(CELL("address",数据!A1),FIND("]",CELL("address",数据!A1))+1,FIND("!",CELL("address",数据!A1))-FIND("]",CELL("address",数据!A1)))

该公式在有的表的单元格返回的结果是:数据!
在另格返回的是另外的表的单元一结果:数据'!(这样的话,引用工作表名称就错误了)


工作簿重命名就好了(去掉了原工作簿名称中的-这个字符)

经试验,工作簿名称中不能有退格键左边一排除数字和下划线(11个)以外的15个字符,另外空格、英文状态下的中括号、中英文状态下的逗号、大括号、中文状态下的冒号也不行,目前就找到这么多,不知道还有其他什么特殊要求没有?
最佳答案
2014-10-20 15:34
公式 CELL("address",数据!A1)  是返回 '[新建 Microsoft Office Excel Worksheet (2).xlsx]数据'!$A$1 格式的"数据"工作表的地址,整个公式是在这个地址字符串中查找"]"和 "!"两个字符的位置,提取这中间的字符或字符串。
发表于 2014-10-20 15:27 | 显示全部楼层
当文件有路径以后,因为路径中含有一个'号,所以就....
回复

使用道具 举报

发表于 2014-10-20 15:27 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2014-10-20 15:29 | 显示全部楼层
zyouong 发表于 2014-10-20 15:27
当文件有路径以后,因为路径中含有一个'号,所以就....

公式一样的,为啥有时显示路径,有时不显示呢?
回复

使用道具 举报

发表于 2014-10-20 15:34 | 显示全部楼层    本楼为最佳答案   
公式 CELL("address",数据!A1)  是返回 '[新建 Microsoft Office Excel Worksheet (2).xlsx]数据'!$A$1 格式的"数据"工作表的地址,整个公式是在这个地址字符串中查找"]"和 "!"两个字符的位置,提取这中间的字符或字符串。
回复

使用道具 举报

发表于 2014-10-20 15:35 | 显示全部楼层
本帖最后由 qh8600 于 2014-10-20 15:37 编辑

CELL("address",数据!A1) =  "[工作簿1]数据!$A$1"   引用当前工作簿数据表a1单元格地址

FIND("]",CELL("address",数据!A1))+1 就是取得“]” 在"[工作簿1]数据!$A$1"这个字符串的起始位置+1,这里应该是6+1=7

FIND("!",CELL("address",数据!A1)) 取得!在这个字符串中的起始位置 "[工作簿1]数据!$A$1"  这里是9

FIND("!",CELL("address",数据!A1))-FIND("]",CELL("address",数据!A1)) 连在一起就9-6=3,其实这里应该还要减1

然后加MID就是公式
=MID(CELL("address",数据!A1),FIND("]",CELL("address",数据!A1))+1,FIND("!",CELL("address",数据!A1))-FIND("]",CELL("address",数据!A1)))

可以简化看成 =MID("[工作簿1]数据!$A$1",7,3) 从第7个字符开始提取3个字符就是“数据!”
改为
=MID(CELL("address",数据!A1),FIND("]",CELL("address",数据!A1))+1,FIND("!",CELL("address",数据!A1))-FIND("]",CELL("address",数据!A1))-1)
这样就提取2个字符了就是“数据”
回复

使用道具 举报

发表于 2014-10-20 15:38 | 显示全部楼层
hhdcjc 发表于 2014-10-20 15:29
公式一样的,为啥有时显示路径,有时不显示呢?

看不到'号是不是在新建文件中(还没有保存)呀?试试看看。
回复

使用道具 举报

 楼主| 发表于 2014-10-20 15:54 | 显示全部楼层
易安1 发表于 2014-10-20 15:27
F9 刷新一下就好了!

刷新了,返回的还是不是需要的结果
回复

使用道具 举报

 楼主| 发表于 2014-10-20 15:58 | 显示全部楼层
本帖最后由 hhdcjc 于 2014-10-20 16:01 编辑

工作簿重命名就好了(去掉了原工作簿名称中的-这个字符),不知道对文件名称还有其他什么特殊要求没有?
回复

使用道具 举报

 楼主| 发表于 2014-10-20 16:02 | 显示全部楼层
qh8600 发表于 2014-10-20 15:35
CELL("address",数据!A1) =  "[工作簿1]数据!$A$1"   引用当前工作簿数据表a1单元格地址

FIND("]",CELL( ...

谢谢分析这个公式,这是找论坛高手写的,我还真不知道什么意思
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-24 15:35 , Processed in 0.409912 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表