若要在 Word 中以比內建「排序」對話框更高的精細度來排序文字,可將最多 50,000 行貼到瀏覽器型排序工具、設定大小寫敏感度與自然數字順序,再把排序後的結果複製回文件。Word 的「排序」對話框能處理所選清單的簡單 A 到 Z 字母排序,但它有明確已知的限制:沒有內建去重功能、排序前不會修剪空白、沒有明確的自然數字排序,而且排序過程可能會打亂套用於原始行的段落樣式或清單編號。對於從 Word 文件中擷取出來的清單 —— 例如檔名清單、引文清單、字詞清單、標集合或聯絡人資料 —— 這些不足的控制項就很重要。一個專注的瀏覽器工具可以在本機排序最多 50,000 行,使用穩定的英文定序、可選的自然數字順序、修剪、移除空行,以及精確移除重複項目,然後產生一個乾淨的 TXT 檔讓你直接貼回 Word。所有動作都在你的瀏覽器內進行,因此不會上傳任何資料,原始的 Word 文件也會保持你離開時的原樣。

Word 的「排序」對話框何時力有未逮
Microsoft Word 的「排序」對話框對於存放在單一文件中的單一清單相當實用。但當你想把從 Word 複製出來的文字拿去其他地方重用而需要排序時,這個對話框就會從解決方案變成阻力點。
三個反覆出現的限制,會促使讀者轉向瀏覽器型的替代方案。第一,Word 是就地排序,這代表帶有樣式的段落或編號清單在順序變更時可能會套用到非預期的格式變更。第二,Word 依地區設定而定的排序,在英文定序下可能會產生與你預期不同的結果,特別是出現重音符號或大小寫混用的字詞時。第三,Word 並不會在排序過程中同時進行去重、修剪空白或套用自然數字順序 —— 這些處理必須分開進行,或者根本無法執行。
這些都不是放棄 Word 處理日常編輯工作的理由。它們是讓你把需要排序的行先抽取出來、透過專為此任務打造的工具處理,再把清理並排序好的結果貼回原位的理由。
排序時可套用的清理控制項
Text Sorter 提供四個獨立控制項,每個控制項分別解決前述其中一項缺口。下表顯示它們的執行順序,以及每個項目對留存行所產生的效果。
| 控制項 | 執行於……之後 | 對留存行的效果 |
|---|---|---|
| 修剪每一行 | (第一個) | 移除開頭與結尾的 Unicode 空白字元。內部空格不會被合併。 |
| 移除空行 | 修剪 | 移除修剪後為空的行。只有在同時啟用修剪與移除空行時,僅含空白的行才會被移除。 |
| 移除完全重複項目 | 上述兩者 | 保留第一次出現的項目,移除後續以完整字串相等性相符的複本。「Apple」與「apple」會被視為不同項目而保留。 |
| 排序 | 所有清理步驟 | 使用穩定的英文定序套用遞增或遞減順序。 |
你可以啟用其中的任意子集合。關閉全部三個清理控制項,就會得到一個純粹的排序,任何行的字元都不會被改變。同時啟用全部三個,則可在單一流程中產出完整清理、去重並排序好的清單。
去重規則刻意採嚴格定義。移除完全重複項目代表採用 JavaScript 的字串相等性,因此即便在不區分大小寫的比較下會被視為等價,「Apple」與「apple」仍會分別保留。沒有模糊比對,也沒有 Unicode 正規化,這代表你原始的大小寫形式以及任何未正規化的形式都會原封不動地保留。這在輸出結果會被貼回 Word,並作為姓名、產品或識別代碼的清單使用時相當重要,因為大小寫承載著意義。
檔名與編號清單的自然數字順序
字典式排序會產生熟悉的 file10 排在 file2 之前的陷阱,因為在文字層級上,字元「1」的排序優先於字元「2」。自然數字順序可修正這個問題:數字序列會以數值進行比較,因此 file2 會排在 file10 之前,在同一個英文定序器下 report_v3 也會排在 report_v20 之前。
這是工具中一項有明確說明且可控制的選項。開啟自然數字順序時,僅含數字的序列會以其數值進行比較。關閉時,同樣的數字序列會以一般文字進行比較,這會讓「10」排在「2」之前,因為第一個字元「1」排序優先於第一個字元「2」。對於混合短編號與長編號標籤的任何清單,兩種輸出可能會有相當大的差異,而這個差異正是 Word 內建排序在跨版本與跨地區設定時未必能穩定提供的。
數值比較並不會嘗試解析更複雜的結構。像「3.14」這種小數、ISO 日期、像「1.10.0」這種語意化版本、像「5kg」這種帶單位,以及帶正負號的數學運算式,在同一個定序器下仍會以純文字方式進行比較。對大多數檔名與標籤的使用情境而言,這個區別並不重要;但在任何需要結構化解讀的情境下,你需要的是解析器,而不是排序器。
如何使用 Text Sorter 在 Word 中排序文字
以下是端到端的工作流程。執行一次之後,後續任何清單的步驟都相同。
- 在 Word 中,選取要排序的清單並複製。如果清單就是短文件的整個內容,請使用 Ctrl+A 全選後複製。如果清單是表格中的單一欄,請只選取該欄,以避免影響標題列或其他欄。
- 在瀏覽器中開啟 Text Sorter。將複製的行貼到輸入欄位中。
- 選擇排序方向(增或遞減)、決定比較是否區分大小寫,並決定是否套用自然數字順序。
- 僅啟用你想要的清理控制項:修剪每一行、移除空行、移除完全重複項目。如果你不想套用某項行為,就將其關閉。
- 執行排序。工具會同時顯示原始邏輯行數與最終行數,讓你立即看出清理步驟移除了多少行。
- 檢查精確的預覽面板,然後複製排序後的行,或將其下載為 UTF-8 TXT 檔。下載的檔案無論輸入使用何種換行格式,都會使用 LF 換行,這就是為什麼混合的輸入換行會在結果中變得一致。
- 回到 Word,選取原始清單,然後將排序後的結果就地貼回。原始文件在你貼上之前不會被更動。
工具會在排序前拒絕超過 1,000,000 個 UTF-16 字碼單位或超過 50,000 行的輸入,且不會回傳部分結果。對於落在這些限制內的輸入,整個結果會在預覽中呈現,讓你在下載前能進行驗證。預中的視覺換行不會產生額外的邏輯行,這代表你在預覽中看到的內容,與下載檔案中包含的內容完全一致。
穩定排序、大小寫敏感度與相等項目
此排序使用瀏器的英文 Intl.Collator,依你選擇的大小寫敏感度與數字選項,套用於經過修飾的陣列,使等價的項目保留原本的相對順序。無論是遞增或遞減方向,都會維持穩定性。
這個穩定性規則有一個微妙的後果。減順序會反轉比較結果,但並非單純反轉最終陣列 —— 那樣做也會反轉等價項目,破壞穩定性保證。因此,在遞減順序中比較為相等的兩行,會以它們在輸入中相同的相對順序出現,而不是以相反的順序出現。
大小寫敏感度是第二個決策點。關閉大小寫敏感度時,僅大小寫不同的字母會比較為等價,因此「Apple」與「apple」會排序到相同位置,並由原本的相對順序決定哪一個排在前。開啟大小寫敏感度時,大小寫會參與比較,因此在英文定序規則下「apple」會排在「Apple」之前。MDN 上的 Intl.Collator 參考文件說明了瀏覽器如何實作此比較。
穩定性與大小寫敏感度對可重現的輸出都很重要。同樣的輸入文字、同樣的瀏覽器定序實作,以及同樣的選項,每次都會產生相同的行序列,這讓結果具有可稽核性。更動任何輸入或選項會立即清除先前的輸出,因此先前的行數不會與新設定混淆。
何時應留在 Word 內處理
對於少數特定工作,覽器方式是錯誤的工具,這些工作由 Word 的「排序」對話框處理會更合適,或需要使用完全不同的工具。
含有帶引號換行的 CSV 資料就是其中之一。CSV 資料列可以在帶引號的字串內包含真正的換行字元,對個別實體行進行排序會破壞該筆紀錄的結構。對 CSV 而言,請使用能理解引號、標題與多欄位的具備格式感知的表格工具。
帶有標題的多欄表格是另一個例子。獨立排序其中一欄會失去各欄之間的對應關係。在 Word 內部,尊重標題與欄位對應關係的表格排序才是正確做法;同樣的注意事項也適用於你複製單一欄出去、排序後再貼回,卻未重新對齊其他欄位的狀況。
瀏覽器的英文定序與你資料庫的 ORDER BY 行為、作業系統的檔名順序,或試算表的地區設定並不相同。如果排序後的輸出會成為合約性質或可重現的機器產出物 —— 例如 CSV 資料饋送、資料庫匯入、版本控制的設定檔 —— 請先確認英文瀏覽器定序以及你選擇的數字與大小寫選項與目的端系統一致,再依賴該結果。對於一次性的 Word 文件,這種一致性通常並不重要。
對於將從 Word 抽取的清單進行字母排序的日常情況 —— 特別是同時需要自然順序、修剪與去重的編號檔名、標籤集合與字詞清單 —— 上述 Text Sorter 工作流程是最直接的路徑。另一個瀏覽器工作流程涵蓋試算表文字,請參閱 在 Excel 中排序文字:本機瀏覽器工作流程。
如需更深入的瞭解,請參 如何在 Microsoft Word 中產生上下顛倒的文字。