SPARKLINE 迷你圖表系列(二):堆疊長條圖

更新於 發佈於 閱讀時間約 10 分鐘

在上週我們介紹了怎麼用 SPARKLINE 函式製作折線圖,大家用得還習慣嗎?今天會繼續接著介紹怎麼用 SPARKLINE 函式製作「堆疊長條圖」:

raw-image

就是右手邊這個橘色「進度條」的部分啦~

如果你在手機上看到這篇文章,覺得有興趣,我推薦你用方格子的收藏功能、先把它存起來,再到電腦上面打開來看看!另外,因為這次會用到上週介紹的 SPARKLINE 函式,建議你先讀過上次的內容再過來看看,會比較有概念喔。

歡迎到這邊參考 SPARKLINE 的各種應用方式:

歡迎你打開這邊的試算表,複製一份,一起跟著做吧!


堆疊長條圖屬性與參數設定

先名詞定義一下下,雖然這個迷你圖表的官方名稱叫「堆疊長條圖」,我們也當然可以用 SPARKLINE 函式做出單一長條圖喔。

這邊是堆疊長條圖可以用的屬性:

raw-image

要注意的是,如果要用 SPARKLINE 函式製作堆疊長條圖,就不能像之前的折線圖可以省略 charttype,必須用 charrtype 屬性指定 "bar" 這個參數:

... {"charttype", "bar"}


好!我們打開「堆疊長條圖練習」的工作表,看看第一個練習:

raw-image

在儲存格 D3 輸入下面的語法,召喚出我們的長條圖看看吧:

=SPARKLINE(B3, {"charttype", "bar"})

讚!出現了:

raw-image

預設顏色是橘色(orange)、長條圖填滿了整個儲存格。

嗯,畫是畫出來了,可是上面這張圖沒什麼意義,對吧?我們想表達 10% (十分之一)的概念,但是這張長條圖沒辦法傳達這個資訊。

我們馬上來看看怎麼設定堆疊長條圖的屬性、調整成合理的樣子吧!


max:長條圖的上限

下面這張圖是不是看起來合理多了?

raw-image

我這邊做的事情是,告訴 SPARKLINE 這張圖表的最大值是 100%,這麼一來值就可以正常顯示 10% 了:

raw-image

那麼,你就可以用 max 這個屬性,填入數字來指定圖表的最大值。例如,上圖的 SPARKLINE 寫法是:

=SPARKLINE(B3, {"charttype", "bar"; "max", 100%})
或是
=SPARKLINE(B3, {"charttype", "bar"; "max", 1})

這邊的 max 後面要填入的是數字,不是文字,所以不必寫雙引號。當你有百分比、比例的資料,max 這個屬性我想是必須要指定的。


color1、color2:指定第一條長條和第二條長條的顏色

我們還可以進一步用 color1 跟 color2 這兩種屬性,指定長條圖的顏色。

color1 這個屬性可以設定第一條長條的顏色。想要指定顏色的話,你可以輸入英文的顏色名稱、也可以用 HEX 色碼,但這邊不能像是折線圖一樣,直接用文字顏色上色。你可以到左手邊的章節目錄,點選「圖表顏色彙整」,了解怎麼用指定的文字或 HEX 色碼幫你配色喔!

我們來用 color1 打個比方,配個藍色給長條圖:

=SPARKLINE(B9, {"charttype", "bar"; "max", 100%;
"color1", "blue"})
raw-image

這樣就可以用 blue 這個參數來指定第一條長條。當然,你也可以換別的顏色,用剛剛提到的英文顏色名稱、或是 HEX 色碼也 OK。

如果你想做堆疊長條圖,你可以把資料範圍放大一點,指定多個值。例如,我想要做個進度條,表示某個任務已完成 10%:

raw-image

資料範圍就可以選 B12 到 C12 這兩個值,並且設定最大值(max)是 C12 的 100%:

=SPARKLINE(B12:C12, {"charttype", "bar"; "max", C12})
raw-image

如果要指定第二條長條的顏色,我們可以再用 color2 這個屬性,像是這樣:

=SPARKLINE(B12:C12, {"charttype", "bar"; "max", C12;
"color1", "orange"; "color2", "wheat"})
raw-image


