02.27 辦公小技巧:製作隨單元格選定而動的動態圖表

我們以前見到的動態圖表,都是利用控件或者數據有效性,實現選擇不同的項目類別。其實,動態圖表還可以隨著單元格的選定而動態變化,我們只需要利用CELL、INDIRECT、ADDRESS、MATCH、OFFSET等簡單的函數,就能實現動態顯示(圖1)。

辦公小技巧:製作隨單元格選定而動的動態圖表

以製作業務員銷售業績動態表為例。

首先,需要構造圖表的數據源。在工作表的原數據基礎上,在合適位置利用函數構造圖表所需要的數據源。如在B12單元格中輸入“=INDIRECT(ADDRESS(CELL("row"),1))”,用來獲取當前單元格的值;在C12單元格中輸入“=INDIRECT(ADDRESS(3,CELL("col")))”,用來獲取當前單元格所在的項目類型;在D12單元格中輸入“=MATCH($B$12,$A$4:$A$10,0)”,用來獲取當前單元格在姓名數據中所處的索引值;在E12單元格中輸入“=MATCH($C$12,$B$3:$C$3,0)”,用來獲取當前單元格在項目類型中所處的索引值;在B13單元格中輸入“=OFFSET($A$2,0,COLUMN(A1)*2-1,1,1)”,向右填充到M13,用來獲取圖表的X分類軸數據,即月份;在B14單元格中輸入“=OFFSET($A$3,$D$12,$E$12+COLUMN(A1)*2-2,1,1)”,向右填充到M14,根據D12、E12的索引值獲取具體的圖表數據源。

添加圖表。選取B13:M14單元格,插入一簇狀柱形圖。這樣,所需要的圖表就基本創建完成了(圖2)。

辦公小技巧:製作隨單元格選定而動的動態圖表

為了讓單擊單元格時圖表動態變化更順暢,需要添加幾句簡單VBA代碼。選擇“開發工具”選項卡,點擊“Visual Basic”,在出現的VBA代碼編輯窗口中,雙擊Sheet1,在右側編輯窗口輸入如圖所示3行代碼(圖3)。

辦公小技巧:製作隨單元格選定而動的動態圖表

小提示:如果窗口中沒有“開發工具”選項卡,可以點擊“文件→選項”,在彈出窗口中勾選“開發工具”就可以了。

接下來,根據需要設置好圖表樣式,添加圖表標籤等。選中F12單元格,輸入“=CONCATENATE(B12,C12,"全年統計")”,選中圖標標題,在公式編輯欄中輸入“=F12”,這樣圖標標題就會跟隨單元格的變化而變化。最後,點擊“文件→另存為”,在彈出窗口的文件類型處選擇“Excel 啟用宏的工作簿(*.xlsm)”,進行保存就可以了。


分享到:


相關文章: