Skip to main content

Kutools for Office — 一套工具,五種功能。完成更多工作。

如何從儲存格中的文字字串移除第一個/最後一個單詞?

Author Xiaoyang Last modified

在日常的 Excel 工作中,管理需要清理文字資料的清單或句子是很常見的。其中一項常見任務是從儲存格內的文字字串中移除第一個或最後一個單詞。例如,您可能有一列完整的姓名或詳細描述,但為了分析,您只想保留除了開頭或結尾的單詞以外的所有內容。如下方截圖所示,Excel 本身並未提供內建的直接功能來執行此操作。然而,您可以使用幾種實用的方法來有效地完成這項工作,包括公式、Excel 功能和 VBA 程式碼。本指南介紹了多種解決此問題的方法,並幫助您選擇最適合不同場景的方案。

a screenshot showing the original text string and the result text string with the first or last word removed

目錄


使用公式移除文字字串的第一個或最後一個單詞

使用 Excel 公式提供了一種簡單且無需程式碼的方式來移除儲存格中的第一個或最後一個單詞。當您需要一種動態方法時,該方法很合適,如果原始文字更改,它會自動更新。但是,請注意,這些公式假設單詞之間由單個空格分隔,並且文字中沒有前導、尾隨或多個連續的空格。在應用這些解決方案之前,請確認您的資料間距。

從文字字串中移除第一個單詞:

1. 請將此公式輸入到您要放置結果的空白儲存格中(例如,B2 儲存格):

=RIGHT(A2,LEN(A2)-FIND(" ",A2))

這裡 A2 是包含您原始文字字串的儲存格。此公式定位第一個空格,並移除第一個單詞以及空格,只返回剩餘的文字。

a screenshot showing how to use formula to remove the first word from a text string

2. 確認公式後,向下拖動填充柄以根據需要應用到該欄中的其他儲存格。您會注意到每個文字字串的第一個單詞都已移除,如下所示:

a screenshot showing all text strings with the first word removed

提示:如果您的文字開頭可能有多餘的空格(前導空格),建議在應用上述公式之前使用 TRIM 函數清理資料,例如:

=RIGHT(TRIM(A2),LEN(TRIM(A2))-FIND(" ",TRIM(A2)))

這樣可以確保即使某些儲存格的間距不一致,公式仍然準確。

從文字字串中移除最後一個單詞:

要移除儲存格中的最後一個單詞,請使用以下公式。將其輸入到如 B2 的儲存格中:

=LEFT(TRIM(A2),FIND("~",SUBSTITUTE(A2," ","~",LEN(TRIM(A2))-LEN(SUBSTITUTE(TRIM(A2)," ",""))))-1)

此公式通過查找最後一個空格的位置並提取它之前的所有文字來運作。請確保單詞之間沒有額外的空格,或者像上面一樣使用 TRIM 函數。輸入公式後,拖動填充柄以應用到所需的行數。該欄中的所有最後一個單詞都將被刪除,如下所示:

a screenshot showing how to use formula to remove the last word from text strings

錯誤提醒:如果某個儲存格只包含一個單詞且沒有空格,這些公式將返回錯誤或空白值。如果您的資料可能包含這種情況,可以用 IFERROR 包裹公式以避免錯誤,例如:

=IFERROR(RIGHT(A2,LEN(A2)-FIND(" ",A2)),"")

使用「文字轉欄」移除第一個或最後一個單詞(內建 Excel 方法)

在某些情況下,特別是在處理較短或靜態數據集時,Excel 內建的文字轉欄功能可以提供直觀且可視化的方法來拆分單詞。當您想快速將文字字串中的所有單詞拆分到欄中,然後有選擇性地重新組合它們(排除第一個或最後一個單詞)時,這個方法非常理想。雖然當源儲存格更改時它不會自動更新文本(不像公式那樣動態),但它對於一次性清理非常方便。

