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

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

要从文本字符串中提取第一个和第二个逗号或第二个和第三个逗号之间的文本,本教程将介绍一些用于解决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中快速轻松地解决此任务?
  • 在特定字符的最后一个实例之后提取文本
  • 如果您有包含多个定界符的复杂文本字符串列表(以下面的屏幕快照为例,其中包含连字符,逗号,单元格数据中的空格),现在,您要查找最后一个连字符的位置,然后提取其后的子字符串。 本文中,我将介绍一些用于处理此任务的公式。

最佳办公效率工具

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选项卡)
按评论排序
注释 (1)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
感谢上帝!!!
这里还没有评论
留下你的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点