ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

EH搜索     
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
Excel不给力? 何不试试FoxTable! Excel 2016函数公式学习大典 Office知识技巧免费学 打造核心竞争力的职场宝典
300集Office 2010微视频教程 Tableau-数据可视化工具 精品推荐-800套精选PPT模板,点击获取 ExcelHome出品 - VBA代码宝免费下载
你的Excel 2010实战技巧学习锦囊 欲罢不能, 过目难忘的 Office 新界面 Excel VBA经典代码实践指南
查看: 2673|回复: 6

[讨论] 你的图表动在哪儿呢?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-6-27 18:06 | 显示全部楼层 |阅读模式
经常能看到一些动态图表,因为涉及的实例很多,看的眼花缭乱的,有点晕。然而看到一些动态图表的制作方法,觉得可以把这部分本质的东西总结一下,让大家对动态图表不那么恐惧。欢迎补充,纠正。
   其实看到图表的“动”,目前了解到的,有三大种:

   一、图表本身没任何变化但引用的数据源发生变动,常见的动态图表都是这类,而这里面又可分几种情况:
         1、引用数据的区域不变,但是区域内的数值能发生变化,于是图表里的内容也会变化。比如图表引用的数据区为B1:B10,只要能通过某些办法让B1:B10内的内容发生变化,那图表就会变化。至于数值为什么会发生变化,可以在这些单元格内使用RAND函数本身发生变化,也可以通过自动筛选有效性控件手动输入参数,来使这个B1:B10引用显示的数值发生变化。区域主要为辅助列或者说辅助区域,区域内的数值发生变化主要靠对某用作控制的单元格内的数值的各种引用,比如offset、index(+match)、Vlookup、choose等等。

         2、引用的区域发生变化,被引用的数据不用变化,这个得用定义名称,比如还是上面的B1:B10,如果你能通过定义名称里的公式,先引用B1:B10,然后引用B1:B9,或者B2:B10等等,这样图表里的内容也会变化。能使引用区域发生变化的函数如1所说,拿OFFSET函数为例,其参数结构为OFFSET(初始区域,偏移行数,偏移列数,选择行数,选择列数),如果初始区域为不是一个单元格,那么偏移或者选择的基点都是基于初始区域的左上角的那个单元格。假如,初始区域依然为B1:B10,一共10个单元格,如果设置参数分别为:偏移行数为1,偏移列数为0,选择行数为10,列数为2,那么引用的区域就为B2:C11,一共二十个单元格。OFFSET中的五个参数全都可以发生变化,比如定义名称、通过引用用作控制单元格内的数值等。另外还可以通过VBA,根据鼠标的指向,使得图表引用的名称内的区域发生变化,进而使图表发生变化。
         3、引用的区域和数值都可以变化,既上面两种的结合。

   二、是图表显示的位置不变,但是实际上出现在那个位置的图表已经不是原来的那个图表,而是从别的地方整体转移过来的图表。以下为引用

      图片引用法,这种方法不多见,一般在人事管理应用中有用到,我把它用到图表的动态切换。
前两种方法都是通过切换同一个图表的数据源来实现图表的动态变化,这种方法则是通过引用不同的图表来实现动态图表,可以支持不同数据源、不同类型、不同图表格式的图表的动态切换。
关于这个方法说详细一点:
      1)先做好不同数据源、不同类型或者格式的图表,并将每个图表置于单独的单元格内
      2)定义名称,根据用户选择,引用相应的单元格,如mychart=OFFSET(Sheet1!$E$5,,Sheet1!$B$3,,)
      3)插入一个图片或者控件按钮,作为引用图表的容器。选中该图片,在公式栏输入:=mychart
      4)当用户选择变化,名称指向的单元格变化,则引用到容器的图表也就变化
      本文来自办公软件学习网,原文地址:http://www.officestudy.cn

   三、图表的位置依然不变,只是可见性会发生变化,既表在那里,但你能看到的不同情况是不一样的。以下为引用:
