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

如何在 Excel 中依街道名稱或門牌號碼對地址進行排序?

作者修改日期

當您在 Excel 中管理地址清單時,通常需要依街道名稱或門牌號碼對資料進行排序,以便有效整理與分析。例如,若要將住在同一條街的客戶歸類在一起,或需依照門牌號碼順序安排配送作業,針對這些元件進行排序就顯得至關重要。然而,由於一般地址格式會將街道名稱與門牌號碼合併在同一儲存格中,直接排序往往無法獲得預期結果。本文將探討在 Excel 中依街道名稱或門牌號碼排序地址的實用方法,分析其優勢與適用情境,並針對不同使用者需求提供疑難排解技巧與替代方案。

在 Excel 中使用輔助欄位依街道名稱排序地址

在 Excel 中使用輔助欄位依門牌號碼排序地址

使用 VBA 自動擷取並依街道名稱或號碼排序地址

使用適用於 Excel 的 Microsoft Power Query 依街道名稱或號碼排序地址(無需輔助欄位)


在 Excel 中使用輔助欄位依街道名稱排序地址

若要在 Excel 中依街道名稱排序地址,您需先將街道名稱提取至輔助欄位。此方法簡單明瞭,適用於地址格式一致的情況(例如「123 Apple St」),非常適合快速專案或簡易的地址清單。

1. 選取緊鄰地址清單的空白欄位,並在輔助欄位的第一個儲存格中輸入下列公式,以擷取街道名稱:

=MID(A1,FIND(" ",A1)+1,255)

(此處 A1 指向您的地址資料起始位置——若資料起始位置不同,請自行調整。)
輸入公式後,按下 Enter,再向下拖曳填滿控點,即可將公式套用至整個地址範圍。此公式會自動找出每個地址中的第一個空格,並傳回該空格之後的所有內容(即街道名稱及其後綴)。為確保分割結果準確無誤,請務必確認您的地址格式一致!

使用公式依街道名稱排序地址的截圖

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

使用公式依街道名稱排序地址的截圖:步驟 2 排序

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

使用公式依街道名稱排序地址的截圖:步驟 3 擴充選取範圍

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

使用公式依街道名稱排序地址的結果截圖

注意:此方法最適用於標準化地址格式。若您的地址儲存格包含不規則格式,或街道名稱前有多個空格,可能需調整公式。使用後務必抽檢部分結果,以確保準確無誤!

優點:簡單易行,無需額外工具。
缺點:依賴統一的格式;若地址格式多變,則需額外處理。


在 Excel 中使用輔助欄位依門牌號碼排序地址

若您需要依門牌號碼的數字排序地址清單(例如安排配送順序或識別相鄰地址),可輕鬆提取數字並用於排序,即使地址位於不同街道也同樣適用。

1. 在緊鄰地址列表的空白儲存格中,輸入下列公式以擷取門牌號碼:

=VALUE(LEFT(A1,FIND(" ",A1)-1))

(A1 為清單中的第一個地址——請依實際情況調整。)輸入後按下 Enter。此公式會找出第一個空格,傳回其前方的字元,並轉換為數值。若您的地址以數字開頭作為門牌號碼,此公式即可正確運作。接著,向下拖曳填滿控點,將公式套用至清單其餘部分。

使用另一公式依街道名稱排序地址的截圖

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

使用另一公式依街道名稱排序地址的截圖:步驟 2 排序

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

使用另一公式依街道名稱排序地址的截圖:步驟 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—支援英文、西班牙文、德文、法文、中文及另外 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 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用