Skip to main content

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

如何在 Excel 中刪除第 n 個字符後的字符串?

Author Sun Last modified

在 Excel 中,您可能經常需要通過刪除特定位置之後的字符來操作文本字符串。例如,您可能希望在第 n 個字符後截斷字符串,以標準化數據格式或清理導入的文本。這項任務在處理標識符、代碼或任何只需要固定數量初始字符的文本時非常常見。刪除第 n 個字符後的內容有助於防止因額外數據引起的錯誤,確保數據導入/導出的一致性,或促進比較和分析。本指南將探討三種實用技術,用於刪除字符串中第 n 個字符後的字符:使用公式、Kutools for Excel 和 VBA 宏進行自動化。每種方法在特定場景下都有其優勢,您可以選擇最適合您需求的方法。

A screenshot demonstrating the result of deleting characters after the5th position using a formula in Excel

使用公式刪除第 n 個字符後的所有字符

公式提供了處理 Excel 中文本操作任務的多功能方法,包括刪除特定位置後的字符。當您需要一個隨著數據變化而自動調整的動態解決方案時,這種方法非常有用。以下是使用公式刪除字符串中第 n 個字符後所有字符的方法:

假設您想從以下截圖中的數據中刪除第 5 個字符後的所有內容,這是處理方法:

A screenshot showing an Excel sheet with strings for removing characters after the nth position

選擇一個空白單元格並輸入以下公式,按下「Enter」鍵,然後拖動此結果單元格的「填充柄」向下以獲取其餘結果。

=LEFT(A2,5)
A screenshot of the formula '=LEFT(A1,5)' applied to truncate text after the5th character in Excel
提示:在上述公式中,您可以將數字 5 替換為其他數字,以指定要保留多少字符。例如,將其更改為 7 將刪除文本字符串中第 7 個字符後的所有字符。

此公式方法最適用於:

  • 當您想要一個快速解決方案來修剪字符,且要保留的字符數是固定的。
  • 如果您的數據存儲在表格中,並且您希望保持過程透明且可逆。
當處理非常大的數據集或希望就地刪除字符(即覆蓋原始數據)時,它不太合適,因為通常需要複製結果並將其粘貼到原始值上。此外,請注意公式會動態更新:如果源單元格發生變化,結果將自動調整。

 

常見問題及故障排除: 如果您的數據比您指定的數字短(例如,單元格只有 3 個字符但您設置了 5),Excel 將簡單地返回原始字符串而不報錯。但是,如果您的數據包含非文本值(返回錯誤的公式或數字),請在截斷之前確保它們已按需處理。對於陣列公式或更動態的需求,可以與其他文本函數(例如,SEARCH、FIND)結合以處理更複雜的模式。


輕鬆刪除第 n 個字符後的指定數量的字符

“Kutools for Excel” 提供了一種更用戶友好的方法來刪除特定位置後的字符,特別是在處理大型數據集或您偏好基於工具的解決方案時非常有用。這種方法只需幾次點擊即可簡化任務。以下是使用 Kutools for Excel 實現這一目標的方法:

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...

下載並安裝 Kutools for Excel 後,轉到「Kutools」選項卡並選擇「文本」>「按位置刪除」以打開對話框,然後按如下方式配置:

  1. 在「數字」文本框中,輸入您要刪除的字符數。
    提示:如果您想刪除第 n 個字符後的所有字符,可以輸入一個非常大的數字,例如 999,以確保刪除第 n 個字符後的所有字符。
  2. 選擇「指定起始位置」選項,然後輸入表示要開始刪除字符的位置的數字。
    在這種情況下,要刪除第 5 個字符後的字符,請輸入數字 6。這指定字符刪除將從第 6 個字符開始。
  3. 點擊「確定」。
    A screenshot of the Remove by Position dialog in Kutools for Excel configured to delete characters after the nth position
結果

然後,所選範圍內每個單元格中第 5 個字符後的指定數量的字符將被刪除。