步驟:

  • 1. 選擇包含您要拆分的文字資料的欄。
  • 2. 轉到資料標籤並點擊文字轉欄
  • 3. 在精靈中,選擇分隔符號,然後點擊下一步
  • 4. 只勾選空格分隔符,然後點擊下一步
  • 5. 選擇拆分資料的目標位置,然後點擊完成
  • 6. 拆分後,各欄將填滿來自每個儲存格的單個單詞。要移除第一個單詞,只需使用 CONCATENATETEXTJOIN(如果可用)重新組合除第一欄以外的所有欄。同樣地,要移除最後一個單詞,則組合除最後一欄之外的所有欄。

您可以使用如下公式(假設您的拆分資料現在位於 B、C、D 欄中的一個儲存格中):

=CONCATENATE(C2," ",D2)

如果您有許多欄要連接,並且您使用的是 Excel 2016 或更高版本,請使用:

=TEXTJOIN(" ",TRUE,C2:E2)

注意事項:如果不小心,文字轉欄方法會覆蓋所選範圍右側的現有資料。始終確保相鄰欄是空的,或者先將您的資料複製到空白區域以確保安全。此方法最適合快速的手動處理,而不是自動更新。

適用場景分析:適合快速手動操作的短列表,或者當您需要視覺檢查和糾正結果時。不適合需要自動化的大型變動數據集。


使用 VBA 宏從文字字串中移除第一個或最後一個單詞

對於更進階或重複的大批量操作——例如清理大型數據集、自動化移除或處理複雜場景——VBA 宏非常高效。VBA 可以讓您在幾次點擊內為整個儲存格範圍移除第一個或最後一個單詞。在運行宏之前,請確保您的資料不含異常間距或特殊的非換行空格,因為這可能會影響拆分的準確性。

如何使用此 VBA 程式碼:

1. 點擊開發工具 > Visual Basic 以打開Microsoft Visual Basic for Applications 編輯器。在新窗口中,點擊插入 > 模塊。將以下代碼之一粘貼到模塊中。

從選定的儲存格中移除第一個單詞:

Sub RemoveFirstWord()
    Dim WorkRng As Range
    Dim Rng As Range
    Dim arr As Variant
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Select range to remove first word", xTitleId, WorkRng.Address, Type:=8)
    For Each Rng In WorkRng
        If InStr(Rng.Value, " ") > 0 Then
            arr = Split(Rng.Value, " ")
            Rng.Value = Mid(Rng.Value, InStr(Rng.Value, " ") + 1)
        End If
    Next
End Sub

2. 按 F5 或 點擊 運行以運行程式碼。宏隨後會彈出一個對話框供您選擇要處理的儲存格。點擊 確定將直接更新您的儲存格,從每個選定的儲存格中移除第一個單詞。

從選定的儲存格中移除最後一個單詞:

要從選定的儲存格中移除最後一個單詞,請應用以下 VBA 程式碼。

Sub RemoveLastWord()
    Dim WorkRng As Range
    Dim Rng As Range
    Dim arr As Variant
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Select range to remove last word", xTitleId, WorkRng.Address, Type:=8)
    For Each Rng In WorkRng
        If InStr(Rng.Value, " ") > 0 Then
            arr = Split(Rng.Value, " ")
            Rng.Value = Left(Rng.Value, Len(Rng.Value) - Len(arr(UBound(arr))) - 1)
        End If
    Next
End Sub

注意事項:這些宏僅移除選定範圍內每個儲存格中由空格分隔的第一個或最後一個單詞。如果某個儲存格只包含一個單詞(沒有空格),該儲存格保持不變。始終在副本上操作您的資料或在運行 VBA 程式碼之前保存您的工作簿,因為更改不可逆。

優勢:VBA 允許快速進行大批量處理,對於自動化重複的清理任務非常有效,特別是在處理大量表格資料時。

