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

如何在 Excel 字串中找出第 n 個空格的位置?

作者Sun修改日期

在 Excel 中處理文字資料時,經常會遇到包含多個以空格分隔單字的儲存格。例如,您可能需要找出每個儲存格中第一個或第 n 個空格的位置,以便進一步處理或擷取字串中的關鍵資訊。精準定位特定空格字元的位置,有助於輕鬆拆分姓名、解析代碼或整理雜亂資料。本指南將介紹實用技巧,協助您快速找出儲存格內容中第一個、第二個,甚至任意第 n 個空格的位置(如下方截圖所示)。此外,您還將學會如何清除多餘空格,並探索適用於彈性及進階空格定位需求的替代解決方案。

使用公式找出第 n 個空格的位置

使用更具彈性的 Excel 公式定位第 n 個空格

使用 VBA 巨集找出第 n 個空格的位置

從字串中移除開頭/結尾/多餘/所有空格好點子3


使用公式找出第 n 個空格的位置

若要精準找出文字字串中特定空格的位置,可善用 Excel 內建函數。以下每種方法皆透過巢狀 FIND 函數,協助您快速定位第 1、2、3 或第 4 個空格,特別適用於空格數量有限且事先已知的場景。

找出第一個空格的位置=FIND(" ",A1)
找出第二個空格的位置=FIND(" ",A1,FIND(" ",A1)+1)
找出第三個空格的位置=FIND(" ",A1,FIND(" ",A1,FIND(" ",A1)+1)+1)
找出第四個空格的位置=FIND(" ",A1,FIND(" ",A1,FIND(" ",A1, FIND(" ",A1)+1)+1)+1)

例如,若您想找出清單中每個儲存格的第二個空格位置,操作方式如下:

選取一個空白儲存格(例如 C2),並輸入下列公式:

=FIND(" ",A2,FIND(" ",A2)+1)

輸入公式後,按下 Enter 鍵。若要將此公式套用至其他儲存格,請向下拖曳填滿控點,系統會自動為每個字串計算位置。詳情請參閱截圖:
輸入公式以取得第 n 個空格的位置

注意:若儲存格中的空格數量少於指定值,公式將傳回 #VALUE! 錯誤。建議先檢查資料,或搭配 IFERROR 等錯誤處理函數,以提升公式的穩健性!

此方法清晰又快速,適用於處理少量且空格數固定的狀況。若需定位字串中更高序位的空格,或處理動態的 n 值,請試用下方更具彈性的公式解決方案。


使用更具彈性的 Excel 公式定位第 n 個空格

若您想找出文字字串中第 n 個空格的位置,卻不想手動巢狀多層 FIND 函數,可結合 SUBSTITUTE 與 FIND 函數輕鬆達成。此方法讓您只需調整單一儲存格引用或變數,即可動態切換目標空格位置,非常適合處理長字串或模組化的 Excel 工作流程。

例如,假設完整文字位於 A2 儲存格,而您想找出的空格位置(例如第 3 個空格)位於 B2 儲存格(請在 B2 中輸入所需的 n 值,例如 3):

=FIND("#",SUBSTITUTE(A2," ","#",B2))

在 C2 儲存格中輸入此公式,然後向下複製以分析資料集中的其他列。該公式會將第 n 個空格替換為「#」字元,再透過 FIND 函數找出其位置;當目標空格的位置因列而異,或需處理較複雜的文字字串時,此方法尤其高效。

提示:

  • 此公式支援動態 n 值,讓您能針對每一列參照不同的 n(B2)。
  • 若 B2 中的數值超過字串中的空格數量,結果將顯示 #VALUE!。您可以使用 IFERROR 函數包裹公式,獲得更友善的顯示效果,例如:=IFERROR(FIND("#",SUBSTITUTE(A2," ","#",B2)),"Not Found")
  • 如果您的實際資料中包含「#」字元,請嘗試將公式中的「#」替換為其他符號。

處理變動資料或較大的 n 值時,建議採用此技巧,可顯著提升複雜資料結構的處理效率。


使用 VBA 巨集找出第 n 個空格的位置

當您追求極致彈性,或需要針對大型資料集實現自動化處理時,VBA 巨集無疑是絕佳選擇。透過 VBA 解決方案,您能逐一檢查字串中的每個字元、精確計算空格數量,並即時回報其出現位置。即使面對多變的文字結構、冗長句子,或動態調整的 n 值需求,此方法依然穩定可靠、運作流暢。

1. 按一下開發人員工具Visual Basic。在 Microsoft Visual Basic for Applications 視窗開啟後,按一下插入 模組,並將下列程式碼貼到模組中:

Sub PositionOfNthSpace()
    Dim txt As String
    Dim spaceNum As Integer
    Dim i As Integer
    Dim cnt As Integer
    Dim pos As Integer
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    txt = Application.InputBox("Enter text to search:", xTitleId, "", Type:=2)
    spaceNum = Application.InputBox("Find which space position (n):", xTitleId, 1, Type:=1)
    
    pos = 0
    cnt = 0
    
    For i = 1 To Len(txt)
        If Mid(txt, i, 1) = " " Then
            cnt = cnt + 1
            If cnt = spaceNum Then
                pos = i
                Exit For
            End If
        End If
    Next i
    
    If pos = 0 Then
        MsgBox "The string does not contain " & spaceNum & " spaces.", vbExclamation, xTitleId
    Else
        MsgBox "The position of the " & spaceNum & "th space is: " & pos, vbInformation, xTitleId
    End If
End Sub

2. 按一下執行按鈕執行按鈕以執行巨集。系統將依序顯示兩個對話方塊:首先輸入文字字串,接著指定要尋找的空格位置(例如輸入「3」以尋找第 3 個空格)。若找到該位置,巨集將顯示字元位置;否則會彈出通知訊息。

當標準公式無法滿足需求,或需要批次處理多樣化字串資料中的空格位置時,此 VBA 方法展現強大效能。


從字串中移除開頭/結尾/多餘/所有空格

通常,您可能需要清理文字資料中不必要的空格,例如開頭、結尾、多餘或全部空格。Excel 並未提供可直接大量移除空格的內建函數,但透過功能強大的增益集 Kutools for Excel,即可快速又精準地簡化此流程!在依據空格位置分析或拆分文字前,「刪除空格」工具特別適合用來整理匯入資料或格式不良的資料集,讓您輕鬆掌握乾淨整齊的文字內容。

Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

免費安裝 Kutools for Excel 後,請依照下列步驟操作:

1. 選取您要刪除空格的字串,然後點擊 Kutools 文字 刪除空格。操作畫面請參閱下方截圖:
點擊 Kutools 的「移除空格」功能

2. 在刪除空格對話方塊中,勾選空格類型下方的所需選項,例如「移除前面的空格」、「移除後面的空格」、「移除多餘空格」或「移除所有空格」。確認前,您可先於預覽區段即時檢視處理結果。請參閱截圖:
根據需要勾選「空格類型」區段中的選項

3. 按一下確定套用,選取字串中多餘的空格將立即被移除。
所選字串中的空格已移除

總結來說,無論是處理小型清單或大型資料集,您都能依需求靈活選用多種解決方案——內建公式、彈性公式組合、VBA 巨集,或是增益集工具。當空格數量已知且有限時,巢狀 FIND 函數表現出色;若 n 值較大或具變動性,則可考慮結合 SUBSTITUTE 與 FIND 函數,或透過 VBA 實現客製化自動化。為確保結果最可靠,務必事先清除字串中多餘的空格。


最佳 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 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用