2026年10月27日 星期二

Calc 排序、篩選、凍結窗格與資料驗證:5 步驟讓大量資料好找又不容易輸入錯誤

名單只有十幾筆時,用眼睛找還應付得來;一旦報名表變成上百筆,想找出「還沒繳費的人」、「依課程分組」,就只能一列一列慢慢掃。再加上每個人輸入習慣不同,同樣是「已繳費」,有人打「已付」、有人打「OK」,之後統計全部亂掉。

這一篇要學四個整理資料的好幫手:排序、篩選、凍結窗格、資料驗證。本文以 Windows 11 + LibreOffice 26.2 系列(採「年.月」版本編號)示範,會新增一個報名名單檔 signup.ods,並回頭替第 12 篇的 budget.ods 加上品名下拉選單。

文中的圖片為示意圖,不是實際畫面。

小提醒:不同版本或語言設定下,選單與對話框名稱可能略有差異。若找不到文中提到的選項,可以按 Shift+Esc(或「說明」→「搜尋指令」)直接輸入關鍵字尋找。

先搞懂:整理資料前的三個觀念

觀念一:資料要排成「一列一筆、一欄一種」。第一列放欄位名稱(姓名、課程……),下面每一列是一筆資料,中間不要夾空白列、不要合併儲存格。排序與篩選都靠這個整齊的格式才能正確運作。

觀念二:排序會「搬動」資料,篩選只是「藏起來」。排序後資料的位置真的改變了;篩選則只是暫時隱藏不符合條件的列,資料並沒有被刪掉,取消篩選就會回來。

觀念三:資料驗證是「事前防呆」。它不是事後檢查,而是在輸入的當下就限制能填什麼,讓大家只能從清單選,或只能填合理的數字。

功能解決的問題主要位置
排序依某一欄由小到大或由大到小排好資料 → 排序
自動篩選只看符合條件的資料資料 → 自動篩選
凍結窗格往下捲時,標題列仍留在畫面上檢視 → 凍結儲存格
資料驗證限制可輸入的內容,減少打錯資料 → 有效性

步驟一:建立報名名單

新增一個空白試算表,輸入下列資料(共 10 筆),存成 signup.ods。第一列是欄位名稱,A 到 E 欄依序是姓名、課程、報名日期、金額、繳費狀態。

姓名課程報名日期金額繳費狀態
王小明Writer 入門2026/03/02800已繳費
李小華Calc 入門2026/03/05900未繳費
陳小美Writer 入門2026/03/01800已繳費
林大同Impress 入門2026/03/08800已繳費
張惠雯Calc 入門2026/03/03900已繳費
黃志豪Impress 入門2026/03/10800未繳費
吳佳玲Writer 入門2026/03/12800未繳費
周俊傑Calc 入門2026/03/04900已繳費
蔡雅婷Impress 入門2026/03/06800已繳費
許文彬Writer 入門2026/03/09800已繳費

逐項說明:

  1. 日期要被 Calc 認成「日期」:輸入 2026/03/02 後,儲存格內容通常會靠右對齊,表示它被當成日期或數字;若靠左,可能被當成文字,排序時結果會不如預期。
  2. 金額輸入純數字:不要打「800元」,否則無法計算與排序。
  3. 人名只是範例:請換成你自己的資料也可以,筆數多一點更容易看出效果。
小提醒:日期的顯示格式會隨語言與地區設定而不同,若你的畫面顯示的樣子不一樣,不影響後面的操作。

步驟二:排序,讓資料依課程與日期排好

我們想先依「課程」分組,同一課程內再依「報名日期」由早到晚排列。

1. 點選資料表內任一儲存格(例如 A2)
2. 資料 → 排序
3. 「排序鍵 1」選「課程」,順序選「遞增」
4. 「排序鍵 2」選「報名日期」,順序選「遞增」
5. 切到「選項」頁籤,確認勾選「範圍包含欄標籤」
6. 按「確定」

逐項說明:

  1. 點表內任一格,不要選單欄:這樣 Calc 會自動把整張表當成排序範圍,同一列的資料會一起移動,不會錯位。
  2. 排序鍵 1、2:先依第一個鍵排,第一個鍵相同時,再依第二個鍵排。
  3. 範圍包含欄標籤:勾選後,第一列的欄位名稱會被視為標題,不會被排進資料裡。
  4. 結果:課程依英文字母排成 Calc、Impress、Writer;Calc 入門裡,張惠雯(03/03)、周俊傑(03/04)、李小華(03/05)依日期排好。
