看看别人家的Excel系列之这也太神了!
过年了,不发需要花费大量时间学习的文章了,发个轻松点的,顺便膜拜一下神人。
今天要介绍的这个神人,是个老外,我也不知道他叫什么名字,也没有费心去查,我只是偶尔看到了他的网站,就被惊到了。
不多说废话,直接看看下面这个动图:
这是网站上直接的显示。网站上来就是一句:
这个网站,全是用Excel做的动画,总共681个,下面是这些动画的分类
看了这个分类,不得不佩服作者的知识渊博,还有科学,物理,光学,拿来给孩子启蒙,效果一定不错。
而且,能够想到用Excel实现,这个脑洞,也是让我佩服的五体投地。关键是,仔细研究,你会发现,实现的方法并不难。
我们来看几个例子。
首先是一个物理方面的:光线追踪模型
蓝色区域是动画显示的地方,右下角是操纵杆(竟然还模拟了操纵杆😮)
看看怎么操纵:
我鼠标操纵不太灵活,有点慢,看看它的自动演示(点击操纵杆左侧那个绿色按钮)
物理这玩意,我上学时学的就不好,光学就更差,而且差不多已经都还给老师了。我就不强行解释原理了。我们来看看用Excel是怎么实现的。(这个我熟😀)
你猜,那个动画是用什么方式实现的?我打赌至少一半的人猜不到。
在动画上点击鼠标右键:
一下子就真相大白了!
原来是用图表做的。
不光是动画,就连操纵杆,都是用图表做的:
把戏拆穿了就变得很简单了,就是一个我们常用的技巧:
交互式图表
当然,能够想到把这个科学原理用图表实现就很了不起了,再能够实现,这个建模功力也是很了得了。
当然,还是用到了VBA,不过都很简单了:
总共也就不超过一两百行代码,也没有复杂高深的算法。
再来看一个例子。这回更加高大上了,是工程类的,异步电动机模型。
直接看动图吧:
既有转子的旋转图,又有各项输出的图表跟踪,够专业吧!
当然,还是用图表实现的:
好了,我就不做搬运工了。有兴趣,你自己去看吧,就是下面这个网址:
https://www.excelunusual.com/
(不寻常的Excel,确实够不寻常的!)
这个网站的所有动画都是用Excel做的,所有的Excel文件都可以下载。
作者制作的年代比较早,所有基本上所有文件格式都是.xls的。作者似乎对Excel2007颇多微词,对Excel2003推崇备至。当然,他主要是指的运行速度这一方面。
由于年代比较早,所以所有VBA代码都是基于32位系统的。如果你的Excel是64位的,开始动画时(有些文件是在打开时),会遇到一个错误:
不要怕。此时,Excel已经打开了VBA编辑器。关闭上面的出错信息,来到VBA编辑器,
在蓝色的“Function”前面,添加:Ptrsafe:
即可运行正常。
后记
老实说,从这个网站的文件中想学习编程,并不是一个很好的选择。这里的代码都很简单。但是学习一个“建模”的思路和方法,这绝对是一个很好的地方。我自己就从中得到启发,并在两个项目中运用了类似的思路。
这个网站还提示了我们,不要小看Excel。正如作者自己说的那样,Excel是个太好的工具了:
我就不翻译了。不过那句话:对于非程序员来说,Excel提供了一个非常好的环境,让你可以进行复杂的编程!说的太对了。
这个作者让我想起另一位神人,我的一位大学同学,目前在大学里教书,开着一门数据结构的课程。这么一位计算机和编程专业的不能再专业的教授,拿Excel举例子,给学生讲数据结构,并且将那些复杂的算法用Excel实现后直观 的展示了出来,着实让我震撼。等有机会一定给大家介绍一下。
更多Excel VBA和图表内容,请加入E学会。一次加入,永久有效。超过20们Excel专业技能课程