Note: The other languages of the website are Google-translated. Back to English

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

您可能需要从文本字符串中提取子字符串,这对您来说是一项常见的任务,在Excel中,没有直接执行此操作的功能,但是借助LEFT,RIGHT,MID和SEARCH函数,您可以提取您需要的各种子字符串。


从文本字符串中提取具有特定数量字符的子字符串

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

  • LEFT function:从文本字符串的左侧提取一个子字符串。
  • RIGHT function:从文本字符串的右侧提取文本。
  • MID function:从文本字符串的中间提取一个子字符串。

从文本字符串的左侧提取子字符串:

LEFT函数可以帮助您从文本字符串中提取前x个字符,通用语法为:

=LEFT (text, [num_chars])
  • text:您要提取字符的文本字符串。
  • num_chars:要从文本字符串的左侧提取的字符数。

请在空白单元格中输入以下公式:

=LEFT(A2,3)

然后,将填充手柄向下拖动到要应用此公式的单元格上,并且所有前三个字符均已从原始文本中提取,请参见屏幕截图:


从文本字符串的右侧提取子字符串:

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

=RIGHT (text, [num_chars])
  • text:您要提取字符的文本字符串。
  • num_chars:要从文本字符串右侧提取的字符数。

例如,要从文本字符串中提取最后6个字符,请在空白单元格中输入以下公式:

=RIGHT(A2,6)

然后,将此公式复制到所需的其他单元格中,并从文本右侧提取了所有6个字符,请参见屏幕截图:


从文本字符串的中间提取子字符串:

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

=MID (text, start_num, num_chars)
  • text:您要提取字符的文本字符串。
  • start_num:要提取的第一个字符的位置。
  • num_chars:您要提取的字符总数。

例如,要从文本字符串的第3个字符中提取XNUMX个字符,请在空白单元格中输入以下公式:

=MID(A2,7,3)

然后,将填充手柄向下拖动到单元格以根据需要应用此公式,您将得到以下结果:


从文本字符串中提取特定字符之前或之后的子字符串

LEFT,RIGHT和MID函数可以帮助您提取具有特定字符数的统一子字符串,但是有时,您可能需要提取可变长度的子字符串,可以创建一些更复杂的公式来解决此工作。

在特定字符之前提取子字符串

为了提取特定字符之前的所有字符,通用语法为:

=LEFT(text, SEARCH(char, text)-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(text,LEN(text)-SEARCH(char, text)
  • text:您要从中提取字符的文本字符串。
  • char:提取子字符串所基于的特定字符。

要提取连字符后的字符,请使用以下公式:

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

然后,将此公式复制到要使用的单元格中,您将获得结果,如下图所示:


公式说明:
  • SEARCH(“-”,A2): 该搜索功能用于查找单元格A2中连字符的位置。
  • LEN(A2)-SEARCH(“-”,A2): LEN函数返回的文本字符串的总长度减去SEARCH函数返回的数字,以获取特定字符之后的字符数。 这被识别为RIGHT函数的num_chars参数。
  • RINGT(): 此RIGHT函数用于从单元格A2中的文本字符串的末尾提取字符数。

提取两个特定字符之间的子字符串

如果您需要提取两个给定字符之间的子字符串,也许以下功能可以为您提供帮助,通用语法为:

=MID(text, SEARCH(char, text)+1, SEARCH (char, text, SEARCH (char, text)+1) - SEARCH (char, text)-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函数用于根据以上两个参数提取子字符串。

使用的相对功能:

  • LEFT:
  • LEFT函数从文本字符串的左侧提取字符串。
  • RIGHT:
  • RIGHT函数从文本字符串的右边返回文本。
  • MID:
  • MID函数从文本字符串的中间返回特定字符。
  • SEARCH:
  • SEARCH函数可以帮助您从给定的文本中查找特定字符或子字符串的位置

更多文章:

  • 从多行单元格中提取文本的最后一行
  • 通常,要从由换行符分隔的文本字符串中提取文本的最后一行,没有直接的方法可以解决。 本文中,我将介绍一个公式来处理Excel中的此任务。

最佳办公效率工具

Kutools for Excel-帮助您从人群中脱颖而出

您想快速,完美地完成日常工作吗? Kutools for Excel具有300项强大的高级功能(合并工作簿,按颜色求和,拆分单元格内容,转换日期等),并为您节省80%的时间。

  • 专为1500个工作方案而设计,可帮助您解决80%的Excel问题。
  • 每天减少成千上万的键盘和鼠标点击,减轻您疲倦的眼睛和手部的疲劳。
  • 在3分钟内成为一名Excel专家。 不再需要记住任何痛苦的公式和VBA代码。
  • 30天无限制免费试用。 60天退款保证。 免费升级和支持2年。
Excel功能区(已安装Kutools for Excel)

Office选项卡-在Microsoft Office(包括Excel)中启用选项卡式阅读和编辑

  • 一秒钟即可在数十个打开的文档之间切换!
  • 每天为您减少数百次鼠标单击,告别鼠标手。
  • 查看和编辑多个文档时,可将您的工作效率提高50%。
  • 像Chrome,Firefox和新的Internet Explorer一样,为Office(包括Excel)带来高效选项卡。
Excel的屏幕截图(已安装Office选项卡)
按评论排序
注释 (0)
还没有评分。 成为第一位评论!
这里还没有评论
留下你的意见
以访客身份发帖
×
评价此帖子:
0  产品特性
建议地点