參照的藝術:$ 符號的真正意義
理解相對參照、絕對參照、混合參照的差異,掌握命名範圍的優勢,讓公式在複製時不會跑掉。
文章目錄
想像你是一個老師,正在製作全班 30 位學生的成績單。
每位學生的總成績算法都一樣:平時成績乘以 40%,加上期末考乘以 60%。你在第一位學生那裡寫好了計算方式,然後想把它複製到其他 29 位學生的列。
這裡出現了一個關鍵問題:有些東西複製後應該跟著變,有些不該。
- 每個學生的平時成績和期末成績 → 應該變(每一列不同)
- 40% 和 60% 這個加權比例 → 不該變(全班共用)
如果你沒有明確告訴試算表「哪些該變,哪些不該」,複製下去就會出錯。
這就是「參照」的核心問題。而 $ 符號,就是你回答這個問題的工具。
三種參照方式
相對參照(會跟著移動)
最常見的情況。當你把一個計算方式從第 2 列複製到第 3 列時,試算表會聰明地把「讀取第 2 列的資料」自動變成「讀取第 3 列的資料」。
就像你跟助理說:「每一列都去讀『同一列的 A 欄』」——它會自動理解每一列要讀不同的地方。
這在大多數情況下正好是你要的行為。
絕對參照(釘住不動)
加上 $ 符號後,不管怎麼複製,它永遠指向同一個地方,不會移動。
什麼時候需要?當你的公式參照一個固定的參數——像稅率、匯率、折扣率這種「全表只有一個值」的東西。
回到成績單的例子:40% 和 60% 這個加權比例是固定的,不管複製到哪一位學生,都應該讀取同一個位置。這就需要「釘住」它。
混合參照(只釘住一個方向)
有時候你只需要固定欄(左右不動)或只固定列(上下不動),另一個方向照常移動。
想像一個九九乘法表:橫軸是 1-9,縱軸也是 1-9,每一格是交叉相乘的結果。這時候你需要「看橫軸時只看自己那一列、看縱軸時只看自己那一欄」——一個方向固定,另一個方向移動。
不要背符號,要問問題
$ 符號的用法,很多人靠死記。但其實它只在回答一個很直覺的問題:
「這個東西被複製後,應該跟著變,還是不該變?」
一旦你從這個角度思考,$ 就不再是符號記憶,而是設計決策。
用折扣計算表來理解
假設你有一份產品清單,某個固定位置放著統一折扣率(例如 85 折),A 欄是每個產品的原價。你想算出每個產品的折後價。
| A(原價) | B(折後價) | |
|---|---|---|
| 1 | 原價 | 折扣率:0.85 |
| 2 | 1000 | 原價 × 折扣率 |
| 3 | 2000 | 原價 × 折扣率 |
| 4 | 3000 | 原價 × 折扣率 |
- 「原價」要跟著移動:每一列讀取不同的原價 → 相對參照
- 「折扣率」要釘住不動:不管拖到哪一列都要讀同一格 → 絕對參照
如果你忘了釘住折扣率,拖到第三列時,它會去讀一個根本不是折扣率的位置——結果就錯了。
命名範圍:讓公式說人話
除了用 $ 釘住位置,試算表還有一個更優雅的做法——命名範圍。
你可以給任何儲存格或範圍取一個名字。例如,把放折扣率的那一格命名為「折扣率」,然後你的計算就變成:
原價 × 折扣率
比起「原價 × 某個被釘住的位置」,哪個更容易理解?
命名範圍的三大優勢
1. 可讀性
想像你三個月後回來看自己的試算表。你看到一個計算是「加總銷售額」,一看就懂。但如果看到的是「加總從 B2 到 B100 的值」,你還得先搞清楚 B 欄到底是什麼。
2. 可維護性
如果銷售資料從 100 筆變成 200 筆,你只要修改「銷售額」這個名稱對應的範圍定義,所有用到這個名稱的地方都自動更新。不用一個一個去找、一個一個改。
就像手機通訊錄——朋友換了電話,你只要改通訊錄裡的一筆記錄,所有對話都會自動對應到新號碼。
3. 避免錯誤
命名範圍不會因為插入或刪除列、欄而跑掉。它比用 $ 釘住位置更穩定。
命名範圍的具體建立方式,我們會在後面的操作篇學到。現在只要記住這個概念:與其記住資料放在哪個位置,不如給它一個有意義的名字。
跨工作表參照
當你的試算表有多個工作表時,計算也可以讀取其他工作表裡的資料。
這個概念很直覺:就像你在不同的資料夾之間查找文件一樣。你需要告訴試算表「去哪個工作表、找哪個位置」。
在這種情況下,命名範圍更顯優勢——你可以把任何工作表的資料命名,這樣不管在哪裡使用,用名稱就好,不用記住資料在哪個工作表的哪個位置。
重點整理
$不是要背的符號,而是設計決策:問自己「複製後,這個東西該變還是不該變」。- 相對參照(會移動):每一列讀取不同的資料,適合逐列計算。
- 絕對參照(釘住不動):永遠讀取同一個位置,適合固定參數。
- 混合參照(只釘一個方向):適合交叉表和矩陣計算。
- 命名範圍是更優雅的做法:可讀、可維護、更穩定。
相關文章
查看所有文章留言討論
共 0 則留言