如何利用Excel设计一个唱票统计系统?


具体操作如下:
首先需要一个如下的数据结构 。

如何利用Excel设计一个唱票统计系统?

文章插图



唱票数G列区域,不能手动输入候选人票数,这样很不方便,所以我们需要一个窗体控件,用点击鼠标的方法来实现唱票 。 在“开发工具-插入-数值调节钮”下图3处,然后拖拽得到一个如下图的控件 。 (下图4处)
如何利用Excel设计一个唱票统计系统?

文章插图



接着利用控件来控制G3单元格,即第一个候选人 。
选中控件,点击鼠标邮件,在“设置控件格式-链接单元格-G3单元格”,这是点击控件的上下箭头,可以来控制单元格的票数 。 如下动图操作 。
如何利用Excel设计一个唱票统计系统?

文章插图

【如何利用Excel设计一个唱票统计系统?】

依此类题,选中控件,Ctrl+C/Ctrl+V复制出剩下的五个控件,然后将其单元格链接分别对应后几个候选人对应的单元格 。 如下图动图所示 。
如何利用Excel设计一个唱票统计系统?

文章插图

接着插入一个图表,将其置于底层,按动控件的箭头,图表的箭头就会随之移动,那么我们这个唱票系统的雏形就有了 。 看下图动图:
如何利用Excel设计一个唱票统计系统?

文章插图

但小伙伴们对唱票系统有要求,要求前三名的图表柱子能自动变成红色 。 剩余的名次的柱子保持原有颜色 。 而且还要对每个候选人的唱票有最终的汇总数字表达 。 所以我们要在插入图表之间,对数据结构进行改进 。 这也是本例的难点 。
 
在数据结构后面,新增前三名列(H列)和剩余名次列(G列) 。 然后将下面的公式复制到数据结构中,注意按ctrl+shift+enter来执行这个函数公式 。 然后在进行拖拽填充,这是系统会知道抓住候选人的前三名数字,不是前三名的候选人会用数字0来代替 。
=IFERROR(VLOOKUP(G3,LARGE($G$3:$G$8,ROW($G$1:$G$3)),1,0),0)
具体操作如下:
如何利用Excel设计一个唱票统计系统?

文章插图

 



=IFERROR(VLOOKUP(G3,LARGE($G$3:$G$8,ROW($G$1:$G$3)),1,0),0)
该公式是一个数组公式,注意ROW($G$1:$G$3)控制选择需要变红的名词的个数,本例为前三名,如果要前六名变颜色,就要改为ROW($G$1:$G$6).
Large函数来动态获取前三名的区域范围 。
Vlookup来匹配候选人的数值是否能匹配前三名的数值区域,从而获得该数值 。
IFERROR用让剩余没匹配的剩余(不是前三名的)数值为0 。
G列这是候选人数据所在的列 。
搞清楚这个公式,就可以对该数据模板进行随意按需的调整 。
接着我们将不是前三名的数据显示在I列,所以利用如下公式即可搞定 。
 
=IF(G3-H3>0,G3,0)
如何利用Excel设计一个唱票统计系统?

文章插图

 



有了这两个辅助列,然后在插入堆积柱形图,然后对前三列的数据统一设置为红色,即可实现动态的前三名的柱形图显示 。 (看动图操作)
如何利用Excel设计一个唱票统计系统?

文章插图



最难的地方搞定后,接下来开始对图表进行美化,调整图表的大小尺寸,固定坐标轴的最大高度,也就是唱票可能出现的最高值 。
这里有些技巧:
拖拽图表大小的时候,按住alt键可以与单元格边缘进行吸附 。
调整最后一个控件的位置,然后利用对齐按钮进行快速的对齐分距调整 。
选中坐标轴,按ctrl+1可以快速打开坐标轴最大值设置窗口 。
如何利用Excel设计一个唱票统计系统?

文章插图



设置坐标轴最大值 。
如何利用Excel设计一个唱票统计系统?

推荐阅读