想将某个文件夹所包含的文件的文件名提取出来,放在工作表中作为他用。如果一个一个地录入或用复制粘贴的办法都是非常费事的。其实,只需要FILE、INDEX这两个函数配合使用,文件名的提取就是小事一桩。
首先,打开Excel文件,切换到“公式”选项卡,点击“定义名称→定义名称”,在弹出窗口名称处输入“获取文件名”(当然,这个名称可以根据自己的需要来起),在引用位置处输入“=files("D:mazhenan123培训内容*.*")”,注意:函数中的引号为英文引号,引号中的内容为所要获取文件名所在文件夹的绝对路径(图1)。
![4b24a2d61bd97cd26f461bb91ee8984c.png](https://i-blog.csdnimg.cn/blog_migrate/f286568fbb31e1763a798b587c5fbd0a.jpeg)
小提示:
(1) FILES函数的语法格式:FILES(directory_text)。其中directory_text指定从哪一个目录中返回文件名,它必须是绝对路径;同时,directory_text接受通配符问号?和星号*,?号是指匹配任意单个字符,*号匹配任意字符序列,比如directory_text如果是“D:mazhenan123培训内容*.doc”,则表示返回扩展名是“.doc”的Word文档。
⑵ 关于directory_text的输入,可以打开所要获取文件名所在的文件夹,在文件夹的地址栏单击,这样就将文件夹的绝对路径选中了,按下CTRL+C进行复制,然后进行粘贴就可以了(图2)。
![e2c59a92f50247dd19763aa625147bb8.png](https://i-blog.csdnimg.cn/blog_migrate/7e1ef4f415e1fa16faeacfa44ef9792e.jpeg)
接下来,在工作表A2单元格中输入“=INDEX(获取文件名,ROW(A1))”,然后下拉,直到取完为止,即出现错误值。这样,就获取了“D:mazhenan123培训内容”文件夹下的所有文件(图3)。
![b9332a62ed792ef1d23573fdfbdd0e72.png](https://i-blog.csdnimg.cn/blog_migrate/8746cecdf7d3e13851bab579746fa0ce.jpeg)
注意:如果名称引用位置处输入的是“=files("D:mazhenan123培训内容用户*.*")”,则只能提取文件名开头包含“用户”两个字的所有文件(图4)。
![3061493ef30d82d5b4b7810ce9acc9c6.png](https://i-blog.csdnimg.cn/blog_migrate/7e3badd66ba6bd81f97610b124ecf048.jpeg)
当然,提取出的文件名还可以用MID、LEN等函数,提取出不包含扩展名的纯文件名来。如在B2单元格中输入“=MID(A2,1,LEN(A2)-4)”,向下拖动填充,这样所需要的纯文件名就提取出来了(图5)。
![da818748b7114295aad2f163b1929b95.png](https://i-blog.csdnimg.cn/blog_migrate/77c0cae6368f5987997599744aa64fe5.jpeg)
![8c898240637ee9006376ea8438e91c1b.png](https://i-blog.csdnimg.cn/blog_migrate/17b6f1b5824b50dd9505e1f402abd903.jpeg)