日常使用 EXCEL 过程中,经常遇到需要批量截取某个字符串中间的特定内容,比如:
需求:
输出 placement 的参数值,也就是 m.olx.ro
解决方案
从文本字符串中指定的位置开始,返回指定长度的字符串
=MID(B2,FIND(“&placement=”,B2,1)+15,FIND(“@”,SUBSTITUTE(B2,“&”,“@”,LEN(B2)-LEN(SUBSTITUTE(B2,“&”,“”))),1)-FIND(“&placement=”,B2,1)-15)
思路解析
=MID(字符串,开始位置,字符个数)
=MID(B2,"m"所在位置,"o"所在位置-"m"所在位置)
=MID(B2,"&placement=“所在位置+15,”&“最后一次出现的位置-(”&placement="所在位置+15))
如何查找字符最后在字符串中出现的位置?
1、了解 FIND 函数和 SUBSTITUTE 函数的参数含义
FIND(要查找的文本,被查找的文本,[开始的位置])
SUBSTITUTE(字符串,原字符串,新字符串,[替换序号])
2、获取需要查找的字符串出现了几次(最后出现的次数序号=一共出现的次数)
LEN(B2)-LEN(SUBSTITUTE(B2,“&”,“”))
3、将最后一次出现的字符替换为新字符
SUBSTITUTE(B2,“&”,“@”,第2步公式)
4、找到新字符的位置(即所查字符最后一次出现的位置)
FIND(“@”,第3步公式,1)