KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何在 Excel 中自動依數值對欄位進行排序?

作者Kelly修改日期

在 Excel 中處理清單或表格時,通常希望資料始終維持排序狀態,特別是在新增資料時。舉例來說,假設您管理如下圖所示的採購表格,其中商品價格經常更新或新增項目。在此情況下,您可能會發現:當您在輸入新數值後,Excel 並不會自動重新排序價格欄位——資料會保留在原始位置,直到您手動再次排序為止。這很容易造成混淆或錯誤,尤其是在您需要快速分析或呈現始終排序的資訊時。因此,掌握如何在資料變更或新增時立即依數值自動排序欄位,將大幅節省時間並確保工作流程的準確性!

本指南提供實用方法,協助您在更新工作表時自動依數值排序指定欄位。內容涵蓋 VBA 巨集解決方案,以及適用於新版 Excel 的動態陣列公式方案。每種方法均針對特定情境設計,並詳述設定步驟、應用技巧、參數說明與疑難排解,助您順利導入最適合的解決方案。

使用 VBA 自動依數值排序欄位

使用 Excel 公式(動態陣列)自動依數值排序欄位

顯示 Excel 中範例購買表格的螢幕截圖,其中包含要排序的價格欄


使用 VBA 自動依數值排序欄位

此 VBA 巨集能在您於工作表中輸入新數值或修改該欄位現有資料時,自動對指定列的所有資料進行排序。若您使用的是較舊版 Excel,或希望表格資料能持續保持原地排序而不需額外欄位,此方法將是理想之選。

此方法適用的典型情境:

  • 當您希望表格或欄位中的資料在任何變更後都能立即自動更新排序,無需手動重新排序時。
  • 當您在管理多人協作的工作表時,若多位使用者經常更新相同的資料範圍,且畫面需始終維持一致的排序。

開始前須知:
- VBA 解決方案會直接修改您的工作表,建議操作前先儲存檔案。
- 僅在您的 Excel 環境已啟用巨集時,此巨集才能正常運作。
- 巨集會附加至特定工作表,若表格版面有所變動,可能需進行調整。

1. 在工作表標籤列上,以滑鼠右鍵點擊目前的工作表名稱,然後從快捷選單中選擇「檢視程式碼」。
顯示在工作表標籤列中選取「檢視程式碼」選項的右鍵功能表螢幕截圖

2. 在開啟的「Microsoft Visual Basic for Applications」視窗中,請將下列 VBA 巨集程式碼貼到目標工作表的程式碼視窗內。
顯示已貼上自動排序 VBA 程式碼的 Microsoft Visual Basic for Applications 視窗螢幕截圖

VBA:在 Excel 中自動排序欄位

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("B:B")) Is Nothing Then
Range("B1").Sort Key1:=Range("B2"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub

注意事項:
1) 上述 VBA 程式碼中,"B:B"指的是 B 欄,"B1"是 B 欄第一列的儲存格,而“B2"則位於標題列正下方。您可以調整這些參照,以符合您希望自動排序的資料欄位。
2) 第五行中的參數 Header:=xlYes 表示您的資料區域包含標題列,確保排序時標題不會與資料一同移動。若您的資料區域不含標題,請將此參數改為 Header:=xlNo,並同時將 Key1:=Range("B2") 修改為 Key1:=Range("B1")
3) 此巨集會在指定欄位的儲存格數值變更時自動觸發。

3. 返回您的工作表。現在,當您在價格欄位中新增數字或更新現有數值時,該欄位會立即依遞增順序重新排序。
顯示在輸入新值後價格欄自動排序的 Excel 表格螢幕截圖
提示:請務必在欄位最後一個使用過的儲存格緊接下方輸入新數值。若資料中存在空白儲存格,排序將無法如預期運作。


使用 Excel 公式(動態陣列)自動依數值排序欄位

