Office中国论坛/Access中国论坛
标题:
求助:提取字符串
[打印本页]
作者:
cqzxpx
时间:
2017-3-9 17:35
标题:
求助:提取字符串
提取字符串中包含“套”的字符串
作者:
tmtony
时间:
2017-3-9 17:42
用VBA的话,
简单的可以用instr 找到 套的位置,再用 instr 或 InStrRev 加开始位置 取前后空格的位置
用函数公式的话,等小妖或R大师回复了
作者:
roych
时间:
2017-3-11 01:35
如果是一个“套”,公式还是可以的。多个“套”的时候,因为没法find到最后一个套附近的空格位置,只能VBA。代码供参考。附件中已经创建了自定义函数。请启用宏后运行。
Function getTao(ByVal rng As Range) As String
Dim lngStart As Long, lngEnd As Long
Dim strGet As String
Dim lngFirst As Long, lngLast As Long
'第一个套和最后一个套的位置
lngFirst = InStr(1, rng, "套")
lngLast = InStrRev(rng, "套")
'如果没找到,返回空值
If lngFirst = 0 Then
strGet = ""
Else
'开始位置和最后位置。
lngStart = InStrRev(Left(rng, lngFirst), " ") + 1
lngEnd = InStr(1, Mid(rng, lngLast), " ") - 1 + lngLast
'返回字符串
strGet = Mid(rng, lngStart, lngEnd - lngStart)
End If
getTao = strGet
End Function
复制代码
作者:
gouweicao78
时间:
2017-3-30 09:39
由于存在字母间的空格,因而可以分2步走。
第1步,复制到word,查找替换如图:
[attach]61033[/attach]
查找:([a-z,A-Z]) ([a-z,A-Z])
替换为:\1※\2
把字母间的空格替换为※
第2步,从word再贴回到Excel,输入公式,用函数分列+VLOOKUP单列模糊查找
=SUBSTITUTE(VLOOKUP("*套*",TRIM(MID(SUBSTITUTE(A2," ",REPT(" ",99)),99*{0;1;2;3;4}+1,99)),1,0),"※"," ")
复制代码
[attach]61034[/attach]
【函数分列】+【Vlookup单列查找】的案例,可参考疑难千寻千解丛书《Excel 2013函数与公式》疑难136 如何将一个单元格内多个“字段”与内容进行分离
作者:
wuwu20022
时间:
2019-2-27 14:45
学习
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3