如何在 Excel 中依街道名稱或門牌號碼對地址進行排序?
當您在 Excel 中管理地址清單時,通常需要依街道名稱或門牌號碼對資料進行排序,以便有效整理與分析。例如,若要將住在同一條街的客戶歸類在一起,或需依照門牌號碼順序安排配送作業,針對這些元件進行排序就顯得至關重要。然而,由於一般地址格式會將街道名稱與門牌號碼合併在同一儲存格中,直接排序往往無法獲得預期結果。本文將探討在 Excel 中依街道名稱或門牌號碼排序地址的實用方法,分析其優勢與適用情境,並針對不同使用者需求提供疑難排解技巧與替代方案。
使用適用於 Excel 的 Microsoft Power Query 依街道名稱或號碼排序地址(無需輔助欄位)
在 Excel 中使用輔助欄位依街道名稱排序地址
若要在 Excel 中依街道名稱排序地址,您需先將街道名稱提取至輔助欄位。此方法簡單明瞭,適用於地址格式一致的情況(例如「123 Apple St」),非常適合快速專案或簡易的地址清單。
1. 選取緊鄰地址清單的空白欄位,並在輔助欄位的第一個儲存格中輸入下列公式,以擷取街道名稱:
=MID(A1,FIND(" ",A1)+1,255) (此處 A1 指向您的地址資料起始位置——若資料起始位置不同,請自行調整。)
輸入公式後,按下 Enter,再向下拖曳填滿控點,即可將公式套用至整個地址範圍。此公式會自動找出每個地址中的第一個空格,並傳回該空格之後的所有內容(即街道名稱及其後綴)。為確保分割結果準確無誤,請務必確認您的地址格式一致!

2. 框選整個輔助欄位(即包含已擷取街道名稱的欄位),前往資料頁籤,然後按一下升序,即可將街道名稱依遞增(字母)順序排序。

3. 在隨即出現的排序警告對話方塊中,選取擴充選取範圍,確保排序時完整保留所有地址資訊。

4. 按一下排序,您的地址列表就會根據街道名稱重新排序,讓相同街道的項目集中顯示,一目了然!

注意:此方法最適用於標準化地址格式。若您的地址儲存格包含不規則格式,或街道名稱前有多個空格,可能需調整公式。使用後務必抽檢部分結果,以確保準確無誤!
優點:簡單易行,無需額外工具。
缺點:依賴統一的格式;若地址格式多變,則需額外處理。
在 Excel 中使用輔助欄位依門牌號碼排序地址
若您需要依門牌號碼的數字排序地址清單(例如安排配送順序或識別相鄰地址),可輕鬆提取數字並用於排序,即使地址位於不同街道也同樣適用。
1. 在緊鄰地址列表的空白儲存格中,輸入下列公式以擷取門牌號碼:
=VALUE(LEFT(A1,FIND(" ",A1)-1)) (A1 為清單中的第一個地址——請依實際情況調整。)輸入後按下 Enter。此公式會找出第一個空格,傳回其前方的字元,並轉換為數值。若您的地址以數字開頭作為門牌號碼,此公式即可正確運作。接著,向下拖曳填滿控點,將公式套用至清單其餘部分。

2. 選取剛剛建立的輔助欄位,前往資料頁籤,然後按一下升序(或在較新版本的 Excel 中點選)依小到大排序)。

3. 在排序警告對話方塊中,選擇擴充選取範圍,即可排序完整列。

4. 按一下排序以套用設定。您的地址現已依照擷取的門牌號碼排序完成。

