关于Excel中MID函数的用法(求取某字符和某字符之间的若干字符)

utm_source=baidu01&tm_medium=ibyer&utm_term=youyihang&utm_content=huangtt&tm_campaign... utm_source=baidu01&tm_medium=ibyer&utm_term=youyihang&utm_content=huangtt&tm_campaign=chenlin
把上面这类链接,截断成这个效果:
baidu01 ibyer youyihang huangtt chenlin

各位爱因斯坦,求解个公式。
下面是我要提取的东西,我要提取EF%BC%89%E5这类型的内容。
utm_source=baidu01&tm_medium=ibyer&utm_term=P-%EF%BC%88%E9%83%91%EF%BC%89%E5%8C%BB%E9%99%A2%EF%BC%88%E7%89%99%E7%A7%91%EF%BC%89&utm_content=%E7%89%99%E7%A7%91(%E5%93%AA%E5%AE%B6)&tm_campaign=%E9%83%91%E5%B7%9E%E7%89%99%E7%A7%91%E5%8C%BB%E9%99%A2%E5%93%AA%E5%AE%B6%E5%A5%BD
展开
 我来答
琴俊贺楼Rl
推荐于2016-04-25 · TA获得超过4721个赞
知道小有建树答主
回答量:1174
采纳率:57%
帮助的人:363万
展开全部

同学,给你做了个例子,一条公式即可完成。

如图

在B1输入 =TRIM(LEFT(SUBSTITUTE(MID(SUBSTITUTE($A1,"=",REPT(" ",99)),COLUMN(A1)*99,99),"&",REPT(" ",99)),99))

右拉即可


既然你修改了问题,公式改为

=TRIM(LEFT(SUBSTITUTE(MID(SUBSTITUTE($A1,"=",REPT(" ",999)),COLUMN(A1)*999,999),"&",REPT(" ",999)),999))

一直向右拉,直接拉出空白单元格为止。

追问
您的这个方法用在我的原数据上面会把数据给拆分了,我把补充了提问,您看看
追答

=TRIM(LEFT(SUBSTITUTE(MID(SUBSTITUTE($A1,"=",REPT(" ",999)),COLUMN(A1)*999,999),"&",REPT(" ",999)),999))

一直向右拉,直接拉出空白单元格为止。

一共提取了5段内容

TableDI
2024-07-18 广告
在上海悉息信息科技有限公司,我们深知Excel在数据处理中的重要作用。在Excel中引用不同工作表(sheet)的数据是常见的操作,这有助于整合和分析跨多个工作表的信息。通过在工作表名称前加上感叹号“!”,您可以轻松地引用其他工作表中的数据... 点击进入详情页
本回答由TableDI提供
真真真白丁
推荐于2016-03-22 · TA获得超过8517个赞
知道大有可为答主
回答量:4644
采纳率:85%
帮助的人:1689万
展开全部

我用了三组公式解决,见附件和下方描述。

假设原来所有的字符都在A列,同一个字符串里字符=和&最多出现10次(如果有可能出现更多,则则在附件有颜色部分自行对应添加几列,并拖拽复制公式即可)。

 

橘色部分罗列“=”符号出现的位置:

B1写入公式:=IF(ISERROR(SEARCH("=",$A2,1)),"",SEARCH("=",$A2,1))

C1写入公式:=IF(ISERROR(SEARCH("=",$A2,B2+1)),"",SEARCH("=",$A2,B2+1)),并向右拖拽复制到K1

 

黄色部分罗列“&”符号出现的位置:

L1写入公式:=IF(ISERROR(SEARCH("&",$A2,1)),"",SEARCH("&",$A2,1))

M1写入公式=IF(ISERROR(SEARCH("&",$A2,L2+1)),"",SEARCH("&",$A2,L2+1)),并向右拖拽复制到U1

 

绿色部分实现你的要求,罗列找到的字符:

V1写入公式:=IF(L2<>"",MID($A2,B2+1,L2-B2-1),IF(B2<>"",RIGHT($A2,LEN($A2)-B2),"")),并向右拖拽复制到AE1。

 

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leon01314e7709
推荐于2018-03-07 · TA获得超过9319个赞
知道大有可为答主
回答量:6761
采纳率:61%
帮助的人:2453万
展开全部
提取 BAIDU01
=MID(A1,FIND("=",A1)+1,FIND("&",A1)-FIND("=",A1)-1)

提取 ibyer
=MID(A1,FIND("々",SUBSTITUTE(A1,"=","々",2))+1,FIND("々",SUBSTITUTE(A1,"&","々",2))-FIND("々",SUBSTITUTE(A1,"=","々",2))-1)

提取 youyihang
=MID(A1,FIND("々",SUBSTITUTE(A1,"=","々",3))+1,FIND("々",SUBSTITUTE(A1,"&","々",3))-FIND("々",SUBSTITUTE(A1,"=","々",3))-1)

其他的将公式中的3改成4,5,6即可
追问
用您的方法试了下,可行,但就差最后一个5会#VALUE!,我把问题补充了,您看看有什么好的解决方法
追答
=MID(A1,FIND("々",SUBSTITUTE(A1,"=","々",5))+1,99)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fw...e@163.com
2014-04-23 · 贡献了超过103个回答
知道答主
回答量:103
采纳率:0%
帮助的人:22.5万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wanghuo201310
2014-04-23
知道答主
回答量:4
采纳率:0%
帮助的人:5374
展开全部
用replace进行替换。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式