用Excel制作的動态圖表,當選擇不同的類别時,數據源就動态的變化起來,則對應的圖表也會跟随變動。在此基礎上,如果實現了對類别的自動選擇,則可以循環、滾動顯示圖表,這就是Excel版的可視化報表。
一、數據源
數據源格式如下圖,每一行為各地的GDP及三産業數據,A列作為輔助區域(由C列和B列合并而成)。
二、制作選擇器
以地區作為篩選字段。
1、插入數據透視表
選擇數據源A:G列,插入數據透視表到新工作表的P1單元格。将[地區]字段拖拽到[行區域]。再隐藏數據透視表的字段标題、禁用行和列的總計。
2、設置選擇器
在菜單欄[開發工具]的[插入]命令中選擇[列表框]控件,在單元格L8畫出一個列表框。
用鼠标右鍵單擊列表框,在彈出的快捷菜單單擊[設置控件格式(F)],進入[設置對象格式]對話框,将[數據源區域]設置為數據透視表所在的區域P1:P32,将[單元格鍊接]設置為存放選擇結果的單元格N2,單擊[确定]按鈕。
三、數據輔助區域
1、年份
第一行為年份,在K1單元格輸入最近的年份後,其他左側單元格自動依次遞減。
在J1單元格輸入公式:=K1-1。并将公式複制到B1:I1區域。
在B3單元格輸入公式:=B1&"年 各産業占比"。作為圓環圖的标題。
在K3單元格輸入公式:=K1&"年 各産業占比"。作為圓環圖的标題。
2、地區(省份)
根據選擇結果(N2單元格),将地區引用到A2單元格。
則在A2單元格輸入公式:=INDEX(P1:P32,N2)。
在A3單元格輸入公式:=A2&" GDP趨勢"。作為折線圖的标題。
3、按條件提取數據
在B2單元格輸入公式:=VLOOKUP(B$1&$A2,各省GDP!$A:$D,4,0),并将公式複制到C2:K2數據區域。将選定區域對應年份的數據提取到輔助區域。
在A4/A5/A6單元格分别輸入細分類别。在其右側單元格輸入公式。
在B4單元格輸入公式:=VLOOKUP(B$1&$A$2,各省GDP!$A:$G,5,0)
在B5單元格輸入公式:=VLOOKUP(B$1&$A$2,各省GDP!$A:$G,6,0)
在B6單元格輸入公式:=VLOOKUP(B$1&$A$2,各省GDP!$A:$G,7,0)
再将B4:B6數據區域的公式複制到C4:K6,将選定區域對應年份細分類别的數據提取到輔助區域。
四、制作圖表
1、插入折線圖(按年趨勢圖)
選中B2:K2數據區域,插入[帶數據标記的折線圖],[水平(分類)軸标簽]選擇B1:K1數據區域,[系列名稱]選擇A2單元格。
再删除[垂直(值)軸],[網格線]設置為無線條,添加[數據标簽]并設置為靠上顯示。
選中圖表标題,輸入公式:=動态圖表5!$A$3。即将A3單元格内容作為圖表标題。
2、插入圓環圖(各産業占比)
選中B4:B6數據區域,插入[圓環圖],[水平(分類)軸标簽]選擇A4:A6數據區域。
再删除[圖例],添加[數據标簽]并勾選類别名稱和百分比,将圓環大小設置為50%,選中圖表标題,輸入公式:=動态圖表5!$B$3。即将B3單元格内容作為圖表标題。
再将K4:K6數據區域也插入圓環圖,并設置圖表标題。
3、圖表排版
将三個圖表拖拽到一起、調整大小,并進行适當排版。
小技巧:在拖拽或拉動圖表時,按住ALT鍵,圖表可自動錨定到Excel單元格,這樣排版看起來很整齊。
五、控制程序(VBA)
通過VBA編寫代碼循環改變區域,實現對數據的動态引用。
1、參數區域
N5:N7作為參數區域,通過更改參數,可以設置區域之間的切換時間、循環顯示的次數。
2、VBA代碼
新建kanban模塊,鍵入以下代碼。
3、制作按鈕
在菜單欄[開發工具]的[插入]命令中選擇[按鈕]控件,在N8單元格插入一個按鈕,命名為[滾動顯示],并指定宏為kanban。
4、最終效果
六、說明
動态圖表的核心就是數據源一定要動态變化起來,不管是在工作表中變化,還是通過VBA給圖表的數據源賦值,總之一定要變化起來。
在做的過程中,通過控件、函數讓數據源動起來後,圖表會跟着動态變化。可是通過VBA讓數據源變動起來後,圖表并沒有及時變化。通過網上搜資料,發現有一種方法可以解決,就是在VBA代碼中加入DoEvents,再激活圖表,如此交替,圖表就動起來了,實時變化了。
不足之處:還缺一個暫停暫停,以便于在運行過程中随時暫停查看圖表。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!