在動態圖表第一部中,我使用了中介表格實現動態資料繪製成圖表:【Excel】動態圖表(一):中介表格,有興趣的人可以看看喔。
這一篇的動態圖表,不會使用中介表格,而是以名稱管理員來實現動態資料。
備註:本篇與上一篇使用相同的資料(104~110年度,各縣市人口變化),也讓大家比較容易比較。
Excel 範例檔案下載:Excel-dynamic-chart-name-manager.xlsx
流程邏輯
建立一個引用函數的名稱,接著於圖表中引用該名稱所帶入的函數來顯示資料。
這裡的函數會使用 OFFSET 作為範例。當然也有許多做法,因應不同的資料來源、呈現方式來改變。
OFFSET
=OFFSET(回傳基準,MATCH(條件1&條件2,範圍1&範圍2,0),,,回傳寬度)
=OFFSET(raw!$C$1,MATCH(chart!$B$3&chart!$C$3,raw!$A$2:$A$70&raw!$B$2:$B$70,0),,,7)
如果還不知道怎麼用 OFFSET,來看看這篇文章 👇 👇 👇
【Excel Function】維度轉換:OFFSET位移、ROW/ROWS行列、COLUMN/COLUMNS欄
同時這裡有用到雙條件判斷,文章在這 👇 👇 👇
【Excel】雙條件、多條件查詢(Multiple Conditions)
=OFFSET(回傳基準,MATCH(條件1&條件2,範圍1&範圍2,0),,,回傳寬度)
=OFFSET(raw!$C$1,MATCH(chart!$B$3&chart!$C$3,raw!$A$2:$A$70&raw!$B$2:$B$70,0),,,7)
先來看 MATCH 的部分,第一個參數為要找尋找的字串,這裡使用「&」符號作為字串連接:「臺北市」&「全」會變成「臺北市全」。因此公式寫成「chart!$B$3&chart!$C$3」,接著會以這個為判斷依據。
第二個參數為尋找的範圍,這裡同樣使用「&」符號作為字串連接兩組範圍。
- 地區:「raw!$A$2:$A$70」
- 性別:「raw!$B$2:$B$70」
最後 MATCH 第三個參數直接填入 0 即可。
這樣 MATCH 就會回傳索引值(index),接著將回傳值放入 OFFSET 的第二個參數,把索引值當作位移量,取得對應的字串(臺北市全)。
=OFFSET(回傳基準,MATCH(條件1&條件2,範圍1&範圍2,0),,,回傳寬度)
=OFFSET(raw!$C$1,MATCH(chart!$B$3&chart!$C$3,raw!$A$2:$A$70&raw!$B$2:$B$70,0),,,7)
接著進入 OFFSET 的部分,這裡使用一張圖來表示參數:
第一個參數為回傳基準,為綠色框框[C1],記得使用 F4 把它給鎖住「raw!$C$1」。
前面的 MATCH 查找的「臺北市全」會回傳 7,而這個 7 放入OFFSET 的第二個參數則會變成位移量。接著在回傳寬度參數的地方填入「7」,這樣 OFFSET 就會回傳寬度為 7 的列陣。
人口成長率(PGR)的部分,再用相同的方式來完成:
=OFFSET(PGR!$C$1,MATCH(chart!$B$3&chart!$C$3,PGR!$A$2:$A$70&PGR!$B$2:$B$70,0),,,7)
名稱管理員
這邊主要教大家如何手動增加名稱,再透過建立圖表的方式,將資料來源指向對應名稱。
「工具列 > 公式 > 以定義之名稱 > 名稱管理員」
點擊新增
接著開始設計名稱:
- 名稱:使用簡單好理解的名稱即可,這裡使用「POP」來代表人口數(population)
- 參照到:將上面尋找對應條件人口數的 OFFSET 公式填入
人口成長率(PGR)的部分也一併處理好,這裡會事先將可能用到的資料一起進行處理:
- 圖表標題(動態),參照值「=chart!$B$3&” – “&chart!$C$3」
- 年份(非動態),參照值「={“104″,”105″,”106″,”107″,”108″,”109″,”110”}」
進行到這裡,基本上事前準備就完成了!接著要開始製作圖表囉
👇 👇 👇 休息一下,進廣告 。讓我們來看看 Google 的廣告投放精不精準 👇 👇 👇
👆 👆 👆 如果喜歡的話可以點進去看看 👆 👆 👆
動態圖表
這裡從 0 開始設計圖表。如果大家怕麻煩,也可以簡單建立圖表後,再進去更改圖表參照的資料:「右鍵 > 選取資料 」
新增圖表
首先插入全新的長條圖。
設計圖表資料
選擇空白長條圖,點擊滑鼠右鍵,選擇「選取資料 > 新增」。
新增第一組資料(人口),名稱可以直接輸入圖例要顯示的文字「population」,數列值則使用剛剛建立的名稱,並記得以參數的方式呈現,前方加上等號「=chart!POP」,按下確定。
相同的第二組資料(人口成長率)也要設定,「population growth rate」,「=chart!PGR」。
接下來設定水平座標軸的資料(年份),點選右方的編輯。
完成後,將會得到下方這張圖表。
若仔細看 104 的上方,是否發現藍色長條圖偏左呢?其實他並非偏左,而是由於右邊有另一組數據,也就是人口成長率的數據。
由於兩組資料級距差異懸殊,所以這邊將成長率移至副座標,並使用折線圖呈現。至於為何使用折線圖則是:成長率變化有每年連續的意涵,適合以折線圖方式呈現。
圖表轉換
「選取圖表 > 插入 > 其他直條圖 > 組合圖 > 設定附座標軸」
新增圖表項目(圖表標題、圖例)
「圖表設計 > 新增圖表項目 > 圖表標題;圖例」
動態標題
「滑鼠點擊標題 > 點擊公式區 > 鍵盤打剛剛設定的標題名稱『=chart!TITLE』 > 鍵盤按 Enter」
這樣就完成動態圖表了,不用經過中介表格的動態圖表
Excel 範例檔案下載:Excel-dynamic-chart-name-manager.xlsx
更多 Excel 文章請至 文章導覽 尋找,也可利用上方「搜尋(Search...)」功能
有任何莫非工具的問題,歡迎至「表單」提問
Excel 是不是很容易
和墨菲一起用 Excel 把工作變簡單
Pingback: 莫非工具 | 文章導覽 - 墨菲莫非