分享

Excel里看奥运

 我看360书 2016-08-07

引言 |今天巴西里约奥运正式开幕了,开幕前的各种吐槽,糟糕的治安,烂尾的装修,首次的难民代表队,充满人文关怀的颁奖环节,绿色五环的打开方式,小巧别致的火炬塔,美丽的吉娘娘(吉赛尔.邦臣),热情的桑巴舞,让本届奥运会充满争议以及期待。

Excel里看奥运

每届奥运会最引人关注的大概就是奖牌榜了,那么我们有没有尝试过另外一种打开方式呢?比如在excel里面看比赛结果以及奖牌榜,这就是我们今天要讲的主题,Excel导入web数据的问题。

在我们的日常工作中,经常有一类人对一些动态变化的数据会保持关注:

  • 比如我们接下来会重点讲到的彩票行业;

  • 还有我们的证券从业者,比如关注股市行情啊,大宗商品啊;

  • 还有我们的金融从业者,比如汇率波动啊,经济运行指数啊;

  • 我们政府事业机构,比如国家统计局啊,海关总署啊什么的。

如果这些离我们比较远的话,说点我们生活上的:

  • 比如NBA比赛的图文直播啊,比分实时刷新啊;

  • 还有体育运动赛事啊,比如奥运会奖牌榜变动啊;

  • 更有比如我们选举的计票进程啊,公投进度啦等等。

如此种种,可以看到有很多行业需要跟数据打交道,对这个数据的实时更新比较敏感,需要根据这个数据做进一步的处理和分析工作,指导生产生活和政策发布等等。那么数据的获取和当前数据分析工具的衔接就成了一个问题了,有财力的公司可能会选择一些有实力的成熟的solution provider,像什么SPSS软件之类的,但是如果某个个体或者对于成本比较敏感的小公司来说,想找到一个比较好的工具可能就不是那么容易了。

Excel,作为一个强大的数据分析工具,纵横几十年,使用者遍布全球,可以说只要是跟数据打交道的,没有不用Excel的。Excel功能强大,纵使成千上万的爱好者在那研究实践分享,每天还是有那么多新的技能和应用不断地被发掘,连Excel的开发者都没想到会是这么一种局面。我们今天就要简单讲一下,围绕上面谈论的场景,Excel要如何来帮助人们?

思路:

「首先,要导入web数据」

Excel本身有导入web数据这个功能,可能平时用的人不多。很多人在做这一步的时候,首先往往想到的是用VBA解决,但是会面临一个问题,就是现在网页开发可能运用了不同的技术手段和途径,导致在完美抓取数据的时候这个过程往往不尽如人意,很多时候需要case by case,尤其是我们在帮助客户解决这类问题时,我们面对的是不同背景和需求的客户,最理想的状况是一种法子打天下。

但是现实是残酷的,客户一个网址丢过来,我们可能就得研究半天,这个网页是什么技术,有什么限制,是公网还是局域网,要登录还是游客模式就可以,数据刷新及时准确么?是滴,作为service provider,我们要考虑的往往更多,而这通常不被客户所理解,在他们看来,蛮简单的一个东西啊!@#¥%……&×

我只能说图样图森破,鉴于这个问题的复杂性,我们通常建议客户找专业的软件工程师来帮忙,换一种技术途径如SQL等来抓取数据可能会简单得多。当然肯定要花钱的,可能还不少。

那么有没有不花钱的,有,当然不能解决所有的网站问题,咱们接下来再讨论什么样的情况可以。

「其次,用excel进行后处理」

函数,数据透视表,图表,VBA什么的,十八般武器,你就看着办吧

§案例§

之前帮一个客户做了彩票相关的案子——根据网上实时开奖数据来计算遗漏值,从而指导自己调整买彩票号码组合策略来增加中奖的概率(有没有效果,我就不得而知了)。很久以前有个重庆的朋友告诉我说,每天赚个百吧块菜钱还是可以的,赚不了大钱,毕竟这种概率的东西运气的成分占了大多数。我们学过数理统计心理学的就知道,这个典型的运用了基础比例偏差易获得性偏差诱导了人们去参与这样一种游戏,但是不得不佩服一些执着的人,研究这里面的规律,又是建模啊,又是设计算法啊,无限的往游戏规则上靠,毕竟有些设计也是电脑根据复杂的情景设定和一定规则来运作的,指不定哪天还真的中了大奖也说不好(中奖的客户话记得给我发个红包啊,不嫌少的,苍蝇也是肉嘛,=p)

