跳到主要内容

从文本字符串中提取第一和第二个逗号之间的文本

要从文本字符串中提取第一个和第二个逗号或第二个和第三个逗号之间的文本,本教程将介绍一些用于解决Excel中此任务的公式。


从文本字符串中提取第一个和第二个逗号或其他定界符之间的文本

如果要提取第一个和第二个逗号或其他分隔符之间的文本,则MID和SEARCH函数可以帮助您完成此工作,通用语法为:

=MID(cell, SEARCH("char",cell) + 1, SEARCH("char",cell, SEARCH("char",cell)+1) - SEARCH("char",cell) - 1)
  • cell:要从中提取文本的单元格引用或文本字符串。
  • char:您要基于其提取文本的特定分隔符。

请将以下公式复制或输入到要获取结果的空白单元格中:

=MID(A2, SEARCH(",",A2) + 1, SEARCH(",",A2,SEARCH(",",A2)+1) - SEARCH(",",A2) - 1)

然后,将填充手柄向下拖动到要应用此公式的单元格上,并且提取了第一个和第二个逗号之间的所有文本,请参见屏幕截图:


公式说明:

1. SEARCH(“,”,A2)+ 1: 此SEARCH函数用于查找单元格A2中第一个逗号的位置,添加1表示从下一个字符开始提取。 它将得到数字14。这部分被识别为MID函数中的start_num参数。

2. SEARCH(“,”,A2,SEARCH(“,”,A2)+1)-SEARCH(“,”,A2)– 1: 该部分在MID函数中被识别为num_chars参数。

  • SEARCH(“,”,A2,SEARCH(“,”,A2)+1):公式的这一部分用于获取第二个逗号的位置,它将得到数字21。
  • SEARCH(“,”,A2):此SEARCH函数将获取单元格A2中第一个逗号的位置。 它将得到数字13。
  • SEARCH(“,”,A2,SEARCH(“,”,A2)+1)-SEARCH(“,”,A2)-1 = 21-13-1:从第二个逗号的位置中减去第一个逗号的位置,然后从结果均值中减去1以排除逗号字符。 结果是7。

3. MID(A2,SEARCH(“,”,A2)+1,SEARCH(“,”,A2,SEARCH(“,”,A2)+1)-SEARCH(“,”,A2)-1)= MID (A2、14、7): 最后,MID函数将从第7个字符开始的单元格A2的中间提取XNUMX个字符。


笔记:

1.如果您的文本字符串由其他定界符分隔,则只需要根据需要在公式中使用其他定界符更改逗号。

2.这是另一个简单的公式,也可以帮您一个忙:

=TRIM(MID(SUBSTITUTE(A2,",",REPT(" ",100)),100,100))


从文本字符串中提取第二个和第三个逗号或其他定界符之间的文本

有时,您可能需要提取第二个和第三个逗号之间的文本,在这种情况下,MID,FIND和SUBSTITUTE函数的组合可以为您提供帮助。 通用语法为:

=MID(cell, FIND("#",SUBSTITUTE(cell,"char","#",2))+1, FIND("#",SUBSTITUTE(cell,"char","#",3)) - FIND("#",SUBSTITUTE(cell,"char","#",2))-1)
  • cell:要从中提取文本的单元格引用或文本字符串。
  • char:您要基于其提取文本的特定分隔符。

请将以下公式复制或键入到空白单元格中:

=MID(A2, FIND("#",SUBSTITUTE(A2,",","#",2))+1, FIND("#",SUBSTITUTE(A2,",","#",3)) - FIND("#",SUBSTITUTE(A2,",","#",2))-1)

粘贴公式后,将填充手柄向下拖动到单元格以应用此公式,第二和第三个逗号之间的所有文本均已提取,如下图所示:


公式说明:

1. FIND(“#”,SUBSTITUTE(A2,“,”,“#”,2))+ 1:该部分在MID函数中被识别为start_num参数。

  • SUBSTITUTE(A2,“,”,“#”,2):此SUBSTITUTE函数用于将A2单元格中的第二个逗号替换为#字符,结果如下:Apple-3000KG,休斯顿#得克萨斯州,美国".
  • FIND(“#”,SUBSTITUTE(A2,“,”,“#”,2))+ 1:使用FIND函数获取SUBSTITUE函数返回的文本字符串中#字符的位置。 加1表示从下一个字符开始提取。 这将得到数字22。

2. FIND(“#”,SUBSTITUTE(A2,“,”,“#”,3))-FIND(“#”,SUBSTITUTE(A2,“,”,“#”,2))-1:此部分在MID函数中被识别为num_chars参数。

  • FIND(“#”,SUBSTITUTE(A2,“,”,“#”,3)):此公式将返回第三个逗号的位置,它将得到数字27。
  • FIND("#",SUBSTITUTE(A2,",","#",3)) - FIND("#",SUBSTITUTE(A2,",","#",2))-1= 27-21-1:从第三个逗号的位置减去第二个逗号的位置,然后从结果均值中减去1以排除逗号字符。 结果是5。

3. MID(A2,FIND(“#”,SUBSTITUTE(A2,“,”,“#”,2))+ 1,FIND(“#”,SUBSTITUTE(A2,“,”,“#”,3) )-FIND(“#”,SUBSTITUTE(A2,“,”,“#”,2))-1)= MID(A2,22,5):最后,MID函数将从单元格A5的中间提取2个字符,该字符以第二十二个字符开始。


笔记:

1.如果您的文本字符串由其他定界符分隔,则只需要根据需要在公式中使用其他定界符更改逗号。

2.另一个简单的公式也可以帮助您提取第二个和第三个逗号之间的文本:

=TRIM(MID(SUBSTITUTE(A2,",",REPT(" ",100)),200,100))


使用的相对功能:

  • MID:
  • MID函数用于从给定文本字符串的中间查找并返回特定数量的字符。
  • FIND:
  • FIND函数用于在另一个字符串中查找一个字符串,并返回该字符串在另一个字符串中的起始位置。
  • SEARCH:
  • SEARCH函数可以帮助您从给定的文本字符串中找到特定字符或子字符串的位置
  • SUBSTITUTE:
  • Excel SUBSTITUTE函数将文本字符串中的文本或字符替换为另一个文本或字符。

更多文章:

  • 从一个单元格中提取多行
  • 现在,如果您有由换行符分隔的文本字符串列表(在输入文本时按Alt + Enter键会发生这种情况),现在,您要将这些文本行提取到多个单元格中,如下面的屏幕截图所示。 您如何用Excel中的公式解决它?
  • 从文本字符串中提取括号之间的文本
  • 现在,如果文本字符串中有一部分用括号括起来,则需要提取括号之间的所有文本字符串,如下面的屏幕截图所示。 您如何在Excel中快速轻松地解决此任务?
  • 在特定字符的最后一个实例之后提取文本
  • 如果您有包含多个定界符的复杂文本字符串列表(以下面的屏幕快照为例,其中包含连字符,逗号,单元格数据中的空格),现在,您要查找最后一个连字符的位置,然后提取其后的子字符串。 本文中,我将介绍一些用于处理此任务的公式。

最佳办公效率工具


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

  • 一秒钟即可在数十个打开的文档之间切换!
  • 每天为您减少数百次鼠标单击,告别鼠标手。
  • 查看和编辑多个文档时,可将您的工作效率提高50%。
  • 为 Office(包括 Excel)带来高效的选项卡,就像 Chrome、Edge 和 Firefox 一样。
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thanks God!!!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations