1.
俄罗斯世界杯即将火热来袭,大洋彼岸的外国小哥赠给我们一份Excel模版,还附送了一句话:
中国足球队世界杯加油啊!!
我呸——这家伙大概不晓得老毛子那块地儿,俺们除了足球队没去,其它都去了,还加油个毛线啊,再说了油价可刚涨没多久啊……
外国小哥表格制作的相当精美,不禁使我再次感慨,
只要想象力足够,Excel就是一款没有上限的神器。
不信?先给在座的诸位抖个Splash封面瞧瞧。
从长相上,真没看出来外国小哥是个贴心的人呐,居然知道俺看不懂洋文,在封面的右上角设置了语言下拉框,我默默的选择了中文……
鼠标点击封面图,Excel自动跳转进入另外一张工作表。
然后……我需要冷静一下……你说大家都是玩Excel的,为啥外国小哥能把Excel养成了女儿,打扮的不像话!而我却只能把Excel惯成混小子,打拌的不像话呢?男女娃娃之间的差距真的就这么大吗?
看——外国小哥的表是不是打扮的好看的不像话:
更关键的是,人家不只是看起来很秀,内蕴也很秀,各种功能相当有料有趣啊。
上面一排高大上的导航图,每个图形内贴心的显示了国家名,还各自指向A~H八个小组的工作表,点击图形,就可以自动跳转到相关工作表。
有意思吧……
导航图下面的区域,左侧是比赛的时间和城市;中间是各支球队的比分;右侧是小组数据统计。
我本着从灭霸同志那里学习来的绝对公平公正原则,给每场比赛都输入了1:0的比分……
然后………
小组数据统计表很快计算出了各支球队场次、胜、平、负的次数;还有进球数、失球数、净胜球数以及积分……
更有趣的是,统计表的国旗和国名是按名次进行自动排列的。
BUT……
What Are You弄啥嘞?不是绝对公平的1:0吗?为什么积分不一……哦哦哦~这句话当我没说,俺承认是伪球迷你怎么着吧……
……
当小组所有的比赛尘埃落定后,表格下方区域,还会自动计算出小组第一名和第二名的国名和国旗。
有趣吧?
……我动动鼠标,溜进淘汰赛表格,发现小组赛出线的国家,名字已经自动写入相应的单元格。
此时,一股来自宇宙深处的神秘力量,促使我支配波斯铁骑干掉了北极熊………
更有趣的事,我们可以很认真的告诉在坐的诸位熊迪姐妹们,这些功能……你们……几乎……都可以……自己……来实现!
所有的功能均未涉及VBA编程,都是通过Excel函数完成的,而且大都是最基础的那部分函数哦,比如VLOOKUP、INDEX、SUMIF……。
2.
EH电视台,EH电视台,现在插播一条重要新闻,
下载本文模版请点击:https://www.spreadsheet1.com/fifa-world-cup-2018-russia-excel-download.html
友情提示,下载请选择中文版。
3.
打个响指,咱们一起聊聊模版里的几个主要功能是如何实现的?
看我眼神,再次给大家港,模版里涉及到的所有技巧都是我们ExcelHome公众号过去分享过的。关注不会迷路,如果你还没关注我们——自个看着办吧。
3.1语言切换。
模版的封面处有一个【数据验证】制作的语言选择下拉框,看起来很拉风,但实现起来其实很简单。
首先建立一张参数表,提供各个国家名字的各种语言版本,然后使用VLOOKUP等函数根据所选语种查询引用即可(模版里隐藏起来的参数表名为Games)。
摊手,忒社会,没想到VLOOKUP还可以这么用?
当然,如果你想来个更高大上的,还可以使用网络函数,通过有道翻译实现各语种自动切换。
参考我们过去的教程:【Excel数据获取】你会用函数实现网页数据抓取吗?
3.2导航图
相当炫酷的导航图是有多个图形组合而成的。通过菜单【插入】→【形状】,保持耐心,选择合适的图形并填充颜色组合即可。
右键点击组合完成的图形,在快捷菜单中选择【链接】。在弹出的【超链接对话框】中,设置目标单元格引用地址。搞定。
3.3小组赛数据统计
场次、胜、平、负可以用SUMPRODUCT函数。
场次:
=SUMPRODUCT(((E$7:E$17=O9)+(K$7:K$17=O9))*(G$7:G$17<>””))
胜:
=SUMPRODUCT((E$7:E$17=O9)*(G$7:G$17-I$7:I$17>0)+(K$7:K$17=O9)*(I$7:I$17-G$7:G$17>0))
平/负和胜的公式几乎无差,只是修改了一个小地方。
平:
=SUMPRODUCT((E$7:E$17=O9)*(G$7:G$17-I$7:I$17=0)+(K$7:K$17=O9)*(I$7:I$17-G$7:G$17=0))
负:
=SUMPRODUCT((E$7:E$17=O9)*(G$7:G$17-I$7:I$17<0)+(K$7:K$17=O9)*(I$7:I$17-G$7:G$17<0))
进球数和失球数可以使用SUMIF函数。
进球数:
=SUMIF(E$7:E$17,O9,G$7:G$17)+SUMIF(K$7:K$17,O9,I$7:I$17)
失球数:
=SUMIF(E$7:E$17,O9,I$7:I$17)+SUMIF(K$7:K$17,O9,G$7:G$17)
积分就是加减乘除了,胜的场次*3+平的场次。
机密吐槽:模版里外国小哥的公式写的是化简为繁了,隔着宽阔的太平洋,瞪他一眼,随便看看就好……
另外还有两个知识点……
一个是根据国家名称自动引用国旗图标。
另外一个是根据球队积分、相互间的胜负关系、净胜球数目排列名次。
这是一个多条件排序的问题,一般通过加权方式处理,我们过去也分享过类似的函数算法。当然,如果你不能通过一条函数公式来完成,使用辅助列或定义名称是最恰当不过的了。既好理解,运算效率也有保障。制作模版时,我们通常更推荐使用后者。
……
4.
鲁迅先生说过,世界杯来了,世界杯终究还是要走的。
但作为一枚货真价实的伪球迷,我们这次打算玩点有趣的……
本期分享的模版只是一个开始哦,随着比赛的进行,我们会陆续推出各种有趣的教程。比如,用VBA爬取各队球员的数据,用透视表或函数分析球员的属性(俱乐部、位置、身价)以及各种图表可视化等等……