跳至主要内容

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宏可以提供高效的解决方案。这种方法非常适合熟悉宏的用户,他们需要批处理或希望简化Excel中重复的文本清理操作。

典型的适用场景包括:

  • 标准化从其他系统导入的参考代码或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项 插入工具插入二维码从路径插入图片等)|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天全功能试用——无需注册,无需信用卡
  • 超高性价比——比单独购买更实惠