还有一直类似于CX中的一种做法,即对事先做好的图表,设置Visible属性的条件值,当条件值与用户的选择匹配时,对应的图表就show出来,否则就不可见。在excel内可以通过vba控制不同图表的Visible属性,也可以制作类似的动态图表。
     本文来自办公软件学习网,原文地址:http://www.officestudy.cn

后面加一些动态图表制作方法,大家可以检验一下。
另,有朋友总结出来的关于几个函数的作用:
   MMULT  --  返回汇总计算结果
   MATCH  --  返回在指定方式下与指定数值匹配的数组中元素的相应位置
   LOOKUP --  返回在指定方式下与指定数值匹配的数组中元素的相应数值
   OFFSET --  返回动态单元格引用区域,参数支持表达式
   COUNTA --  返回参数列表中非空值单元格的个数(此函数主要为动态计数,提供给VLOOKUP、OFFSET等使用)

图表汇总帖,5楼
http://club.excelhome.net/thread-386400-1-1.html

动态图表基础教程_09.5.15日更新
http://club.excelhome.net/thread-432885-1-2.html

一个动态图表的制作过程
http://club.excelhome.net/thread-587302-1-1.html

动态图表第一课:辅助区域法
http://club.excelhome.net/thread-115368-1-4.html

动态图表第二课:定义名称法
http://club.excelhome.net/viewthread.php?tid=115399

动态图表第三课:二个变量
http://club.excelhome.net/viewthread.php?tid=115413


[原创][分享] 动态图表实例多则(已更新并附带说明在17楼!)
http://club.excelhome.net/thread-232421-1-3.html


Excel图表总结(动态)
http://club.excelhome.net/viewthread.php?tid=244320

[ 本帖最后由 dawin 于 2010-6-27 18:17 编辑 ]

评分

参与人数 1技术 +1 收起 理由
moon2778 + 1 优秀作品

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-6-27 18:14 | 显示全部楼层
补充说明,以上提到的控件,主要是指窗体控件,而不是控件工具箱。两者的区别,简单的解释为:
两者的不同1
窗体中的组合框控件返回的值为筛选值在列表中的位置而控件工具箱中的组合框控件返回值就是筛选值
所以不同的控件类型,在做动态图表时选择的公式也是不同的,如果是窗体中的组合框控件我们选择OFFSET函数,
(或者更简单的情况下用CHOOSE也是完全可以的)就可以了。而控件工具箱中的组合框控件我们则常常要用到VLOOKUP和MATCH函数。
两者的不同2
窗体控件和控件工具箱中的控件还有一个不同点在于自定义设置上,窗体控件可以设置的内容仅限于控件大小和位置
而控件工具箱中的控件可以设置很多属性,包括字体的大小、颜色,控件的大小、颜色等等。
所以如果你需要创建个性化的控件还是用控件工具箱比较好。当然一般的使用中窗体控件就完全可以应付了。(引用自http://club.excelhome.net/viewth ... p;page=1#pid3970827  3楼)

更详细的介绍为以上地址的六楼及推荐:
“窗体”是OFFICE早期版本遗留下来的控件,保留窗体控件是为了兼容。
后期开发了ActiveX 控件,这就是控件工具箱的控件。

[分享]“窗体”工具栏控件和“控件工具箱”控件基础
http://club.excelhome.net/viewth ... replyID=&skin=0

TA的精华主题

TA的得分主题

发表于 2010-6-28 11:29 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-11-20 11:45 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-1-5 16:03 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-1-5 23:44 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-2-27 15:05 | 显示全部楼层
大伟兄的佳作,总结了所有动态图表的制作现状,使我们这些初学图表的人看起来动态图表变得不那么神密了,学习了
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关注官方微信,高效办公专列,每天发车

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

GMT+8, 2020-3-28 18:04 , Processed in 0.057810 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2020 Wooffice Inc.

   

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

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

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