提示:若您希望將門牌號碼保留為文字,或無需進行數值排序,也可使用下列公式:
=LEFT(A1,FIND(" ",A1)-1) 此版本會將提取的數字視為文字字串處理。
注意事項:若地址以文字開頭(例如「Main Street 5」),而非數字,這些公式將無法如預期運作。使用前,請務必仔細檢查您的地址資料!
優點:若地址格式簡單,操作快速且使用者友善。
缺點:無法處理門牌號碼前帶文字或後綴,以及包含多個數字的地址。
VBA 程式碼-透過巨集自動擷取街道名稱/號碼並排序地址清單
對於需要處理大型且結構複雜的地址列表,或資料中包含多變地址格式的使用者來說,運用 VBA 自動化排序流程極具成效。VBA 能協助您快速擷取街道名稱或門牌號碼,自動完成地址列表排序,並大幅減少手動操作步驟。當您需定期執行排序作業,或希望將排序功能無縫整合至現有工作流程時,此解決方案尤其適用。
注意:此 VBA 巨集會從 A 欄的每個地址中擷取街道名稱(即第一個空格之後的部分),並依據這些名稱對整個清單進行排序。只需稍作調整,即可用來擷取並依門牌號碼排序。
1. 按一下開發人員頁籤 > Visual Basic。在出現的視窗中,按一下插入 > 模組,並將下列 VBA 程式碼貼到模組視窗中:
Sub SortAddressesByStreetName()
Dim ws As Worksheet
Dim lastRow As Long
Dim tempCol As Long
Dim i As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set ws = ActiveSheet
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
tempCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column + 1
' Create helper column with street names
For i = 1 To lastRow
ws.Cells(i, tempCol).Value = Trim(Mid(ws.Cells(i, 1).Value, InStr(ws.Cells(i, 1).Value, " ") + 1))
Next i
' Sort the whole data range by the helper column
ws.Sort.SortFields.Clear
ws.Sort.SortFields.Add Key:=ws.Range(ws.Cells(1, tempCol), ws.Cells(lastRow, tempCol)), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ws.Sort
.SetRange ws.Range(ws.Cells(1, 1), ws.Cells(lastRow, tempCol))
.Header = xlNo
.Apply
End With
' Delete helper column
ws.Columns(tempCol).Delete
End Sub 2. 若要執行程式碼,請先確保地址列表為作用中狀態,再按一下
按鈕或按下 F5 鍵。完成後,A 欄中的地址列表將依街道名稱按字母順序排列。
此版本僅擷取第一個空格前的數字,並依數值大小排序。
疑難排解:
-請確認地址位於 A 欄,或根據您的資料位置更新程式碼。
-若資料包含標題列,可將 Header = xlYes 調整為適當設定,以避免標題列被排序。
-執行大量 VBA 程式碼前,務必先備份資料!
優點:無需輔助欄位,輕鬆應對大型資料集或重複性排序作業!
缺點:初次設定需啟用巨集權限,並具備基本 VBA 知識。
其他內建 Excel 方法-使用適用於 Excel 的 Microsoft Power Query 拆分地址欄位,並直接在適用於 Excel 的 Microsoft Power Query 中排序(無需輔助欄位)
適用於 Excel 的 Microsoft Power Query 適用於現代 Excel 版本(Excel 2016 及更新版本,以及 Microsoft 365),提供靈活且無需公式的地址拆分功能,輕鬆將地址解析為門牌號碼、街道名稱等元件。若您希望避免使用公式與輔助欄位,或您的地址格式多變、難以透過基礎公式有效處理,這項解決方案將是您的理想選擇。此外,Microsoft Power Query for Excel 還能儲存您的操作步驟,日後資料擴充時即可自動同步更新。
1. 選取您的地址資料,前往資料索引標籤,再選擇從表格/範圍(若系統提示,請先建立表格)。
2. 在適用於 Excel 的 Microsoft Power Query 視窗中,選取您的地址欄位,按一下分割欄位> 依分隔符號,並選擇空格作為分隔符號,將分割位置類型設為最左側的第一個分隔符號。
3. 如此即可將地址分割為兩欄:街道號碼與剩餘的街道名稱/地址,請視需要重新命名新欄位。
4. 若要排序,請按一下街道名稱或街道號碼欄位標題中的箭頭,選擇遞增排序或遞減排序。
5. 按一下關閉並載入,即可將排序後的結果插入回您的工作表中。
額外提示:
- 如果您的地址格式不一致,您可以進一步在適用於 Excel 的 Microsoft Power Query 中透過自訂拆分或轉換來調整欄位。
- 適用於 Excel 的 Microsoft Power Query 會自動記錄所有操作步驟,當來源資料更新時,您即可輕鬆一鍵重新整理資料。
- 此方法不會變更您的原始資料,有效保障原始記錄的安全性。
優點:不會永久變更您的工作表;能穩健處理複雜的地址格式;無需手動管理公式。
缺點:需搭配 Excel 2016 或更新版本;介面對新手使用者可能稍顯陌生。
摘要與疑難排解建議:
-套用公式或 VBA 前,請務必確認地址格式的一致性。
-使用輔助欄位或程式碼後,務必預覽排序結果以確認正確無誤。
-若資料結構異常(例如缺少門牌號碼,或街道名稱位於結尾),請調整公式,或考慮使用適用於 Excel 的 Microsoft Power Query 進行更穩健的分割。
-使用 VBA 或進階資料工具前,請務必定期備份,避免資料意外遺失。
-請根據您的資料量、Excel 版本及對工具的熟悉程度,選擇最適合的解決方案(公式、VBA、適用於 Excel 的 Microsoft Power Query)。
-若您不確定哪種方法最適合,適用於 Excel 的 Microsoft Power Query 通常提供最大的彈性,且最適合非破壞性編輯。
相關文章:
最佳 Office 生產力工具
| 🤖 | KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 高級 LOOKUP:多重條件 VLookup | 多重數值 VLookup | 跨多個工作表 VLookup | 模糊查找…… | |
| 高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位|移動欄位|切換隱藏欄位的可見狀態|比較範圍與欄位…… | |
| 精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)|……以及更多 |
運用 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 應用程式協作的團隊使用!
- 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
- 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
- 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
- 30 天完整功能試用— 無需註冊,無需信用卡
- 超值之選— 比單獨購買各增益集更省費用