返回信息流最近遇到一个问题,要实现去掉最外层括号里的字符,比如:
123(456(789))abc去掉456(789)
123(456)abc去掉456
最多有3层括号,最少有一层括号;最外层括号右边的字符串长度不定;
我用FIND()函数获取第一个“(”的位置,用LEAF()函数得到第一个“(”前的字符串,想用RIGHT()得到最后一个“)”后的字符串,最后一个“)”的位置我想不到办法得到,我觉得其实也就是题目所说的问题。。。。
请牛人帮忙!!
万分感谢!!
这是一条镜像帖。来源:北邮人论坛 / office-tool / #27586同步于 2010/3/5
该镜像源已超过 30 天没有更新,可能在源站已被删除。
OfficeTool机器人发帖
【请教】怎样实现EXCEL单元格里从右往左查找匹配字符串
Greatdu
2010/3/5镜像同步15 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
不一定要用函数呀
用替换先把 )) 替换成 )
然后把(*) 替换成 空
【 在 Greatdu (小卒子) 的大作中提到: 】
: 最近遇到一个问题,要实现去掉最外层括号里的字符,比如:
: 123(456(789))abc去掉456(789)
: 123(456)abc去掉456
: ...................
【 在 xiongQQ 的大作中提到: 】
: 不一定要用函数呀
: 用替换先把 )) 替换成 )
: 然后把(*) 替换成 空
也有可能是123(456(9)78)格式
我要做成自动完成一些功能的小工具,想用公式实现。
你的括号最多嵌套几层?
【 在 Greatdu (小卒子) 的大作中提到: 】
: 也有可能是123(456(9)78)格式
: 我要做成自动完成一些功能的小工具,想用公式实现。
123(456)abc
)后面可能还有东西
【 在 picture (【天山南北】-我是爱学习的Picture) 的大作中提到: 】
: 直接把 (* 替换为空呗
最后一个)可以这么取
=FIND("@",SUBSTITUTE(A1,")","@",LEN(A1)-LEN(SUBSTITUTE(A1,")"))))
其中"@"选择一个原串中没有的字符
你要的效果就是
=REPLACE(A1,FIND("(",A1),FIND("@",SUBSTITUTE(A1,")","@",LEN(A1)-LEN(SUBSTITUTE(A1,")",""))))-FIND("(",A1)+1,"")
【 在 Greatdu (小卒子) 的大作中提到: 】
最近遇到一个问题,要实现去掉最外层括号里的字符,比如:
123(456(789))abc去掉456(789)
123(456)abc去掉456
最多有3层括号,最少有一层括号;最外层括号右边的字符串长度不定;
我用FIND()函数获取第一个“(”的位置,用LEAF()函数得到第一个“(”前的字符串,想用RIGHT()得到最后一个“)”后的字符串,最后一个“)”的位置我想不到办法得到,我觉得其实也就是题目所说的问题。。。。
请牛人帮忙!!
万分感谢!!