ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E文精选 > 图表图形 > 百年奥运百米短跑展示图

百年奥运百米短跑展示图

作者:绿色风 分类: 时间:2022-08-17 浏览:151
楼主
嘉昆2011
数据来源:
  1. http://chandoo.org/wp/2012/08/14/bolt-vs-rest-excel-visualization/
网页展示:
  1. http://www.nytimes.com/interactive/2012/08/05/sports/olympics/the-100-meter-dash-one-race-every-medalist-ever.html/
仿制效果:

 

制作如网页所示的展示图,方法有许多,列举如下:
1,数据透视表,切片器,简单函数,VBA(针对图表);
2,大规模单元格构成图通过函数调用简易VBA,简单函数;(Chandoo原作所采用)
3,数据透视表,切片器,简单函数,VBA(针对单元格&图表)

本文所采用的是第一种方法,主要知识点涉及:
1,简单函数:Vlookup,Index,Countif 和Offset
2,数据透视表&切片器:计算字段
3,VBA:针对图表,添加类和模块
4,其它:定义名称,条件格式,照相功能和监视窗口(用于调试观测值)

制作步骤:
1,数据整理
a, 利用透视表统计出所有获得奖牌的国家,建立国家简称与全称的对照表,计算出国家取得的奖牌数量:
  1. =VLOOKUP(D3,N$3:O$20,2,)&"          "&COUNTIF(D$3:D$87,D3)
b,分别计算金,银,铜牌获得者与Bolt通常竞技时所差距离字段:
  1. =IF($B3=J$2,$F3,NA())

 

2,透视表 & 切片器
a, 计算字段:
  1. =IF(Gold>=0,Gold,NA())
b, 建立名称,所选国家的金,银,铜牌数:
  1. =OFFSET(Data!$V$4,,,COUNTA(Data!$V:$V)-1,)
c, 插入切片器


 

3,选手相关材料
a, 基本信息,如,参加哪届奥运会,获得名次,成绩,与Bolt差距等,
  1. =IF(Sprinter=0,"",INDEX(C$3:C$87,Sprinter))
b, 条件格式,针对选手取得的相应名次,成绩颜色发生相应变化:
  1. =$AE$2="GOLD"
c, 鼠标所选中的选手:
  1. =IF(A3=Sprinter,F3,NA())

 

4,图标组装(XY散点图)
a, Y轴,G列表年份;X轴,J/K/L列表与Bolt的距离;
b, 鼠标所选中的选手,AA,AB列;
c, 添加名称,F_Gold,F_Silver,F_Bronze和F_Year,格式=工作表名.xlsm!名称
d, 设定下相应点的格式和样式

5,VBA
插入类和模块,代码部分可详见附件
主要涉及MouseMove事件,和Chart.GetChartElement

6, 美化图表

 


附件:

100M_Record.rar

2楼
peakchu
先夸夸嘉昆的图表看着就是舒服

然后学习
3楼
xmyjk
太棒了,谢谢嘉昆分享。
4楼
千年一梦遥
真棒,佩服!
5楼
mylx
好棒啊!不知道我能学到那个程度!努力中**
6楼
い卋玑┾宝珼
太佩服了
7楼
嘉昆2011
谢谢支持哦。
8楼
嘉昆2011
谢谢支持
9楼
嘉昆2011
一起努力学习中
10楼
嘉昆2011
多来ET看看,总有你想要的。很多前辈知道我们前进。
11楼
嘉昆2011
数据来源:
  1. http://chandoo.org/wp/2012/08/14/bolt-vs-rest-excel-visualization/
网页展示:
  1. http://www.nytimes.com/interactive/2012/08/05/sports/olympics/the-100-meter-dash-one-race-every-medalist-ever.html/
仿制效果:

 

制作如网页所示的展示图,方法有许多,列举如下:
1,数据透视表,切片器,简单函数,VBA(针对图表);
2,大规模单元格构成图通过函数调用简易VBA,简单函数;(Chandoo原作所采用)
3,数据透视表,切片器,简单函数,VBA(针对单元格&图表)

本文所采用的是第一种方法,主要知识点涉及:
1,简单函数:Vlookup,Index,Countif 和Offset
2,数据透视表&切片器:计算字段
3,VBA:针对图表,添加类和模块
4,其它:定义名称,条件格式,照相功能和监视窗口(用于调试观测值)

制作步骤:
1,数据整理
a, 利用透视表统计出所有获得奖牌的国家,建立国家简称与全称的对照表,计算出国家取得的奖牌数量:
  1. =VLOOKUP(D3,N$3:O$20,2,)&"          "&COUNTIF(D$3:D$87,D3)
b,分别计算金,银,铜牌获得者与Bolt通常竞技时所差距离字段:
  1. =IF($B3=J$2,$F3,NA())

 

2,透视表 & 切片器
a, 计算字段:
  1. =IF(Gold>=0,Gold,NA())
b, 建立名称,所选国家的金,银,铜牌数:
  1. =OFFSET(Data!$V$4,,,COUNTA(Data!$V:$V)-1,)
c, 插入切片器


 

3,选手相关材料
a, 基本信息,如,参加哪届奥运会,获得名次,成绩,与Bolt差距等,
  1. =IF(Sprinter=0,"",INDEX(C$3:C$87,Sprinter))
b, 条件格式,针对选手取得的相应名次,成绩颜色发生相应变化:
  1. =$AE$2="GOLD"
c, 鼠标所选中的选手:
  1. =IF(A3=Sprinter,F3,NA())

 

4,图标组装(XY散点图)
a, Y轴,G列表年份;X轴,J/K/L列表与Bolt的距离;
b, 鼠标所选中的选手,AA,AB列;
c, 添加名称,F_Gold,F_Silver,F_Bronze和F_Year,格式=工作表名.xlsm!名称
d, 设定下相应点的格式和样式

5,VBA
插入类和模块,代码部分可详见附件
主要涉及MouseMove事件,和Chart.GetChartElement

6, 美化图表

 


附件:

100M_Record.rar

12楼
peakchu
先夸夸嘉昆的图表看着就是舒服

然后学习
13楼
xmyjk
太棒了,谢谢嘉昆分享。
14楼
千年一梦遥
真棒,佩服!
15楼
mylx
好棒啊!不知道我能学到那个程度!努力中**
16楼
い卋玑┾宝珼
太佩服了
17楼
嘉昆2011
谢谢支持哦。
18楼
嘉昆2011
谢谢支持
19楼
嘉昆2011
一起努力学习中
20楼
嘉昆2011
多来ET看看,总有你想要的。很多前辈知道我们前进。

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap