excel中判断字符并删除无用的内容(回答满意追加你满意的分)[办公软件 编程 语言 问题]

来源:百度知道 编辑:UC知道 时间:2024/05/27 04:22:37
比如一个连接在B1中
g:\001\人物名称\200707以前\20060810\后果法\后果法恢复感\需要文件.ppt
我要做的结果是把‘需要文件.ppt’复制到C1中。
* 一般‘需要文件.ppt’是在最后个‘\’中
(TO:foolmancjh,我试了下不可以啊,帮下啊,急用 )
我把问题简化
在B1中原来是 g:\001\人物名称\200707以前\20060810\后果法\后果法恢复感\需要文件.ppt
结果是 需要文件.ppt
我希望这条公式可以下拉,要不然一个一个删除前面的路径很麻烦,谢谢各位

假如数据在b1,(如果不在b1,须将公式中的b1全部替换)
那么在任意位置写入以下公式:
=MID(B1,FIND("*",SUBSTITUTE(B1,"\","*",COUNT(IF(MID(B1,ROW(INDIRECT("1:"&LEN(B1))),1)="\",1,""))))+1,LEN(B1))
注意公式很长,不明白百度为什么没有自动换行
然后同时按:“Ctrl+shift+Enter”(这一步很重要)
就可以了。
可以满足你说的提取最后一个出现的“\”后的文本

不好意思,excel2003以下的版本嵌套不能超过7层
你可以分解成两部分
在c1写入公式:
=COUNT(IF(MID(B1,ROW(INDIRECT("1:"&LEN(B1))),1)="\",1,""))
按住“Ctrl+shift”不放,再按“Enter”
然后在d1写入:
=MID(B1,FIND("*",SUBSTITUTE(B1,"\","*",c1))+1,LEN(B1))
直接按“Enter”

如果所有的数据都在b列
那么同时下拉c1和d1就可以了
如果不是可以使用绝对引用列