網(wǎng)上有很多關(guān)于中國GDP在世界各國中排名變化的視頻,相信大家都有看到過,數(shù)據(jù)變動的過程看起來非常震撼,讓人熱血沸騰。
感興趣的小伙伴們請擺好姿勢繼續(xù)往下看,動態(tài)柱形圖制作教程。
一、世界各國的GDP數(shù)據(jù)從哪兒來?
1. 瀏覽器搜索:世界銀行數(shù)據(jù)庫中文版。
2. 搜索GDP,選擇第一個GDP(現(xiàn)價美元)。
3.右邊有個下載數(shù)據(jù),可以根據(jù)需要下載對應(yīng)的數(shù)據(jù)類型,本次咱們下載Excel數(shù)據(jù)。
4.如果下載不了,可以點擊查看詳細信息。
5.點擊所有元數(shù)據(jù)。
6.跳轉(zhuǎn)到世行中文數(shù)據(jù)庫網(wǎng)站。
6.設(shè)置數(shù)據(jù)的查詢條件,設(shè)置Time為50年。
7.條件設(shè)置完畢右邊的下載選項中選擇Excel即可下載。
8.下載下來的數(shù)據(jù)因為金額太大顯示成科學(xué)計數(shù)方式了,在制作圖表前還需要對數(shù)據(jù)進行降位處理。
二、圖表中還用到另一份數(shù)據(jù),我國年度大事記
這份數(shù)據(jù)小伙伴們可以直接用搜索引擎去查找,文末也會提供下載方式。
三、數(shù)據(jù)準備完畢即可開始圖表制作
第一步:對GDP數(shù)據(jù)進行降位處理。
技巧:選擇性粘貼–運算–除 1000000000,這么多個零數(shù)數(shù)清楚了嗎?
答案:十億。
第二步:以2018年的數(shù)據(jù)為基準做一次降序排列。
目的是讓數(shù)據(jù)按GDP按從大到小進行排列,但是這只是一個年度的,其他年代的GDP數(shù)據(jù)也需要排序怎么辦?請繼續(xù)往下看,答案即將揭曉。
第三步:新建一個輔助表,復(fù)制數(shù)據(jù)源中第一個年度前50個國家的數(shù)據(jù)。
為啥是50,而不是100?因為我們的圖表最終只取排名前10的國家,前面我們對原數(shù)據(jù)以2018年度做了一次降序排列,所以取前50個足夠,排名太后的已經(jīng)沒有分析意義了。
第四步:對輔助表中的數(shù)據(jù)進行動態(tài)排名
用到排名函數(shù)=Rank(當前數(shù)字,需排名的數(shù)據(jù)區(qū)域,1升序或0降序排列)
A列的國家固定不變,B列需要動態(tài)的換成1969至2018年的數(shù)據(jù),C列的排名函數(shù)會自動計算出當前最新的排名。
第五步:從動態(tài)排名的數(shù)據(jù)中取出排名前十的國家和金額
這時候需要用到一個萬金油組合公式MATCH和INDEX
MATCH函數(shù)負責(zé)根據(jù)排名數(shù)字查找它在動態(tài)排名中的位置(行位置)
INDEX函數(shù)負責(zé)根據(jù)行位置取在同一行中的國家和GDP數(shù)據(jù)
排名1-10是固定不變的,需要根據(jù)這個不變的數(shù)字去左邊動態(tài)的取出這個數(shù)字對應(yīng)的國家和DGP數(shù)據(jù)。
例如:
固定排名2–Match對應(yīng)動態(tài)排名中轉(zhuǎn)2所在的行為第4行–index從A列中取出第四行的數(shù)據(jù)=日本,同理可取出對應(yīng)的GDP數(shù)據(jù)。
第六步:對中國的GDP數(shù)據(jù)單獨顯示
因為數(shù)據(jù)會動態(tài)變化, 為了保證中國永遠顯示成紅色柱子,所以再加一列用來只顯示我們中國的GDP數(shù)據(jù),這個用IF函數(shù)很容易處理。
=IF(F2=\”中國\”,G2,0)
第七步:對數(shù)據(jù)生成柱形圖并設(shè)置樣式。
7.1 選中數(shù)據(jù)區(qū)域,插入一個簇狀柱形圖
7.2 設(shè)置系列格式,系列重疊為100%,這樣中國有兩跟柱子會重疊成一個紅色的柱子。
7.3設(shè)置坐標軸格式為逆序類別,讓金額大的線上最前面。
7.4 修改圖表標題、刪除橫向坐標、刪除表格網(wǎng)線
7.5 調(diào)整分類間距到50%,讓柱子變大些、設(shè)置圖表區(qū)域為淺灰色。
7.6 給每個柱子填充你喜歡的顏色并添加數(shù)據(jù)標簽。
7.7 插入一個矩形鏈接到單元格=$F$1,用來顯示當前數(shù)據(jù)的年份。
7.8 再插入一個矩形框鏈接到單元格=$I$1,I1單元格通過VLOOKUP公式去我們提前準備的[大事記]里面查找對應(yīng)的事項。
至此我們的動態(tài)圖表終于完成了50%
四、讓柱形圖動起來
如何才能動起來?
只要能讓1969~2018的數(shù)據(jù)一年一年的按順序更新到這里即可。
手動搬動這些數(shù)據(jù)是不可能的,接下來祭出咱們的王炸VBA代碼,讓它來幫我們完成這些數(shù)據(jù)更新。
\’這個是用來延時的,防止圖表刷新過快Private Declare Sub Sleep Lib \”kernel32.dll\” (ByVal dwMilliseconds As Long)Sub DynamicChart() \’總共是50年的數(shù)據(jù),存放在第2列至第51列 For col = 2 To 51 \’取出前四位組合成年份 ThisWorkbook.Sheets(\”demo\”).Range(\”B1\”) = Left(ThisWorkbook.Sheets(\”Data\”).Cells(1, col).Value, 4) & \”年\” \’將數(shù)據(jù)分割成5份,目的是讓數(shù)據(jù)變動的更歡快些、看起來效果更明顯 For i = 1 To 5 \’禁止刷新公式,自動計算 Application.Calculation = xlCalculationManual \’將數(shù)據(jù)填充到輔助表中 For rw = 2 To ThisWorkbook.Sheets(\”demo\”).Range(\”A65536\”).End(xlUp).Row \’因為輔助表中的國家位置是和數(shù)據(jù)源的位置保持一致的,所以只需要將GDP數(shù)據(jù)更新過去,分5次更新過去 ThisWorkbook.Sheets(\”demo\”).Range(\”B\” & rw) = (ThisWorkbook.Sheets(\”Data\”).Cells(rw, col).Value / 5) * i Next \’數(shù)據(jù)填充完成,刷新公式,自動計算 Application.Calculation = xlCalculationAutomatic \’延時100毫秒 Sleep 100 Next NextEnd Sub
五、VBA代碼如何使用?
- 在Excel界面,按快捷鍵ALT F11進入VBE界面。
- 點擊左邊的工程窗口,點擊鼠標右鍵,新建一個模塊。
- 把代碼貼入到模塊中。
- 按Crtl S保存,關(guān)掉當前界面即可回到原來的Excel界面。
六、代碼保存進去了如何使用(觸發(fā))它?
在開發(fā)工具選項卡中插入一個按鈕到Excel表中,會彈出一個關(guān)聯(lián)代碼函數(shù)的彈窗,選中函數(shù)名關(guān)聯(lián)即可。
最終實現(xiàn)效果,點擊按鈕圖表就可以動起來了。
還沒關(guān)注的老鐵,趕緊點擊關(guān)注吧!
回復(fù)\”GDP\”獲取本次案例文件
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。