排序前排序後 姓名 課程 日期 王小明 Writer 03/02 李小華 Calc 03/05 陳小美 Writer 03/01 林大同 Impress 03/08 張惠雯 Calc 03/03 姓名 課程 日期 張惠雯 Calc 03/03 李小華 Calc 03/05 林大同 Impress 03/08 陳小美 Writer 03/01 王小明 Writer 03/02 排序 依「課程」再依「日期」,由小到大排列(取前 5 筆示意)

圖 1 依課程與日期排序前後的對照(示意圖)

小提醒:快速排序也可以:點選某欄的任一格,按工具列的「遞增排序」或「遞減排序」按鈕。排序前若 Calc 詢問是否「擴充選取範圍」,請選擇擴充,讓整列一起動。中文姓名的排序順序,可能受語言與排序選項影響,請以你的畫面為準。

步驟三:自動篩選,只看想看的資料

現在想找出「還沒繳費的人」,不用慢慢掃,交給篩選。

1. 點選資料表內任一儲存格
2. 資料 → 自動篩選(快捷鍵常見為 Ctrl+Shift+L)
3. 每個欄位名稱旁會出現下拉箭頭,點「繳費狀態」的箭頭
4. 只勾選「未繳費」,按「確定」
5. 畫面只剩 3 筆;要還原,再點箭頭選「全選」或「資料 → 重設篩選」

逐項說明:

  1. 列號會變色:篩選後,左邊列號會跳號(例如 1、3、7、8),表示中間的列只是被隱藏,沒有被刪除。
  2. 多欄一起篩:在「課程」再選「Calc 入門」,就能找出「Calc 入門且未繳費」的人,範例資料中只有李小華。
  3. 條件比較:想篩「金額大於等於 900」,可以用「資料 → 更多篩選 → 標準篩選」設定條件。
  4. 只算看得到的資料:在 A13 輸入「可見金額合計」,D13 輸入 =SUBTOTAL(109;D2:D11)。沒篩選時是 8300,篩選「未繳費」後會變成 2500。
篩選「繳費狀態=未繳費」之後 列 姓名 課程 金額 繳費狀態 ▼ 3 李小華 Calc 入門 900 未繳費 7 黃志豪 Impress 入門 800 未繳費 8 吳佳玲 Writer 入門 800 未繳費 列號跳號:2、4~6、9~11 被暫時隱藏(資料並沒有刪除) D13 的 SUBTOTAL 此時只加總看得到的列:900 + 800 + 800 = 2500

圖 2 自動篩選後列號會跳號,其餘列只是被隱藏(示意圖)

小提醒:篩選範圍中間若夾有空白列,Calc 可能只篩到空白列以上的資料;合計請放在資料下方隔一列的位置,避免被當成資料的一部分。SUBTOTAL 的 109 代表「加總且忽略隱藏的列」,細節請發文前以你的版本實測確認。

步驟四:凍結窗格,標題列不跑掉

資料一多,往下捲動時標題列就看不到了,常常忘記某一欄是什麼。「凍結窗格」可以把標題列(或標題欄)固定在畫面上。

【凍結第一列】
1. 點選資料表內任一儲存格
2. 檢視 → 凍結儲存格 → 凍結第一列

【同時凍結第一列與第一欄】
1. 點選 B2 儲存格
2. 檢視 → 凍結儲存格 → 凍結列與欄

【取消】
再選一次同一個功能(會變成取消凍結)

逐項說明:

  1. 凍結的位置:「凍結列與欄」會以你選的儲存格為界,它「上方」的列與「左邊」的欄會被固定。選 B2,就是凍結第 1 列與 A 欄。
  2. 怎麼測試:本篇範例只有 10 筆,不容易看出差別;可以把資料複製貼上多次變成上百筆,或把視窗縮小,再往下捲動試試。
  3. 適用時機:欄位多、資料長的表格,例如名單、帳目、成績。
小提醒:凍結儲存格的子選單名稱可能隨版本略有不同,找不到時請用「搜尋指令」輸入「凍結」。若要讓列印的每一頁都重複標題列,是另外的列印設定,之後做報表時再介紹。

步驟五:資料驗證,從源頭減少輸入錯誤

最後,我們要限制「繳費狀態」只能填「已繳費」或「未繳費」。

【繳費狀態:下拉選單】
1. 選取 E2:E11
2. 資料 → 有效性
3. 「準則」頁籤:「允許」選「清單」,在項目欄每行輸入一個:已繳費、未繳費
4. 勾選「顯示選取清單」
5. 「錯誤警告」頁籤:勾選「顯示錯誤訊息」,動作選「停止」,
   標題輸入「輸入錯誤」,訊息輸入「請從清單選擇」
6. 按「確定」

【金額:只能填 0 以上的整數】
選取 D2:D11 → 資料 → 有效性 → 允許「整數」,資料「大於或等於」,最小值 0