對於使用 Excel 365 或 Excel 2021 及更新版本的使用者,SORTSORTBY 等動態陣列函數提供了一種高效、無需程式碼的方式,能自動產生已排序清單,並在資料變更時即時更新!此解決方案無需 VBA,由新版 Excel 原生支援,特別適合希望保留原始資料不變,同時在不同範圍或工作表中靈活運用已排序資料副本的情境。

何時適合使用此方法?

  • 當您需要在不同位置即時呈現已排序的資料版本(例如用於報表、儀表板或列印),同時保留原始未經處理的資料時。
  • 當您在使用 Excel 365、Excel 2021 或更新版本(支援動態陣列功能)時,
可能的限制:
  • 此方法會在新區域顯示已排序的資料,且不會變動您的原始資料。若您需要直接在原位置重新排序,請考慮上述 VBA 解決方案。
  • Excel 2019 或更早版本不支援動態陣列功能。

1. 決定要顯示已排序清單的位置。例如,若您的原始表格位於 A1:C10(標題列在第 1 列),且希望從 E1 儲存格開始顯示已排序清單,請選取 E1. 1. 決定要顯示已排序清單的位置。例如,若您的原始表格位於 A1:C10(標題列在第 1 列),且希望從 E1 儲存格開始顯示已排序清單,請選取 E1.

2. 在 E1 儲存格中輸入下列公式:2. 在 E1 儲存格中輸入下列公式:

=SORT(A2:C10,2,1)

上述公式說明:

  • A2:C10 為您原始的資料範圍(不含標題列),請依實際資料區域調整此範圍。
  • 2 表示您要依據第二欄排序—例如,若您的價格位於所選區域的第二欄中。
  • 1 指定遞增排序。若您希望遞減排序,請使用 -1.

3. 按下Enter ,公式將立即輸出一份動態且已排序的資料副本。當您在原始範圍中新增、刪除或編輯項目(例如新價格或產品)後,已排序清單會即時自動更新——無需手動介入。

注意事項:

  • 若在原始區域下方輸入更多資料,公式中的參照(例如 )A2:C10)必須隨之擴充。
  • 針對持續變動的區域,建議使用 Excel 表格(插入 > 表格),並在 SORT 公式中引用表格名稱,以自動更新範圍。
  • 若僅使用單一欄位(例如 B2:B10),公式可簡化為 =SORT(B2:B10,1,1)

示範:在 Excel 中使用 VBA 自動依數值排序欄位

 
Kutools for Excel:超過 300 種實用工具隨手可得!盡享 AI 驅動功能,讓工作更聰明、更快速!立即下載!

輕鬆依出現頻率在 Excel 中排序

Kutools for Excel 的「高級排序」功能,讓您輕鬆依多種條件(如文字長度、姓氏、絕對值、出現頻率等)對資料進行排序。

Kutools for Excel「進階排序」功能的螢幕截圖,其中可見排序選項

Kutools for Excel-透過超過 300 項必備工具全面強化 Excel,讓您的工作更快速、更輕鬆,並運用 AI 功能實現更聰明的資料處理與高效生產力!立即取得

最佳 Office 生產力工具

🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 LOOKUP多重條件 VLookup    多重數值 VLookup     跨多個工作表 VLookup      模糊查找……
高級下拉列表快速建立下拉式清單     相依式下拉式清單     多選下拉式清單……
欄位管理員新增指定數量的欄位移動欄位切換隱藏欄位的可見狀態比較範圍與欄位……
精選功能網格聚焦     設計視圖   增強編輯欄    工作簿與工作表管理員     資源庫(自動文字)  日期提取     合併工作表    加密/解密儲存格    依清單傳送電子郵件     超級篩選      特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符,……)   50+ 圖表 類型甘特圖,……)   40+ 實用公式基於生日計算年齡,……)   19 插入工具插入二維碼從路徑插入圖片,……)   12 轉換工具金額轉大寫匯率轉換,……)   7 合併和拆分工具高級合併行分割儲存格,……)……以及更多
在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……


Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!

  • 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
  • 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
  • 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!

所有 Kutools 增益集,一個安裝程式

Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用