故障排除:如果遇到「運行時錯誤」消息,請確保您選擇中的所有值都是文本格式。空白或錯誤的儲存格可能會導致宏跳過或停止。


無論您選擇哪種方法——公式、文字轉欄還是 VBA——建議始終檢查您的結果以確保資料一致性,特別是當文字可能包含額外的空格、標點符號或意外的單詞序列時。只要有可能,請備份您的原始資料,尤其是在應用大批量編輯或不熟悉的宏時。如果您需要更靈活或強大的解決方案來清理或拆分 Excel 中的文字,Kutools for Excel 提供了一套全面的實用工具,能夠處理各種文字拆分和格式挑戰,而無需複雜的公式或程式碼。


將儲存格值拆分為多個欄和行:

使用 Kutools for Excel拆分儲存格功能,您可以快速將儲存格中的文字字串拆分為多個欄或行  ,按空格、逗號、新行以及您指定的任何其他分隔符進行拆分。

a screenshot showing how to use Kutools for Excel to easily split cells into multiple rows or columns by a certian separator

Kutools for Excel:擁有多達300個便捷的 Excel 增益集,免費試用30天且無任何限制。 立即下載並免費試用!


相關文章:

如何從 Excel 中的文字移除第一個、最後一個或特定字符?


最佳 Office 生產力工具

🤖 Kutools AI 助手:以智能執行為基礎,革新數據分析 生成程式碼 創建自訂公式 分析數據並生成圖表 調用 Kutools 增強函數
熱門功能查找、選取項目的背景色或標記重複值刪除空行合併列或單元格且不遺失數據四捨五入(免公式)...
高級 LOOKUP多條件 VLookup多值 VLookup多表查找模糊查找...
高級下拉列表快速創建下拉列表 依賴型下拉列表 多選下拉列表...
列管理器添加指定數量的列移動列切換隱藏列的顯示狀態比較區域及列...
精選功能網格聚焦 設計檢視 增強編輯欄 工作簿及工作表管理器 資源庫(快捷文本) 日期提取器 合併資料 加密/解密儲存格 按列表發送電子郵件 超級篩選 特殊篩選(篩選粗體/傾斜/刪除線...)...
15 大工具集12 項文本工具添加文本刪除特定字符…)50+ 儀表 類型甘特圖等)40+ 實用 公式基於生日計算年齡等)19 項插入工具插入QR码根據路徑插入圖片等)12 項轉換工具金額轉大寫匯率轉換等)7 項合併與分割工具高級合併行分割儲存格等)...及更多
使用 Kutools,語言任你選 — 支援英語、西班牙語、德語、法語、中文及超過40 種語言!

運用 Kutools for Excel,全面提升您的 Excel 技能,體驗前所未有的高效。 Kutools for Excel 提供超過300 項進階功能,讓您提升工作效率、節省時間。 點此尋找您最需要的功能...


Office Tab 為 Office 帶來分頁介面,讓您的工作更加輕鬆簡單

  • 在 Word、Excel、PowerPoint 中啟用分頁編輯與閱讀
  • 在同一視窗的新分頁中打開與創建多份文件,而非開啟新視窗。
  • 提升您的生產力50%,每日可幫您減少數百次鼠標點擊!

所有 Kutools 外掛,一次安裝

Kutools for Office 套裝整合了 Excel、Word、Outlook 和 PowerPoint 的外掛,外加 Office Tab Pro,非常適合需要跨 Office 應用程式協同作業的團隊。

Excel Word Outlook Tabs PowerPoint
  • 全合一套裝 — Excel、Word、Outlook及 PowerPoint 外掛 + Office Tab Pro
  • 一鍵安裝,一份授權 — 幾分鐘完成設置(支援 MSI)
  • 協同運作更順暢 — Office 應用間無縫提升生產力
  • 30 天全功能試用 — 無需註冊、無需信用卡
  • 最超值 — 一次購買,節省單獨外掛費用