用EXCEL图表制作时钟「内容详细,配有大量动画操作,值得收藏」

我是一名办公软件爱好者,喜欢Excel,会函数、会基础操作、也会一点VBA。现在和大家分享、交流一些excel的基础知识,欢迎爱好的和需要学习的朋友,相互学习、一起进步。如果你喜欢我的文章,请关注我,以便第一时间看到我分享的内容。

今天我分享的是用图表制作时钟,我们先看下面的动图效果演示(这个是刚制作完成的,还未美化):

用EXCEL图表制作时钟「内容详细,配有大量动画操作,值得收藏」

EXCEL图表制作的时钟


目录:

  1. 效果演示;
  2. 数据构建原理;
  3. 数据构建结果;
  4. 图表制作;
  5. 图表美化;
  6. 设置时间自动更新;

数据构建的原理

(注:该部分内容有点烧脑,如果只为学习图表制作的操作,坐标的计算过程和原理可以忽略。但是需要看下后面构建好的数据,了解下数据表的格式。需要演示数据的朋友,可以关注我的头条号,给我私信消息,注明要时钟图表素材,我可以把演示数据直接发给你们)

用EXCEL图表制作时钟「内容详细,配有大量动画操作,值得收藏」

EXCEL图表制作时钟,数据构建原理

本例中,我设置的表盘半径为4,表盘的圆心坐标为(6,6),然后结合这些参数,利用三角函数和正弦定理、余弦定理,分别计算出12个整点的坐标和48个分钟的X、Y坐标值。

如上图中的例子,要计算10点的X和Y坐标值。计算X坐标的公式如下:

<code>=6+SIN(50/60*360*PI()/180)*4/<code>

注意:在Excel中,计算30°、60°角的SIN值、COS值,用的公式不是SIN(30)、COS(60),而应该用SIN(30*PI()/180)或COS(60*PI()/180)【其中的PI()就是π】

由于共有60个点的坐标要计算,所以我将整个圆分成60份,10点的位置刚好是第50份,那么角度就是50/60*360*PI()/180,然后配合正弦定理,计算出边长,再用圆心的X坐标值加上边长,既可以得到10点的X坐标值(SINα正弦函数,角度α>180°的时候,值为负数,10点位置的角度是300°,所以得到的这里得到的是负数)

同理,用余弦定理计算出10点的Y坐标值,公式如下:

<code>=6+COS(50/60*360*PI()/180)*4/<code>

用以上两个公式,只需要修改每个分钟点相对于12点的角度(按顺时针方向,1分钟为1/60-360,2分钟为2/60*360…),就可以批量计算处每个点的X、Y坐标值。

数据构建的结果:

一、表盘设置

用EXCEL图表制作时钟「内容详细,配有大量动画操作,值得收藏」

设置表盘的圆心坐标和半径值演示效果

我们设置表盘圆心坐标为(6,6),设置半径为4.

二、12个整点坐标值,数据详见下表

用EXCEL图表制作时钟「内容详细,配有大量动画操作,值得收藏」

设置的时候,要结合表盘数据,以便在修改表盘参数的时候,整点坐标相应改变。这里用的12等分。

三、48个分钟坐标值,数据详见下表(部分数据)

用EXCEL图表制作时钟「内容详细,配有大量动画操作,值得收藏」

分钟刻度坐标(部分数据)

设置的时候,要结合表盘数据,以便在修改表盘参数的时候,分钟坐标相应改变。这里用的60等分。

四、设置时针、分针、秒针坐标

用EXCEL图表制作时钟「内容详细,配有大量动画操作,值得收藏」

1、设置时针、分针、秒针的坐标时,要结合现在的系统时间,故需要在表格中记录现在的时间,见【C1】单元格;

2、时针、分针、秒针的第一个点都是圆心位置,坐标为(6,6);

3、时间指示端的时针X、Y坐标公式为:

<code>X坐标:=$C$3+SIN(MOD($C$1*24,12)/12*360*PI()/180)*($C$5-2)/<code>
<code>Y坐标:=$C$4+COS(MOD($C$1*24,12)/12*360*PI()/180)*($C$5-2)/<code>

4、时间指示端的分针X、Y坐标公式为:

<code>X坐标:=$C$3+SIN(--("0:"&TEXT($C$1,"M:S"))*24*360*PI()/180)*(C5-1)/<code>
<code>Y坐标:=$C$4+COS(--("0:"&TEXT($C$1,"M:S"))*24*360*PI()/180)*($C$5-1)/<code>

5、时间指示端的秒针X、Y坐标公式为:

<code>X坐标:=$C$3+SIN(TEXT($C$1,"S")/60*360*PI()/180)*$C$5/<code>
<code>Y坐标:=$C$4+COS(TEXT($C$1,"S")/60*360*PI()/180)*$C$5/<code>

图表制作(重点内容)

本例使用的图表类型为:带平滑线和数据标记的散点图

用EXCEL图表制作时钟「内容详细,配有大量动画操作,值得收藏」

带平滑线和数据标记的散点图

一、生成时钟的整点

用EXCEL图表制作时钟「内容详细,配有大量动画操作,值得收藏」

生成时钟的时钟整点

二、生成时钟的分钟

用EXCEL图表制作时钟「内容详细,配有大量动画操作,值得收藏」

生成时钟的分钟

三、生成时钟的时针、分针、秒针

用EXCEL图表制作时钟「内容详细,配有大量动画操作,值得收藏」

生成时钟的时钟、分针、秒针

图表美化

时针、分针、秒针的样式、颜色、大小等设置,各位朋友可以自己摸索、尝试,这里的美化主要讲在图表中插入图片背景(其实,图表美化,我也不太会配色……尴尬)。操作如下:

用EXCEL图表制作时钟「内容详细,配有大量动画操作,值得收藏」

图表美化,加入表盘背景

下图是表盘素材

用EXCEL图表制作时钟「内容详细,配有大量动画操作,值得收藏」

表盘素材

设置时间自动更新

用EXCEL图表制作时钟「内容详细,配有大量动画操作,值得收藏」

设置自动更新时间的代码

由于EXCEL不会每隔一秒自己更新一次数据,所以,我们需要借助VBA代码,让excel自动更新时间。使用的代码如下:


Option Explicit

Sub 开始() '开始自动更新时间和代码

Application.ScreenUpdating = False '关闭屏幕更新

ThisWorkbook.ActiveSheet.Range("C1") = Time '当前工作表C1单元格写入时间

Application.OnTime Now + TimeValue("00:00:01"), "开始" '启动自动计时,当前时间+1秒

End Sub


Sub 停止() '终止自动跟新时间的代码

Application.ScreenUpdating = False '关闭屏幕更新

On Error Resume Next '容错代码,遇到错误自动跳过,并执行后续代码

Application.OnTime Now + TimeValue("00:00:01"), "开始", , False '停止自动计时

End Sub


将以上代码复制到文件的VBE编辑器里面,然后再工作表中添加两个按钮,一个设置为开始计时,一个设置为停止计时。

完成后的效果

用EXCEL图表制作时钟「内容详细,配有大量动画操作,值得收藏」

完成后的效果

到现在,制作过程展示完成,说下比较关键的地方:

1、构建数据,这个相对有点麻烦(尤其是这个例子,里面涉及到数学知识,估计好些人已经把,这也是制作图表最基础的地方,往往在很多时候,我们手上的数据无法直接用来制作图表,都需要根据图表的特点对数据进行二次加工,所以这个是学习基本功;

2、Excel的图表有很多种类型,使用的的时候,选择适合的,将数据的效果全部表达出来即可。


分享到:


相關文章: