ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: dddw88

[求助] 动态图表定义名称不能使用问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-1-20 15:45 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 lbzcc 于 2009-1-19 17:38 发表

请教小妖一个问题,望赐教哈
我定义的名称比较复杂,脑子比较慢,没有想到上面那位仁兄的方法
我的问题是用我定义名称的方法,为什么我不能在图表中修改系列为定义的名称
EXCEL提示我工作表包含无 ...

你用的是2007吗,2007好像是这样,像是个BUG,定义的名称只能引用区域不能引用公式,设置的时候要先引用区域然后再改自定义名称,比较麻烦的说。

TA的精华主题

TA的得分主题

发表于 2009-1-20 21:47 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 pureshadow 于 2009-1-20 15:45 发表

你用的是2007吗,2007好像是这样,像是个BUG,定义的名称只能引用区域不能引用公式,设置的时候要先引用区域然后再改自定义名称,比较麻烦的说。

我用的也是2003哈

TA的精华主题

TA的得分主题

发表于 2009-1-23 15:12 | 显示全部楼层
我用2003的时候还没怎么开始折腾图表。
2007确实有这个问题,本来想贴GIF过来,但这里的附件限制100K以下,实在没办法贴,你自己去看下吧:http://www.exceljy.com/thread-6439-1-1.html

TA的精华主题

TA的得分主题

发表于 2009-1-23 17:32 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 lbzcc 于 2009-1-19 17:38 发表
我的问题是用我定义名称的方法,为什么我不能在图表中修改系列为定义的名称
EXCEL提示我工作表包含无 ...


定义的名称中引用的单元格必须指明工作表名称,否则出现无效引用的错误.

btw:有效性也有同样要求.

所以应将
DATA =INDIRECT("$C$2:C"&COUNTA(数据!$C:$C))
YEAR =SMALL(IF(MATCH(Y,Y,0)=ROW(Y)-1,Y,65536),ROW(INDIRECT("$1:$"&(1/COUNTIF(Y,Y)))))
改成下面这个就行了
DATA =INDIRECT("数据!$C$2:C"&COUNTA(数据!$C:$C))
YEAR =SMALL(IF(MATCH(Y,Y,0)=ROW(Y)-1,Y,65536),ROW(INDIRECT("数据!$1:$"&(1/COUNTIF(Y,Y)))))

并且建议,在用于图表的定义名称时,养成将变动的ROW(1:3)用OFFSET,而不是INDIRECT(), 即ROW(OFFSET($A$1,,,3)),这样在定义名称中会自动添加表名,并且工作表名称变化时能自动跟随变化,而INDIRECT需要重新修改定义名称里的工作表名.

关于2007使用定义名称,请参考以前的帖子(5楼):
http://club.excelhome.net/thread-389284-1-1.html

原因是2007在使用定义名称的引用时,不再支持那些再单元格里必须使用CTRL+SHIFT+ENTER输入才能现在正确结果的数组公式,所以必须先给它一个通过的名称,做好图后改成想要的公式.

附件的名称工作了:

动态图表_lbzcc.rar

27.36 KB, 下载次数: 91

TA的精华主题

TA的得分主题

发表于 2009-1-23 22:46 | 显示全部楼层
2007很多地方都比2003好,就是这里,麻烦S了。。。。。
.
另外还有一个不太明白,自定义名称时,原公式没加工作表名的,不是会自动加上当前激活的工作表名么?怎么还需要手工加呢?

TA的精华主题

TA的得分主题

发表于 2009-1-24 00:43 | 显示全部楼层
原帖由 pureshadow 于 2009-1-23 22:46 发表
2007很多地方都比2003好,就是这里,麻烦S了。。。。。
.
另外还有一个不太明白,自定义名称时,原公式没加工作表名的,不是会自动加上当前激活的工作表名么?怎么还需要手工加呢?

用INDIRECT("")的不会自动加.因为参数是字符串常量,所以建议用ROW(OFFSET(...))代替ROW(INDIRECT("..."))

TA的精华主题

TA的得分主题

发表于 2009-1-24 13:30 | 显示全部楼层
啊。。。。。我把INDIRECT忘了,我还曾帮人家解决过一个类似的问题昵……
自打PP去了

TA的精华主题

TA的得分主题

发表于 2009-1-24 18:41 | 显示全部楼层
原帖由 willin2000 于 2009-1-23 17:32 发表


定义的名称中引用的单元格必须指明工作表名称,否则出现无效引用的错误.

btw:有效性也有同样要求.

所以应将
DATA =INDIRECT("$C$2:C"&COUNTA(数据!$C:$C))
YEAR =SMALL(IF(MATCH(Y,Y,0)=ROW(Y)-1,Y,65536 ...

非常感谢willin2000版主解答
受益匪浅,对自己以后做动态图表有很大的帮助。

TA的精华主题

TA的得分主题

发表于 2009-1-27 22:44 | 显示全部楼层
原帖由 willin2000 于 2009-1-23 17:32 发表


定义的名称中引用的单元格必须指明工作表名称,否则出现无效引用的错误.

btw:有效性也有同样要求.

所以应将
DATA =INDIRECT("$C$2:C"&COUNTA(数据!$C:$C))
YEAR =SMALL(IF(MATCH(Y,Y,0)=ROW(Y)-1,Y,65536 ...


willin2000版主的讲解很受用!!! 新年快乐!

TA的精华主题

TA的得分主题

发表于 2012-5-11 12:14 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-20 19:20 , Processed in 0.044708 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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