【課程:下拉選單】
選取 B2:B11 → 允許「清單」,項目:Writer 入門、Calc 入門、Impress 入門

逐項說明:

  1. 下拉選單:點選儲存格時會出現小箭頭,只要點選就能填入,不必手打。
  2. 錯誤警告的動作:「停止」會直接擋下不合規定的輸入;其他動作(如「警告」「資訊」)只是提醒,仍可繼續輸入。
  3. 驗證測試:在 E2 試著打「已付」,應該會跳出你設定的錯誤訊息。
下拉選單 未繳費 已繳費 未繳費 輸入不在清單內的內容時 輸入錯誤 請從清單選擇 確定 左:從清單點選就好;右:打錯時直接被擋下

圖 3 資料驗證:下拉選單與錯誤警告(示意圖)

接著履行第 12 篇的預告,回到 budget.ods,替品名加上下拉選單:

1. 在預算表選取 A2:A5
2. 資料 → 有效性
3. 「允許」選「儲存格範圍」,來源輸入:$價目表.$A$2:$A$6
4. 確認勾選「顯示選取清單」,錯誤警告動作選「停止」
5. 按「確定」,點 A2 試試看下拉選單

這樣品名不再手打,一定與價目表一致,第 12 篇的查表公式就不容易出現 #N/A 了。

小提醒:資料驗證只會檢查「之後輸入」的內容,設定前就已經存在的資料不會自動被檢查;從別處複製貼上的內容,也可能繞過驗證。選單名稱「有效性」在不同版本可能顯示為「驗證」等不同字樣,找不到請用搜尋指令。

最後存檔:signup.ods 是本篇新增的報名名單(已含排序、篩選、凍結窗格、驗證設定);budget.ods 的品名欄多了下拉選單。若要交給別人,可另存 signup.xlsx,下拉選單與篩選通常都能保留,建議用 Excel 實際開啟檢查。

常用操作表

操作位置用途
排序資料 → 排序依一到多個欄位排列資料
自動篩選資料 → 自動篩選(Ctrl+Shift+L)在欄位標題加下拉箭頭,只看符合條件的列
標準篩選資料 → 更多篩選 → 標準篩選用比較條件(如 ≥ 900)篩選
重設篩選資料 → 重設篩選取消目前的篩選條件
凍結第一列檢視 → 凍結儲存格 → 凍結第一列固定標題列
凍結列與欄檢視 → 凍結儲存格 → 凍結列與欄固定標題列與標題欄
資料驗證資料 → 有效性限制輸入內容,製作下拉選單
SUBTOTAL函數 =SUBTOTAL(109;範圍)篩選後只加總看得到的列

新手常見問題

Q1:排序後有一欄跟其他欄對不起來,怎麼辦?
多半是只選了單一欄排序。請立刻按 Ctrl+Z 復原,之後只點表內任一格,或在 Calc 詢問時選擇「擴充選取範圍」。

Q2:篩選後有些資料不見了,是被刪掉了嗎?
沒有,只是被隱藏。資料 → 重設篩選,或在下拉箭頭選「全選」就會回來。

Q3:新增的資料沒被篩選到?
可能是中間夾了空白列,或新增的資料在範圍之外。請把資料連續排好,必要時重新套用自動篩選。

Q4:怎麼取消凍結窗格?
再選一次「檢視 → 凍結儲存格」下的同一個功能,它會變成取消凍結。

Q5:設了資料驗證,為什麼還是有人貼上不合規定的內容?
貼上資料可能繞過驗證。建議重要欄位定期檢查,或把「錯誤警告」設為「停止」,並提醒使用者用下拉選單輸入。

小練習

  1. 把 signup.ods 依「金額」遞減排序,金額相同時再依「姓名」排序。
  2. 同時篩選「課程=Calc 入門」與「繳費狀態=未繳費」,確認結果是否只有一人。
  3. 用標準篩選找出「金額大於等於 900」的人,應該有 3 人。
  4. 同時凍結第一列與第一欄,往右、往下捲動,觀察標題是否固定。
  5. 在 budget.ods 的品名欄試著輸入一個不存在的品名,確認會被擋下,再改用下拉選單選回正確品名。

結語

這一篇的重點有三個:資料要整齊排成「一列一筆」、排序是搬動而篩選只是隱藏、資料驗證是事前防呆。把這四個功能組合起來,無論是名單、帳目或成績,都能整理得又快又準。

下一篇(第 14 篇)我們要學「圖表:5 步驟用長條圖與圓餅圖讓數字一眼看懂」,把預算與報名資料變成看得懂的圖。

沒有留言:

張貼留言