Excel如何实时关注疫情动态?
现在的疫情,大家比较关注的话题了,宅在家中的小编,决定利用所学知识,使用Excel来实时统计一下数据,正好复习一下相关知识,本文仅供学习Excel知识使用!
具体我们要做的效果大概如下:
(以下演示数据2020-01-28 新浪新闻,如有不当,请联系小编)
地址:https://news.sina.cn/zt_d/yiqing0121
一键刷新,实时获取统计数据:
代码(看不全,左右滑动滚动条):
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
更改的类型
'作者: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
赞 (0)