excel 怎么提取包含特定字段的字符串

如:
A1:aabbccddeeff aabbccddeef abcd aabbccddeef
A2:abcdccddeeff aabbccddeef deeaabbccddeef
A3:dccddeeabcd aabbccddeeacd
特定字符 abcd
假设所需要提取的字符串 每行唯一
我所要的是
B1:abcd
B2:abcdccddeeff
B3:dccddeeabcd
公式 vba皆可以
求大神指教

B1输入

=IF(COUNTIF(A1,"*abcd*"),TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),99*MAX(NOT(ISERR(FIND("abcd",MID(SUBSTITUTE(A1," ",REPT(" ",99)),99*ROW($1:$99)-98,99))))*ROW($1:$99))-98,99)),"")

按【CTRL+SHIFT+回车】后,下拉填充公式即可。

如果要用VBA的话,可以VBA自定义函数:

按ALT+F11,进入VBA编辑器,主菜单——插入——模块,将下述代码粘贴到右侧编辑区,退出VBA编辑器,在B1输入=txt(a1)然后下拉填充即可:

Function txt(c As String) As String
    arr = Split(c, " ")
    For i = 0 To UBound(arr)
        If InStr(arr(i), "abcd") Then txt = arr(i): Exit Function
    Next
End Function

 

追问

如果我有一万行数据的话 只要把99 改成10000 98改成9999 就可以了吗?
如果可以 能说明下吗 有点迷糊 关于乘法那块
vba我贴进去 为什么有错呢

追答

公式与行数没有关系,(多少行也不用修改公式),但如果数据较多,使用公式,会导致EXCEL运行速度大打折扣,还是建议你用VBA自定义函数。

追问

vba我贴进去 为什么有错呢 执行
#NAME?
如果数据有多个空格 是不是就不行了
如aabbccddeeff aabbccdabcddeef asscd aabbcbcdcddeef

追答

请详细看清楚我代码前的操作程序,如果没有按照操作程序,可能会出现问题的。与空格多少个没有关系

温馨提示:内容为网友见解,仅供参考
无其他回答

excel如何抓取特定数据
例如,如果有一个包含姓名和电话号码的文本字符串,我们可以使用RIGHT函数来提取电话号码,或者使用MID函数结合FIND函数来提取字符串中的特定部分。其次,快捷键Ctrl+E也是抓取特定数据的有效方式。当需要提取的数据格式相似时,可以先手动输入一个示例,然后在下一个单元格中按下Ctrl+E,Excel会自动填充并提...

excel中取某个字符之间的字符串
在Excel中,你可以使用函数来提取某个字符之间的字符串。常用的函数有MID、FIND和SEARCH等。使用MID函数提取字符之间的字符串 MID函数可以从文本字符串中返回特定的字符。其基本语法为:MID。text是需要提取的字符串。start_num是开始提取的位置。num_chars是你要提取的字符数。假设你有一个包含字符串的单...

excel怎么截取一串字符串中某个特定字符的字段
在Excel中,截取一串字符串中特定字符的字段可以通过使用MID函数来实现。这个函数非常实用,它的基本格式是 =MID(单元格地址, 开始位置, 位数)。例如,如果你想要从A2单元格的字符串中提取第5个字符开始的3个字符,你可以输入公式"MID(A2,5,3)"。首先,"单元格地址"是你想要操作的具体位置,如A2表...

excel如何提取中间的字符串。?
1. 打开Excel,并找到需要处理的单元格。2. 在目标单元格中输入`=MID`函数。3. 选择包含需要提取字符的文本字符串的单元格。4. 输入开始提取的位置。5. 输入需要提取的字符数。6. 完成函数输入后,按Enter键。此时,就可以提取指定位置的特定数量的字符了。四、示例说明 假设在A1单元格中有字符串...

在excel中,怎么提取单元格中的字?
此外,如果需要提取包含特定文字的单元格中的部分内容,可以结合使用MID、LEFT或RIGHT函数。例如,知道特定文字在单元格中的位置后,可以使用MID函数提取该位置之后的若干字符。通过这些函数的灵活运用,可以在Excel中方便地处理和提取单元格中的文字内容,满足各种数据处理和分析的需求。总的来说,Excel提供了...

在Excel中提取指定的几个字符,该如何做?
在Excel中提取一个单元格中的某几个字符通常需要使用字符串函数,例如LEFT、RIGHT或MID。以下是如何使用这些函数来提取单元格中的某几个字符:1. LEFT函数:LEFT函数返回文本字符串的左边字符。比如,LEFT(A2;3)将返回单元格A2中前三个字符。其中,“3”代表要提取的字符数,可以自行调整这个数字。2. ...

Excel怎么提取指定字符串
text是要截取的字符串;start_num指定从第几位开始截取,Excel通常按字符序进行编号,第一位字符是第1位;num_chars则是指定截取的字符数量。通过调整这些参数,可以精确地提取字符串中的特定部分。这对于数据处理非常有用,尤其是在处理包含重要信息的长文本数据时。LEFT函数 LEFT函数用于从一个文本字符串...

excel如何提取数据中的指定部分
具体操作为:在新列的单元格中输入“=LEFT(A1, 2)”(假设原始数据在A列),然后拖动填充柄向下填充公式,这样就可以将A列中每个单元格的前两个字符提取到新列中。另一种方法是使用Excel的“分列”功能。这个功能特别适用于按照特定分隔符(如逗号、空格等)分割文本的情况。例...

怎么提取excel文字中想要的字段
使用MID函数提取字段:MID函数可以从文本字符串的中间位置提取指定长度的字符。你需要指定要提取的字段的起始位置和长度。例如,如果你想要从一个单元格中提取第2到第5个字符,可以使用以下公式:=MID(A1, 2, 4)。使用FIND函数和MID函数提取字段:如果你要提取的字段的位置不是固定的,你可以使用FIND...

excel提取某部分内容的数据函数
1. LEFT函数:- LEFT基于所指定的字符数返回文本字符串中的第一个或前几个字符。- LEFTB基于所指定的字节数返回文本字符串中的第一个或前几个字符。此函数用于双字节字符。- 语法:LEFT(text,num_chars)或LEFTB(text,num_bytes)- Text是包含要提取字符的文本字符串。- Num_chars指定要由LEFT所...

相似回答