另外,如果你的值超過兩個,color1 跟 color2 會交錯出現:

=SPARKLINE(B17:B22, {"charttype", "bar"; "max", 200})
raw-image

跟上週提到的迷你折線圖屬性一樣,我們也有 empty、nan、rtl 這三個屬性可以利用。先簡要說明一下 empty


empty:資料若有空白值的處理方式

如果你的資料範圍內有空白值,你可以用 ignore 和 zero 這兩個參數告訴 SPARKLINE 函式怎麼處理這種狀況:

  • ignore:把空白值忽略,繼續往下畫,這是預設值。
  • zero:把空白值當成 0。

這邊做了一個比較,給你參考看看:

raw-image

我用下面的範圍(10、20、30、40、""、60)畫了兩張迷你堆疊長條圖,上面的模式是 ignore、下面的模式是 zero。

ignore 模式略過了 40 跟 60 中間的空格,只畫了一藍、一橘,一共兩條長條;而 zero 則是把空值轉換成 0,以 40、0、60 的這個順序畫圖,畫了一藍、一橘、一藍,一共三條長條,只是橘色細到幾乎看不見。


nan:資料若有非數字的處理方式

剛剛的 empty 很像,你可以用 ignore 和 convert 這兩個模式告訴 SPARKLINE 要怎麼處理這類不是數字的資料。

  • ignore:把非數字的值忽略,繼續往下畫,這是預設值。
  • convert:把非數字的值當成 0。

打個比方,我一樣用一組數值、做了兩張迷你堆疊長條圖,給你參考:

raw-image

那顆橘子很明顯不是個數字。這跟剛剛處理空白的資料的模式類似,ignore 略過橘子繼續畫下去、而 convert 則是把橘子當成 0、畫了一張很細很細的長條。


rtl:是否由右到左的方向呈現

rtl 是 right-to-left 的簡寫,代表「由右到左」,可以設定 true 或 false 兩個模式,預設是 false。如果設定成 true,第一個資料點會出現在圖表右邊、最後一個資料點則是在左邊,可以說把長條圖水平翻轉過來了。

示範一個 rtl 設定為 false 跟 true 的比對圖給大家看看:

raw-image

上面的圖是 false,就是預設「由左到右」的模式,所以你會看到第一條長條(10%)在左邊、第二條長條(90%)在右邊;而下圖是 true 模式,也就是「由右至左」,所以我說的「水平翻轉」的意思了。


應用

我想堆疊長條圖很適合用在專案報告、或是甘特圖的進度條圖案,你可以設計這種簡單的資料給 SPARKLINE 繪製長條圖:

  • 已完成的任務數
  • 需完成的任務數

像是這樣:

raw-image

我利用「已完成的任務數」跟「需完成的任務數」做了右手邊的進度條,並且讓它會依主任務狀態的變化,改變顏色。語法也很單純,只是 SPARKLINE 搭配 IFS 使用:

=IFS(
D4 = "已完成", SPARKLINE(E4:F4, {"charttype", "bar"; "max", F4; "color1", "green"; "color2", "green"}),
D4 = "進行中", SPARKLINE(E4:F4, {"charttype", "bar"; "max", F4; "color1", "orange"; "color2", "wheat"}),
D4 = "未完成", SPARKLINE(E4:F4, {"charttype", "bar"; "max", F4; "color1", "gray"; "color2", "gray"})
)
  • 當 D4 儲存格為「已完成」,進度條顯示綠色。
  • 當 D4 儲存格為「進行中」,進度條顯示橘色和小麥色。
  • 當 D4 儲存格為「未完成」,進度條顯示灰色。



圖表顏色彙整

  • 如果你想用英文指定顏色:請到這篇維基百科的文章,複製「實名」欄位裡的英文名稱、在你的 color 屬性後貼上就可以囉!
raw-image
  • 如果你想用 HEX 色碼指定顏色:我也幫你準備好了!請你點開這個連結
raw-image

選到喜歡的顏色後,就可以到 HEX 那個欄位複製色碼了。


下篇會再介紹 SPARKLINE 的直條圖給大家,敬請期待!

