搜索
查看: 2486|回复: 0

Excel 公式——从路径中提取文件名

[复制链接]

977

主题

1093

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
15934
发表于 2018-8-26 22:38:32 | 显示全部楼层 |阅读模式

最近想认真学一下Excel,虽然以前不是完全没有学过,但由于工作越来越忙,也越来越觉得必须用某种更加自动化的工具来更有效率的解决一些问题,而Excel似乎可以帮上这个忙,于是买了一本《中文版Excel2010宝典》来学习,同时下载了“Excel 2013 Bible”,从内容上看,两本书的内容差异并不大,也就是说这两个版本的软件差异也并不大,但“Excel 2013 Bible”中对一些在2013版里已经废止的功能还有介绍,比如创建工作区文件功能,表明2013版的宝典大部分内容是直接引用的2010版宝典,而且还没有彻底校对,对于2013版Excel中已经废止的内容可能参考以下网页内容:http://office.microsoft.com/zh-cn/excel-help/HA102919713.aspx,一共13项,以Excel的众多功能来看,变化其实并不大。
言归正传,本文只是对自己在学习过程中感觉不大容易看懂的内容做一个记录,所以并不全面,也不是专业的讲解,只是如果碰巧能帮到别人倒也是件好事,同时自己以后再温习或是参考也比较方便,以后如果还有相关内容也同样如此。
今天看到书193页,介绍了一个从路径中提取文件名的公式,比如单元格A1中包含“c:\windows\important\myfile.xlsx”这样的文件路径信息,用此公式将返回“myfile.xlsx”,公式内容具体如下:
=MID(A1,FIND("*",SUBSTITUTE(A1,"\","*",LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))+1,LEN(A1))
这个公式一般人不好好想想可能并不容易弄得懂,要弄懂它就先要弄清楚SUBSTITUTE、FIND、MID、LEN四个函数的用处。
SUBSTITUE是用来替换已知字符串中某些字符串的函数,SUBSTITUTE函数有4个参数,第1个参数为要替换其中内容的字符串,第2个参数是将要被替换的字符串,第3个参数是将要以之替换的字符串,第4个参数是指定被替换的字符第几次出现的时候进行替换,比如SUBSTITUTE("abcdefghijxlmnoxqrstuvwxyz","x","2",3)表示将字符串“abcdefghijxlmnoxqrstuvwxyz”中的第三个“x”替换为“2”。本例中SUBSTITUTE(A1,"\","*",LEN(A1)-LEN(SUBSTITUTE(A1,"\","")))是将A1单元格中的字符串中最后一个“\”号替换为“*”号。
LEN函数的功能是返回字符串的字符数,LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))+1中Excel先会计算两个字符数,一是A1单元格中的字符数,二是A1单元格中的字符串去掉“\”后的字符数,即找出A1字符串中有多少个“\”号。
FIND函数是找出字符串中某字符或字符串出现的位置,比如FIND("x","abcdefghijxlmnoxqrstuvwxyz",13)表示从第13个字符开始找出字符串“abcdefghijxlmnoxqrstuvwxyz”中“x”第一次出现的位置。
由上可知,本例中FIND("*",SUBSTITUTE(A1,"\","*",LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))的目的就是指出路径文本中最后一个“\”号所在的位置(即最后一个“\”号被“*”号替换后,这个“*”号在字符串中的位置)。
MID函数的功能是返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定。比如公式MID("abcdefghijxlmnoxqrstuvwxyz",15,5)表示从字符串“abcdefghijxlmnoxqrstuvwxyz”的第15个字符开始,返回5个字符,如果要返回的字符大于等于起始位置开始的剩余字符,则会返回剩余的所有字符。若设定的起始位置大于字符串长度则会返回一个空文本。在本例中,最后一个“\”之后的所有字符就是要返回的文件名,所以要在找出的最后一个“\”号的位置加1作为MID函数返回字符串的起始位置,而最后的LEN(A1)参数是指定函数返回所有剩余的字符,因为LEN(A1)函数返回的是整个字符串长度,必然大于等于要返回的文件名的字符串长度。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

表格智创网

网站简介:表格智创网,是一家以表格设计和技能分享的专业社区,由会计帮帮网投资建设,尽专业,助提高专业技能。

表格智创网欢迎您!

联系我们

  • 工作时间:早上9:00-16:00
  • 客服电话:18668755857
  • 本站网址:www.excelwps.com
  • 淘宝店址:kjbbw.taobao.com

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表