从Excel中的文本字符串提取子字符串

从Excel中的文本字符串提取子字符串 Author Xiaoyang • Last modified 2025-08-22 您可能经常需要从文本字符串中提取子字符串。在Excel中,虽然没有直接的函数可以完成这一任务,但借助LEFT、RIGHT、MID和SEARCH函数,您可以根据需要提取各种子字符串。

从文本字符串中提取特定数量字符的子字符串 从文本字符串中特定字符之前或之后提取子字符串 从文本字符串中提取特定数量字符的子字符串在Excel中,LEFT、RIGHT和MID函数可以帮助您从文本字符串的左侧、右侧或中间提取指定长度的子字符串。

LEFT函数:从文本字符串的左侧提取子字符串。 RIGHT函数:从文本字符串的右侧提取文本。 MID函数:从文本字符串的中间提取子字符串。 从文本字符串的左侧提取子字符串:LEFT函数可以帮助您从文本字符串中提取前x个字符,其通用语法为:

=LEFT(文本, [字符数]) text: 您希望从中提取字符的文本字符串。 num_chars: 您希望从文本字符串左侧提取的字符数。 请在空白单元格中输入以下公式:

=LEFT(A2,3)然后,向下拖动填充柄以将此公式应用到其他单元格,所有原始文本中的前3个字符都将被提取出来,如下图所示:

从文本字符串的右侧提取子字符串:要从文本末尾提取子字符串,请使用RIGHT函数:

=RIGHT(文本, [字符数]) text: 您希望从中提取字符的文本字符串。 num_chars: 您希望从文本字符串右侧提取的字符数。 例如,要从文本字符串中提取最后6个字符,请在空白单元格中输入以下公式:

=RIGHT(A2,6)然后,将此公式复制到您需要的其他单元格中,所有6个字符都已从文本右侧提取出来,如下图所示:

从文本字符串的中间提取子字符串:要从文本中间提取具有特定字符长度的子字符串,MID函数可以帮您实现。

=MID(文本, 起始位置, 字符数) text: 您希望从中提取字符的文本字符串。 start_num: 您希望提取的第一个字符的位置。 num_chars: 您希望提取的字符总数。 例如,要从文本字符串的第七个字符开始提取3个字符,请在空白单元格中输入以下公式:

=MID(A2,7,3)然后,向下拖动填充柄以根据需要将此公式应用到其他单元格,您将得到以下结果:

从文本字符串中特定字符之前或之后提取子字符串LEFT、RIGHT和MID函数可以帮助您提取具有特定字符数的统一子字符串,但有时您可能需要提取可变长度的子字符串,可以通过创建更复杂的公式来解决这个问题。

提取特定字符之前的子字符串要提取特定字符之前的所有字符,其通用语法为:

=LEFT(文本, SEARCH(字符, 文本)-1) text: 您希望从中提取字符的文本字符串。 char: 提取子字符串所基于的特定字符。 例如,我想提取连字符之前的所有字符,请在空白单元格中应用以下公式:

=LEFT(A2, SEARCH("-",A2)-1)然后向下拖动填充柄以将此公式应用到其他单元格,连字符之前的所有字符都已被提取,如下图所示:

公式的解释: SEARCH("-",A2)-1: 此SEARCH函数用于查找单元格A2中连字符的位置,并减去1以排除该字符本身。它被识别为LEFT函数的num_chars参数。 LEFT(A2, SEARCH("-",A2)-1): 此LEFT函数从单元格A2中的文本左侧提取由SEARCH函数返回的字符数。 提取特定字符之后的子字符串如果您想提取特定字符之后的子字符串,RIGHT、LEN和SEARCH函数可以帮您,其通用语法为:

=RIGHT(文本,LEN(文本)-SEARCH(字符, 文本)) text: 您希望从中提取字符的文本字符串。 char: 提取子字符串所基于的特定字符。 要提取连字符之后的字符,请应用以下公式:

=RIGHT(A2,LEN(A2)-SEARCH("-",A2))然后,将此公式复制到您需要使用的单元格中,您将得到如下图所示的结果:

公式的解释: SEARCH("-",A2): 此SEARCH函数用于查找单元格A2中连字符的位置。 LEN(A2)-SEARCH("-",A2): LEN函数返回的文本字符串总长度减去SEARCH函数返回的数字,以获取特定字符之后的字符数。这被识别为RIGHT函数的num_chars参数。 RINGT(): 此RIGHT函数用于从单元格A2中文本字符串的末尾提取字符数。 提取两个特定字符之间的子字符串如果您需要提取两个给定字符之间的子字符串,也许下面的函数可以帮您,其通用语法为:

=MID(文本, SEARCH(字符, 文本)+1, SEARCH (字符, 文本, SEARCH (字符, 文本)+1) - SEARCH (字符, 文本)-1) text: 您希望从中提取字符的文本字符串。 char: 提取子字符串所基于的特定字符。 例如,要提取两个连字符之间的文本,请使用此公式:

=MID(A2, SEARCH("-",A2) + 1, SEARCH("-",A2,SEARCH("-",A2)+1) - SEARCH("-",A2) - 1)然后,向下拖动填充柄以将此公式应用到其他单元格,您将得到如下图所示的结果:

公式的解释: SEARCH("-",A2) + 1: SEARCH函数用于返回连字符的位置,加1表示从下一个字符开始提取子字符串。它被识别为MID函数的start_num参数。 SEARCH("-",A2,SEARCH("-",A2)+1): 此部分公式用于获取第二个连字符的位置。 SEARCH("-",A2,SEARCH("-",A2)+1) - SEARCH("-",A2) - 1): 使用第二个连字符的位置减去第一个连字符的位置,以获取这两个连字符之间的字符数,然后从结果中减去1以排除分隔符字符。这被识别为MID函数的num_chars参数。 MID(): 此MID函数根据上述两个参数提取子字符串。 相关函数: LEFT: LEFT函数从文本字符串的左侧提取字符串。 RIGHT: RIGHT函数返回文本字符串右侧的文本。 MID: MID函数从文本字符串的中间返回特定字符。 SEARCH: SEARCH函数可以帮助您从给定文本中查找特定字符或子字符串的位置。 更多文章: 在Excel中获取或提取文本字符串中的第一个单词 要从一系列由空格分隔的文本字符串中提取所有第一个单词,Excel中的LEFT和FIND函数可以帮您实现。 在Excel中获取或提取文本字符串中的最后一个单词 要从由空格字符分隔的文本字符串中提取最后一个单词,通常情况下,您可以基于Excel中的TRIM、SUBSTITUTE、RIGHT和REPT函数创建一个公式。 从多行单元格中提取最后一行文本 要从由换行符分隔的文本字符串中提取最后一行文本,通常情况下,没有直接的方法可以解决这个问题。本文将介绍一种在Excel中处理此任务的公式。 最佳的办公生产力工具Kutools for Excel - 助您脱颖而出 🤖 Kutools AI 助手: 基于智能执行革新数据分析:智能执行 | 生成代码 | 创建自定义公式 | 分析数据并生成图表 | 调用Kutools函数… 热门功能:查找、突出显示或标记重复项 | 删除空行 | 合并列或单元格而不丢失数据 | 无公式四舍五入 ... 超级VLookup:多条件 | 多值 | 跨多表 | 模糊查找... 高级下拉列表:简易下拉列表 | 级联下拉列表 | 多选下拉列表... 列管理器: 添加指定数量的列 | 移动列 | 切换隐藏列的可见性状态 | 比较列以 选择相同和不同的单元格 ... 精选功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并工作表 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...) ... 顶级15个工具集:12 种文本工具(添加文本,删除特定字符 ...) | 50+ 种图表 类型(甘特图 ...) | 40+种实用 公式(基于生日计算年龄 ...) | 19 种插入工具(插入二维码,从路径插入图片 ...) | 12 种转换工具(小写金额转大写,汇率转换 ...) | 7 种合并与拆分工具(高级合并行,拆分Excel单元格 ...) | ... 及更多 使用您偏好的语言来操作Kutools——支持英语、西班牙语、德语、法语、中文等40多种语言!Kutools for Excel拥有超过300项功能,确保您需要的功能只需一键即可实现...

更多关于Kutools for Excel的详细信息...免费下载Office Tab - 在Microsoft Office(包括Excel)中启用标签式阅读和编辑 一秒内在数十个打开的文档之间切换! 每天为您减少数百次鼠标点击,告别鼠标手。 当查看和编辑多个文档时,您的生产力提高50%。 为Office(包括Excel)带来高效的标签页,就像Chrome、Edge和Firefox一样。 更多关于Office Tab的详细信息...免费下载