如果你喜歡這次的文章,歡迎你透過這些方法支持我:
・按下愛心、按下儲存
・留言告訴我你的想法
・加入喜特先生的官方沙龍,即時看到我發布的教學
・付費訂閱喜特先生的官方沙龍,加入每月小額訂閱方案
・追蹤喜特先生的 Facebook
・按這邊小額贊助我的創作!

想要看更多文章,歡迎來到我的 Notion 頁面找找有沒有你需要的資源喔!

我是喜特先生,Mr. Sheet,我們下個教學見!



留言
avatar-img
留言分享你的想法!
avatar-img
喜特先生官方沙龍
21.2K會員
153內容數
簡潔,快速,有效, 讓你的日常生活、工作生產力大提升! ___ 快按「加入」,馬上追蹤所有喜特先生的更新,有 Google 試算表教學、Google Apps Script 的研究、數據分析課程的開箱,還有 Google 試算表疑難雜症的解題分享唷!💪
2025/04/20
請你試著在 Google 試算表的儲存格上打這個,按下 Enter: =WHATTHEFOXSAY() 會有神奇的事情發生喔 ✨
Thumbnail
2025/04/20
請你試著在 Google 試算表的儲存格上打這個,按下 Enter: =WHATTHEFOXSAY() 會有神奇的事情發生喔 ✨
Thumbnail
2024/06/02
上次介紹了 REPLACE 函式,可以用來取代儲存格內的特定文字。其實我們還有一個相似的函式叫 SUBSTITUTE,也有取代的功能,不過當然有一點不一樣的地方!今天會分享語法的範例,還有跟 REPLACE 的差異在哪。一起來看看!
Thumbnail
2024/06/02
上次介紹了 REPLACE 函式,可以用來取代儲存格內的特定文字。其實我們還有一個相似的函式叫 SUBSTITUTE,也有取代的功能,不過當然有一點不一樣的地方!今天會分享語法的範例,還有跟 REPLACE 的差異在哪。一起來看看!
Thumbnail
2024/05/25
這是文字處理基礎函式的第四篇文章,今天要來介紹 REPLACE 函式! REPLACE 可以取代掉儲存格內的文字,今天會分享一下它語法怎麼寫、也有兩個實際應用的案例。一起來看看! REPLACE 語法 REPLACE 的語法長了一點點,有四個參數要設定: =REPLACE(要取代
Thumbnail
2024/05/25
這是文字處理基礎函式的第四篇文章,今天要來介紹 REPLACE 函式! REPLACE 可以取代掉儲存格內的文字,今天會分享一下它語法怎麼寫、也有兩個實際應用的案例。一起來看看! REPLACE 語法 REPLACE 的語法長了一點點,有四個參數要設定: =REPLACE(要取代
Thumbnail
看更多
你可能也想看
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
直接用例子舉例,下圖的數據用眼睛看很難看出相關比較與趨勢,但是如果畫成圖表呢?密密麻麻好幾條線,要看出趨勢對於眼睛來說是個很大的考驗,那麼改怎麼做才能將這樣的數據可視化呢? 今天將會提供三種方法 可以先下載檔案一邊看教學一邊練習,這樣才不會忘記唷 檔案下載 第一種:設定格式化條件 設定格式化條件裡面
Thumbnail
直接用例子舉例,下圖的數據用眼睛看很難看出相關比較與趨勢,但是如果畫成圖表呢?密密麻麻好幾條線,要看出趨勢對於眼睛來說是個很大的考驗,那麼改怎麼做才能將這樣的數據可視化呢? 今天將會提供三種方法 可以先下載檔案一邊看教學一邊練習,這樣才不會忘記唷 檔案下載 第一種:設定格式化條件 設定格式化條件裡面
Thumbnail
大家好!今天要跟大家分享 SPARKLINE 的最後一種圖表,勝負分析走勢圖。到這邊 SPARKLINE 系列就連載完畢囉,謝謝支持!
Thumbnail
大家好!今天要跟大家分享 SPARKLINE 的最後一種圖表,勝負分析走勢圖。到這邊 SPARKLINE 系列就連載完畢囉,謝謝支持!
Thumbnail
這是 SPARKLINE 迷你圖表系列的第三篇文章!今天要介紹怎麼用 SPARKLINE 繪製迷你直條圖。
Thumbnail
這是 SPARKLINE 迷你圖表系列的第三篇文章!今天要介紹怎麼用 SPARKLINE 繪製迷你直條圖。
Thumbnail
在上週我們介紹了怎麼用 SPARKLINE 函式製作折線圖。今天要繼續介紹怎麼用 SPARKLINE 函式製作「堆疊長條圖」!
Thumbnail
在上週我們介紹了怎麼用 SPARKLINE 函式製作折線圖。今天要繼續介紹怎麼用 SPARKLINE 函式製作「堆疊長條圖」!
Thumbnail
先了解如何選擇正確的圖表類別 讓我們舉個例子來說明吧!!
Thumbnail
先了解如何選擇正確的圖表類別 讓我們舉個例子來說明吧!!
Thumbnail
上一篇我們聊到了折線圖(還沒看過的話,歡迎點連結),有稍稍提到了一點關於「柱狀圖」和「長條圖」的觀念。或許你小學就看過了這兩種圖,但你還記得要怎麼用這兩種圖嗎 ᕕ ( ᐛ ) ᕗ? 為了別讓數學老師哭出來,今天來把它們說清楚!
Thumbnail
上一篇我們聊到了折線圖(還沒看過的話,歡迎點連結),有稍稍提到了一點關於「柱狀圖」和「長條圖」的觀念。或許你小學就看過了這兩種圖,但你還記得要怎麼用這兩種圖嗎 ᕕ ( ᐛ ) ᕗ? 為了別讓數學老師哭出來,今天來把它們說清楚!
Thumbnail
最近和一位剛出社會的新鮮人學弟吃飯,聽他講了一個他做的報告慘遭主管嫌棄的小故事。發生什麼事呢?今天要來聊聊折線圖,我們來瞧瞧!
Thumbnail
最近和一位剛出社會的新鮮人學弟吃飯,聽他講了一個他做的報告慘遭主管嫌棄的小故事。發生什麼事呢?今天要來聊聊折線圖,我們來瞧瞧!
Thumbnail
你覺得自己懂得如何使用視覺化圖表嗎?資料隨手可得、工具使用方便,人人都可以做出一張圖表,但沒有讓溝通變得更輕鬆,反而產生了更多問題;手邊的資料愈多,卻愈難去蕪存菁、展現出關鍵的訊息。在這篇文章中,我將和你分享圖表選擇與使用的聰明對策!
Thumbnail
你覺得自己懂得如何使用視覺化圖表嗎?資料隨手可得、工具使用方便,人人都可以做出一張圖表,但沒有讓溝通變得更輕鬆,反而產生了更多問題;手邊的資料愈多,卻愈難去蕪存菁、展現出關鍵的訊息。在這篇文章中,我將和你分享圖表選擇與使用的聰明對策!
Thumbnail
今天將進入Matplotlib的最終教學,今天就來介紹除了我們常見的折線圖、圓餅圖、長條圖外,我們也相當常用在金融數據分析上的圖形,也就是「散點圖」,以及再教如何畫出子圖表,這些圖表能讓你報告起來不只更加專業,也讓閱覽者可以更加的了解你的研究內容唷!!
Thumbnail
今天將進入Matplotlib的最終教學,今天就來介紹除了我們常見的折線圖、圓餅圖、長條圖外,我們也相當常用在金融數據分析上的圖形,也就是「散點圖」,以及再教如何畫出子圖表,這些圖表能讓你報告起來不只更加專業,也讓閱覽者可以更加的了解你的研究內容唷!!
Thumbnail
今天進入了我們30天衝刺班的一半了,也就是第15天的部分,我們今天要進入視覺化,也就是畫圖的領域了,在先前Day7時我們有聊到,在金融數據分領域上,常用的畫圖模組有兩個,分別是「Matplotlib」以及另一個是「Seaborn」,今天我們就先以「Matplotlib」為主來進行教學吧!!
Thumbnail
今天進入了我們30天衝刺班的一半了,也就是第15天的部分,我們今天要進入視覺化,也就是畫圖的領域了,在先前Day7時我們有聊到,在金融數據分領域上,常用的畫圖模組有兩個,分別是「Matplotlib」以及另一個是「Seaborn」,今天我們就先以「Matplotlib」為主來進行教學吧!!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News