SPARKLINE 迷你圖表系列(一):折線圖

閱讀時間約 14 分鐘
儲存格裡面除了數字、文字、函式之外,竟然還可以放圖表?沒錯,可以的!如果你想製作這樣的迷你圖表,我們可以用 SPARKLINE 這個函式達成。
SPARKLINE 函式是可以會按照你指定的資料、在儲存格內繪製圖表的函式。這類迷你圖表可以用在資料分析、專案進度表、甘特圖、資料儀表板上,又或是當因為版面限制、不方便放一般的圖表(或是不想放太複雜的圖表)的時候,迷你圖表也是個不錯的方案。
這函式本身其實不難,但可以設定的屬性很多!我會盡力說明 SPARKLINE 函式怎麼寫、屬性怎麼設定,把這些東西梳理清楚,也會附上練習給大家試看看。
歡迎到這邊參考 SPARKLINE 的各種應用方式:

語法

在製作迷你圖表前,先了解一下 SPARKLINE 的語法吧。
=SPARKLINE(資料範圍, [圖表設定])
  • 資料範圍:想要作圖的數值,可以是單列、單欄、雙列或雙欄。例如:
單列:A2:E2、B3:3、C10:H10
單欄:A2:A10、B2:B10、C30:C
雙列:A2:H3、B5:P6、C10:11
雙欄:A2:B、C2:D、G5:H
在範圍設定成雙列跟雙欄的時候,我們可以在 SPARKLINE 進一步設定橫軸跟縱軸的屬性,等等會進一步說明。
  • 圖表設定:選填。在這邊你可以填入不同的圖表屬性和相對應的參數、改變迷你圖表的外觀。如果什麼都不填,會出現一張素素的折線圖。
圖表設定這段語法會有三個特徵:
  • 首先,要用一對花括號 { } 開頭。
  • 「屬性」跟「參數」會成對出現、並且用逗號 , 分開。
  • 一組屬性跟另一組屬性之間有分號 ; 隔著。
實際寫起來會像這樣:
=SPARKINE(A2:A)
=SPARKINE(A2:A, {"charttype", "column"})
=SPARKINE(A2:A, {"charttype", "column"; "empty", "none"})
=SPARKLINE(A2:A, {"charttype", "winloss"; "axis", false; "lastcolor", "blue"})
如果你的屬性有好幾組,SPARKLINE 函式可能會很長,所以我建議在寫函式的時候適度用 Ctrl/Command + Enter 換行,閱讀和維護會比較方便,像這樣:
=SPARKLINE(A2:B, 
{"charttype", "line"; "linewidth", 3;
 "empty", "ignore"; "ymin", 10; "ymax", 10}
)
接下來一一介紹折線圖可以設定的屬性跟參數。篇幅可能會有點長,你可以利用左手邊的章節目錄,跳到你想了解的屬性唷。
歡迎打開這邊的試算表,複製一份,跟我一起練習看看。

第一步

