【Excel】動態圖表(二):名稱管理員

  • Post author:
Home » 莫非工具 » Excel » 【Excel】動態圖表(二):名稱管理員

在動態圖表第一部中,我使用了中介表格實現動態資料繪製成圖表:【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

如果還不知道怎麼用 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 把工作變簡單

This Post Has One Comment

歡迎留言,與我們分享你的看法!