A screenshot showing the result after using Kutools for Excel to remove characters after the nth position

這種解決方案在以下場景中非常理想,例如清理大量導入的數據、準備需要標準化字符串長度的列表,或者當用戶不熟悉編寫 Excel 公式或 VBA 時。Kutools for Excel 使批量操作變得簡單,並為非技術用戶拓展了可能性。

主要優勢:

  • 對所選範圍或整個工作表進行批量操作,節省處理大數據的手動工作量。
  • 直觀且快速,設置最少。
局限性:
  • 該操作會覆蓋原始數據,因此如果以後可能需要未更改的內容,建議先備份工作表。
  • 需要安裝外掛程式,在某些 IT 受限環境中可能無法使用。

Kutools for Excel - 超過 300 種必備工具,讓 Excel 功能更強大。永久免費享受 AI 功能!立即獲取


VBA 宏 – 自動截斷範圍內第 n 個字符後的文本

當您需要自動截斷多個單元格或大數據集中第 n 個字符後的文本時——特別是如果此任務將定期執行或就地執行——VBA 宏可以提供高效的解決方案。這種方法非常適合熟悉宏的用戶,他們需要批量處理或希望簡化重複的文本清理操作。

典型適用場景包括:

  • 標準化從其他系統導入的參考代碼或 ID。
  • 自動化每月重複的文本處理任務,用於報告或數據清理。
  • 批量編輯,您希望覆蓋原始數據而不是將基於公式的結果存儲在其他地方。
優勢:
  • 一次自動處理數千條記錄。
  • 完全控制受影響的範圍以及保留多少字符。
  • 對於重複任務,可以根據需要再次運行宏以實現重用。
缺點:
  • 宏直接更改原始數據,因此在運行宏之前高度建議備份工作表。
  • 為了將來使用 VBA 代碼,請將工作簿保存為啟用宏的格式 (.xlsm),並確保在 Excel 設置中啟用了宏。

 

操作步驟:

  1. 在 Excel 中,點擊 開發者 > Visual Basic。這將打開 Microsoft Visual Basic for Applications 編輯器窗口。
  2. 在 VBA 編輯器中,點擊 插入 > 模組。將以下代碼複製並粘貼到新模組中:
    Sub TruncateTextAfterNthCharacter()
        Dim WorkRng As Range
        Dim cell As Range
        Dim n As Integer
        
        On Error Resume Next
        xTitleId = "KutoolsforExcel"
        
        Set WorkRng = Application.InputBox("Select the range to truncate:", xTitleId, Selection.Address, Type:=8)
        If WorkRng Is Nothing Then Exit Sub
        
        n = Application.InputBox("Keep how many characters (n)?", xTitleId, 5, Type:=1)
        If n < 1 Then Exit Sub
        
        For Each cell In WorkRng
            If Not IsEmpty(cell) And VarType(cell.Value) = vbString Then
                If Len(cell.Value) > n Then
                    cell.Value = Left(cell.Value, n)
                End If
            End If
        Next
    End Sub
  3. 關閉 VBA 編輯器。回到 Excel,按 Alt + F8,選擇 “TruncateTextAfterNthCharacter”,然後點擊 運行
  4. 將彈出一個對話框,提示您選擇要處理的範圍(例如,A1:A10),然後輸入要保留的字符數。確認後,宏將覆蓋每個選定單元格的截斷結果。

注意事項和故障排除:

  • 在運行宏之前,務必備份您的數據。像這樣的宏替換原始內容,執行後無法使用「撤銷」(Ctrl+Z)。
  • 宏僅處理文本值。如果您的範圍包含數字、返回數字的公式或錯誤,這些將不會被更改。根據需要修改代碼以處理其他數據類型。
  • 如果看到有關宏的權限提示,請在 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 天全功能試用 — 無需註冊、無需信用卡
  • 最超值 — 一次購買,節省單獨外掛費用