總之我們先試著用 SPARKLINE 做第一張迷你圖表吧!點選「折線圖練習」工作表,應該會看到我幫你準備的練習題目。我們先看第一個:
我們來用 C7 到 L7 的數值,在 B3 這個儲存格劃出一張迷你折線圖看看。
在 B3 用 SPARKLINE 的語法寫:
=SPARKLINE(C7:L7
然後圖表設定怎麼做?沒關係,總之先什麼都不寫,放上右括號暫時把函式寫完吧:
=SPARKLINE(C7:L7)
看看結果:
出現一張折線圖!
折線圖的確呈現出數值的高低變化,但是橫軸的話 SPARKLINE 又是怎麼樣處理呢?
如果你還記得國中的直角座標的話,你可以想像 SPARKLINE 在指定 x 座標時,把第一個值當成 1、第二個值是 2,以此類推;指定 y 座標的時候,則是依數值的大小而決定,最後再透過 x 跟 y 座標畫圖,像是這樣:
這就是 SPARKLINE 畫橫軸時的邏輯。如果你想用雙列(或雙欄)這種 (x, y) 直角坐標做比較複雜的圖形,不妨用這個邏輯去思考、準備你的資料。
像是你可以用直角坐標的邏輯,畫一個書寫體的 M:

折線圖屬性與參數設定

OK,還可以怎麼改變折線圖的外觀呢?我們有這些屬性可以用:

color(折線圖顏色)

指定折線圖顏色有三個方法:
  • 用英文寫指定的顏色名稱,例如 green、yellow、blue、red 等等。
  • HEX 色碼,例如 #008000、#FFFF00、#0000FF、#FF0000。
=SPARKLINE(C7:L7, {"color", "green"})
=SPARKLINE(C7:L7, {"color", "#008000"})
  • 直接更改儲存格的文字顏色。你可以點選折線圖所在的儲存格,再更改文字顏色:
可是,要打什麼英文詞才可以?HEX 色碼又要怎麼找呢?請打開左邊章節目錄的「圖表顏色彙整」,我把答案都放在那了,去看看吧~
對了,charttype(圖表類型)呢?為什麼不寫?這是因為 SPARKLINE 函式預設產生的圖表就是折線圖,所以我們就不需要再額外指定圖表類型了。當然,如果你想讓你的函式好讀一點,加上去也沒關係,不影響執行結果。語法是 "charttype", "line":
=SPARKLINE(C7:L7, {"color", "green"; "charttype", "line"})
至於屬性要哪個先寫、哪個後寫,都沒關係唷。來看看上面這段語法的執行結果:

linewidth(折線粗細)

我們可以再用 linewidth 屬性、用數字指定折線的粗細。數字越小越細、越大則越粗,預設值是 1。像是下圖就是 3 的粗度,比剛剛的粗了一點。
=SPARKLINE(C7:L7, {"color", "green"; "linewidth", 3})

xmin、xmax、ymin、ymax(橫軸、縱軸的上下限)

接下來看看橫軸跟縱軸的上下限。我們只需要在 xmin、xmax、ymin、ymax 後面寫上下限的數字,就可以輕鬆設定了。上下限越寬,可以容納的值就越多、圖可能會有更多「留白」的感覺。來看看這邊:
如果你需要畫出有 x 跟 y 值的圖表,也可以一次指定雙列(或雙欄)作為資料範圍。在 B11 儲存格寫:
=SPARKLINE(C15:L16)
感覺好像剛上面差不多?但我們可以進一步指定軸的上下限,稍稍改變折線圖的外觀。
假如我們把橫軸上下限設定成 1 到 5,就會像這樣:
=SPARKLINE(C15:L16, {"xmin", 1; "xmax", 5})
只出現前五個資料點,這是因為我們的上限是 5。雖然我們的 x 值在 H15 之後還有數值,但不會被畫進去。另外,橫軸的上下限只能在資料有雙列(或雙欄)的資料下設定。如果在剛剛只指定一列資料範圍的狀況下,設定 xmin 跟 xmax 會沒有效果。
那麼縱軸的上下限呢?我們設定 ymin 是 1、ymax 是 50 看看:
=SPARKLINE(C15:L16, {"ymin", 1; "ymax", 50})
折線好像被壓扁了,這是因為我們現在整個圖表的縱軸上限拉到 50 的關係。

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

再來是如果你的資料範圍內有空白值:
你可以告訴 SPARKLINE 怎麼處理這種狀況,有兩個模式:
  • ignore:把空白值忽略,繼續往下畫。
  • zero:把空白值當成 0。
如果什麼都不指定的話,預設值是 ignore,就像這樣:
=SPARKLINE(C24:L24)
=SPARKLINE(C24:L24, {"empty", "ignore"})
第一個資料點是 10,第二個資料點是空白,第三個資料點是 8。SPARKLINE 直接忽略第二個資料點,所以第一個資料點的 10 就直接連到第二個資料點的 8 了。
如果指定 empty 的屬性是 zero,就會像這樣:
=SPARKLINE(C24:L24, {"empty", "zero"})
第二個資料點就直接變成 0 了。

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

這個跟剛才處理空白很像。你可以用 ignore 和 convert 這兩個模式告訴 SPARKLINE 要怎麼處理這類不是數字的資料。你可以看到這列數值的第二個資料點出現一瓣西瓜 🍉,很明顯不是數字:
預設值也是 ignore,忽略掉非數字的值,直接畫下一個值。
=SPARKLINE(C32:L32)
或是
=SPARKLINE(C32:L32, {"nan", "ignore"})
再來是 convert,可以把非數字的值轉換成 0。

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

rtl 是 right-to-left 的簡寫,代表「由右到左」,可以設定 true 或 false 兩個模式,預設是 false。如果設定成 true,第一個資料點會出現在圖表右邊、最後一個資料點則是在左邊,可以說把折線圖水平翻轉過來了。展示一個由右到左的範例給大家:
=SPARKLINE(C40:L40, {"rtl", true})
這邊的 true 跟 false 是布林值,不必用雙引號括起來唷。

你也當然可以把所有的屬性用上,做成自己喜歡的樣子。我做了一個:
=SPARKLINE(C48:L48, 
{"ymin", -20; "ymax", 20;
 "color", "orange"; "linewidth", 2})
這就是全部的折線圖可以用的屬性了!

應用

你可以用迷你折線圖製作一個簡易的股票趨勢折線圖!請點開「股票趨勢折線圖練習」工作表:
我們可以用之前介紹過的 GOOGLEFINANCE 函式,叫出近三十天台幣兌換日圓的價格。在 B3 寫:
=GOOGLEFINANCE("TWDJPY", "price", today()-30, today(), "DAILY")
  • "TWDJPY":台幣轉日圓。
  • "price":取得價格。
  • today()-30:開始日,從今天往回算 30 天。
  • today():結束日,今天。
  • "DAILY":取得範圍內每日的報價。
Enter 敲下去,就會出現最近 30 天每日的報價:
搞定!那我們再用剛剛的 SPARKLINE 函式,畫出 C4 到 C33 這段值的折線圖。我們就可以在右手邊已經合併好的儲存格,寫下:
=SPARKLINE(C4:C33)
我們當然可以再利用不同屬性調整折線圖,像是:
=SPARKLINE(C4:C33, 
 {"color", IF(C33 > C32, "red", "green"); 
 "ymax", MAX(C4:C33) * 1.05;  "ymin", MIN(C4:C33) / 1.05;
 "linewidth", 2}
)
  • color:如果今天的價格比昨天高,折線圖顏色則顯示紅色,反之則綠色。
  • ymax:為了要讓圖表的線條看起來平緩一點,我用 MAX 函式找到價格裡面最大的值、再乘上 1.05 倍,把它設為縱軸上限。
  • ymin:同上,用 MIN 函式找到價格裡最小的值後除 1.05 倍,設為縱軸下限。
  • linewidth:設定為 2,讓線條粗一點點。
如果想瞭解折線圖的設計方法,可以到之前介紹給大家的「我該用哪個圖表?(一)折線圖」看看唷!

圖表顏色彙整

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

我預計會再寫三篇文,介紹 SPARKLINE 的堆疊長條圖、直條圖和勝負分析走勢圖怎麼使用。歡迎你繼續追蹤!
如果你喜歡這次的文章,歡迎你透過這些方法支持我:
・按下愛心、按下儲存
・留言告訴我你的想法
・加入喜特先生的官方沙龍,即時看到我發布的教學
・付費訂閱喜特先生的官方沙龍,加入每月小額訂閱方案
・追蹤喜特先生的 Facebook
・按這邊小額贊助我的創作!
想要看更多文章,歡迎來到我的 Notion 頁面找找有沒有你需要的資源喔!
我是喜特先生,Mr. Sheet,我們下個教學見!
此篇文章會顯示動態置底廣告
為什麼會看到廣告
10.2K會員
147Content count
簡潔,快速,有效, 讓你的日常生活、工作生產力大提升! ___ 快按「加入」,馬上追蹤所有喜特先生的更新,有 Google 試算表教學、Google Apps Script 的研究、數據分析課程的開箱,還有 Google 試算表疑難雜症的解題分享唷!💪
留言0
查看全部
發表第一個留言支持創作者!
喜特先生官方沙龍 的其他內容
你知道空格有可能會搞壞你的分析嗎?來看看怎麼避免吧!
Google 試算表還有一個花括號 { } 的參照方法,可以參照範圍。學會的話,對處理大量資料有很多好處!我們來看看怎麼用 { } 來處理吃資料吧。
那個 XLOOKUP 終於來了!XLOOKUP 結合 VLOOKUP 跟 HLOOKUP,讓你可以縱橫查表,超彈性,在指定範圍內找符合項目,傳回一筆對應的結果。一起看看怎麼做!
「已命名函式」功能可以讓你設計自己的函式,還可以把它分享給別人使用、更可以把它匯入到其他試算表,化繁為簡,讓你的工作效率大大提升。這是 Google 試算表的一大突破,一起來看看怎麼做吧!
重複的資料好煩啊啊啊啊啊!怎麼把它們清掉呢?三招秀給你看看!傳送門這邊請。
今天來介紹轉置(Transpose),兩招可以讓你輕鬆做好欄列互換 (ノ>ω<)ノ
你知道空格有可能會搞壞你的分析嗎?來看看怎麼避免吧!
Google 試算表還有一個花括號 { } 的參照方法,可以參照範圍。學會的話,對處理大量資料有很多好處!我們來看看怎麼用 { } 來處理吃資料吧。
那個 XLOOKUP 終於來了!XLOOKUP 結合 VLOOKUP 跟 HLOOKUP,讓你可以縱橫查表,超彈性,在指定範圍內找符合項目,傳回一筆對應的結果。一起看看怎麼做!
「已命名函式」功能可以讓你設計自己的函式,還可以把它分享給別人使用、更可以把它匯入到其他試算表,化繁為簡,讓你的工作效率大大提升。這是 Google 試算表的一大突破,一起來看看怎麼做吧!
重複的資料好煩啊啊啊啊啊!怎麼把它們清掉呢?三招秀給你看看!傳送門這邊請。
今天來介紹轉置(Transpose),兩招可以讓你輕鬆做好欄列互換 (ノ>ω<)ノ
你可能也想看
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
在 Google Sheets 中,SPARKLINE 函數提供了一個方便的方法來創建迷你圖表,讓你可以輕鬆地視覺化數據。這些迷你圖表可以是折線圖、柱狀圖或其他類型,並且可以在單個儲存格中顯示。本教學將向你展示如何使用 SPARKLINE 函數來創建迷你圖表,讓你能夠快速而直觀地理解你的數據。
Thumbnail
今天要來分享的是"分項合計明細複合分析圖",夭壽這名字真的是有夠長,有誰可以幫我想看看有沒有比較適合的圖表名稱🤣 這個圖表可以展示與分析兩種數據,分別是分月的資料以及分季的月彙整,要同時以兩種不同的時間維度去分析,或是去視覺化都是不錯的選擇哦。 現在就來看看這個分項合計明細複合分析圖如
Thumbnail
「體驗教育」、「探索教育」的概念很早就已經帶入台灣,而在近年越來越受到家長以及教育單位的關注,除了學校基本教育以及單純授課之外,透過體驗教育的「做中學」方式,讓學生或企業能在戶外活動中累積經驗,搭配專業引導員的帶領,就能將自身體驗經驗轉化為學習,甚至能夠運用到日常生活中,成為能終身受用的體悟。
Thumbnail
不知不覺就已經在泰國生活了一個月了,也逐漸在泰國發現了許多好用的日用品跟小物🤩 今天要跟大家分享的是每天口腔清潔及保養的必需品: SPARKLE 天然喜馬拉雅粉紅鹽牙膏✨ 在台灣時為了省下行李重量所以沒有帶太多個人護理用品,想說畢竟國外也買得到嘛~所以一到當地查了一下資訊就選擇了這一款牙膏,
Thumbnail
可能包含敏感內容
朋友說,只想稍微瞭解香檳、氣泡酒、甜酒,不想看那麼多字!「不想看那麼多字」,是當今所有內容提供者都得面對的受眾心態...
Thumbnail
不能攀岩,但男友買了新玩具,slackline board 走扁帶平衡板,超適合我的弱肉腳練肌肉,腳筋力量與平衡。
Thumbnail
你玩過「走繩」嗎? 起源於美國優勝美地的一種新運動 可以訓練肌群、專注力、平衡、協調 老少咸宜的免插電線上遊戲,來看看怎麼玩吧!
Thumbnail
​ 市面上泡麵有如宇宙中行星何其多,眾多泡麵背後代表的是不同食品大廠生產食品。以並向世界提案「好感生活」概念的無印良品(英文簡稱:MUJI)。近日這四款MUJI即食迷你系列拉麵,顛覆了無印良品以生活賣場營業之企業,也能夠有泡麵品牌,喜愛泡麵之泡麵空趕快來嘗一嘗這四款泡麵喔。 MUJI即食迷你系列拉麵
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
在 Google Sheets 中,SPARKLINE 函數提供了一個方便的方法來創建迷你圖表,讓你可以輕鬆地視覺化數據。這些迷你圖表可以是折線圖、柱狀圖或其他類型,並且可以在單個儲存格中顯示。本教學將向你展示如何使用 SPARKLINE 函數來創建迷你圖表,讓你能夠快速而直觀地理解你的數據。
Thumbnail
今天要來分享的是"分項合計明細複合分析圖",夭壽這名字真的是有夠長,有誰可以幫我想看看有沒有比較適合的圖表名稱🤣 這個圖表可以展示與分析兩種數據,分別是分月的資料以及分季的月彙整,要同時以兩種不同的時間維度去分析,或是去視覺化都是不錯的選擇哦。 現在就來看看這個分項合計明細複合分析圖如
Thumbnail
「體驗教育」、「探索教育」的概念很早就已經帶入台灣,而在近年越來越受到家長以及教育單位的關注,除了學校基本教育以及單純授課之外,透過體驗教育的「做中學」方式,讓學生或企業能在戶外活動中累積經驗,搭配專業引導員的帶領,就能將自身體驗經驗轉化為學習,甚至能夠運用到日常生活中,成為能終身受用的體悟。
Thumbnail
不知不覺就已經在泰國生活了一個月了,也逐漸在泰國發現了許多好用的日用品跟小物🤩 今天要跟大家分享的是每天口腔清潔及保養的必需品: SPARKLE 天然喜馬拉雅粉紅鹽牙膏✨ 在台灣時為了省下行李重量所以沒有帶太多個人護理用品,想說畢竟國外也買得到嘛~所以一到當地查了一下資訊就選擇了這一款牙膏,
Thumbnail
可能包含敏感內容
朋友說,只想稍微瞭解香檳、氣泡酒、甜酒,不想看那麼多字!「不想看那麼多字」,是當今所有內容提供者都得面對的受眾心態...
Thumbnail
不能攀岩,但男友買了新玩具,slackline board 走扁帶平衡板,超適合我的弱肉腳練肌肉,腳筋力量與平衡。
Thumbnail
你玩過「走繩」嗎? 起源於美國優勝美地的一種新運動 可以訓練肌群、專注力、平衡、協調 老少咸宜的免插電線上遊戲,來看看怎麼玩吧!
Thumbnail
​ 市面上泡麵有如宇宙中行星何其多,眾多泡麵背後代表的是不同食品大廠生產食品。以並向世界提案「好感生活」概念的無印良品(英文簡稱:MUJI)。近日這四款MUJI即食迷你系列拉麵,顛覆了無印良品以生活賣場營業之企業,也能夠有泡麵品牌,喜愛泡麵之泡麵空趕快來嘗一嘗這四款泡麵喔。 MUJI即食迷你系列拉麵