现在的疫情,大家比较关注的话题了,宅在家中的小编,决定利用所学知识,使用Excel来实时统计一下数据,正好复习一下相关知识,本文仅供学习Excel知识使用!


具体我们要做的效果大概如下:

(以下演示数据2020-01-28 新浪新闻,如有不当,请联系小编)

地址:https://news.sina.cn/zt_d/yiqing0121


一键刷新,实时获取统计数据:


确诊人数省份树形图:



确诊人数地图:


制作方法如下:
由于涉及知识比较多,这里只讲大体方法,不讲细节,具体演示文件下载地址在文末
1、使用Power Query动态获取采集新浪新闻数据


代码(看不全,左右滑动滚动条):

let 当前时间戳 = Number.IntegerDivide(Duration.TotalSeconds( DateTime.LocalNow() -#datetime(1970,1,1,8,0,0))*1000,1), data = Json.Document(Web.Contents("https://interface.sina.cn/news/wap/fymap2020_data.d.json?"&Text.From(当前时间戳)))[data], 总数据=Table.FromRecords({[实时时间=data [cachetime],确诊=data[gntotal],疑似=data[sustotal],死亡=data[deathtotal],治愈=data[curetotal]]}), 明细数据=Table.RenameColumns(Table.FromRecords(data[list]),{{"name","省份"},{"value","确诊"},{"cureNum","治愈"},{"deathNum","死亡"}} ), 结果 = Table.RemoveColumns(明细数据,{"susNum", "city"}), 更改的类型 = Table.TransformColumnTypes(结果,{{"确诊", Int64.Type}, {"死亡", Int64.Type}, {"治愈", Int64.Type}}) in 更改的类型


2、树形图制作


3、地图制作
a、准备一份可以编辑的中国地图

b、使用公式获取填充颜色的RGB值

c、使用VBA来完成自动刷新及颜色填充


代码截图

源码:

'作者:EXCEL办公实在小易 '功能:刷新数据及地图作色 Sub 刷新() Range("B8").ListObject.QueryTable.Refresh BackgroundQuery:=False Call 地图作色 End Sub Sub 地图作色() Dim arr, i As Integer arr = Worksheets("data").Range("a5").CurrentRegion.Value For i = 2 To UBound(arr) dataColor = Split(arr(i, 5), "|") Worksheets("data").Shapes(arr(i, 1)).Fill.ForeColor.RGB = _ RGB(dataColor(0), dataColor(1), dataColor(2)) Next End Sub


小结:首先最想说的是:武汉加油!大家出门一定要记得带口罩,既是对自己负责,也是对大家负责,不给社会添乱,有条件的可以为武汉尽自己的一份力!今天小编也是通过Excel来帮助大家及时获取最新动态,关注疫情发展,不用每次都打开网页去查找!



申明:本文数据取自新浪新闻,仅供学习Excel交流使用,恶意转载,篡改意图发布者,后果自负!