抓取 http://yn11x5kjjg./上的彩票开奖数据。

Excel里看奥运

步骤:

1.菜单,数据

选择从web导入(我用的是英文版,中文版的小伙伴们英文有困难的请自觉找相应位置)

Excel里看奥运

2.弹出的窗口地址里面输入上面的网址,点go

Excel里看奥运

3.页面刷新后

会看到一些黄色的箭头部分,将页面划分成区块,想要提取哪部分,勾选这部分的框框就行,这里我们需要开奖号码,那么勾选下面的框框即可。

Excel里看奥运

讲到这里,就不得不提上面提到的一个问题,就是什么样的网页适合于这种导入方法?很简单,我们不妨测试一下,经过上面2步后,如果你能看到网页有被正确识别,然后区块能被划分,你想要的数据前面可以打勾勾的话,那么恭喜你,基本上这个就没问题了,如果没有,那么很显然这种办法不大适合,你还是另寻它法吧

4.勾选后,我们点import导入数据

会提示你数据要放在哪里,根据你的需要选择即可

Excel里看奥运

5.调整格式

我们看到抓到的原始数据往往看着不大顺眼,这时候我们可以根据需要自己调整一下,比如字体,间距啊

Excel里看奥运

6.设置属性

那我们这次调整了,刷新了又变了怎么办?没关系,我们可以在属性里面进行相关设置,鼠标放到数据区域某个单元格,选择菜单栏的属性,我们可以设置刷新的时间频率,然后还可以设置格式,以及数据变化的方式,是插入还是覆盖等,还可以设置相关的自动填充

Excel里看奥运

比如开奖是10分钟一次,我们要将刷新频率设置得比10低才行,这样不至于漏掉每次更新,在等待的间隙还能处理别的数据

7.刷新

我们可以选择手动刷新,也可以管理多个connection

8.数据处理

得到更新的数据源后,我们就需要利用它,比如我们要根据买彩情况跟开奖号比较来计算遗漏值

Excel里看奥运

我们要根据数据的刷新方式来设计你的数据处理方式,我们可以用名称来定义动态区域,结合函数或者图表来展示数据变化,或者借用VBA的手段来抓取最新的开奖号码,这里可以用工作表事件,如change事件或者caculate事件等,让每次数据的刷新都能激活某个程序去执行相应的动作。

Excel里看奥运

需要注意的是:

1.有的网站可能刷新频率会出问题

有时候一次出来2个号码,而你只抓了一个,这样就会有漏掉的情况,解决方法是1)要么找一个靠谱点网站 2)要么当刷新总数据完整的话,我们可以用循环遍历的方式来比较已处理的数据,将漏掉的数据补上;

2.还有一个更重要的问题是,数据刷新有时候取决于网络状态或者你的计算机内存情况,有时候刷新不成功,提示出错怎么办?

我们知道,这个用的是excel内置功能,并没有提供这种错误解决机制,但是现实中这样的情况确实存在,我们又难得用VBA的容错处理机制来干涉(因为发生在excel自动抓取这段过程,当然大神可能会有办法,反正小弟我弱弱的是不会滴),那么这里提供一种论坛上常见的解决办法,就是采用【按键精灵】这款PC端软件来辅助,它能用来模拟人在某些特定场景下的鼠标动作,使用很简单,就是像Excel录制宏一样,当出现错误的时候你手动点击确认,它会自动记录一段代码,当你下次开启的时候,碰到相同的场景,它就会自动帮你点确定,省去了人工干涉的动作,个人感觉比较实用,因为你不可能时时守在电脑前,一旦你的网络报错的话,可能你的数据更新就全错了,等你下班的时候再发现,可能一天都白做了,得重头再来。这个工具很多好的解决了此类问题,网上一搜就有,我这里就不提供下载资源了。

以前客户老因为这个网络原因来找我,自从听了建议用这个,感觉腰也不酸了,腿也不疼了,再也没有来找我了,嘎嘎,这种感觉就是好,补充一句,我没有在为它带盐打广告,请自觉给眼睛打马赛克,呵呵。

折腾一番就可以做个模板啦,有类似需求的朋友们,可以私我(微信ID:Excel-365)哦!

Excel里看奥运

BTW,上班期间因为看奥运被老板抓的童鞋可不要怨我哦,哈哈

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多