日常工作中总遇到一些奇葩的难题,如题要求的,怎么样才能批量提取文件夹中的文件名到Excel表中呢?
思考一分钟……
下面看操作:
1、打开Excel文件,然后根据下面箭头所示,点击相应按钮
![3ca309aed2271616e2e5182cb2fcf922.png](https://i-blog.csdnimg.cn/blog_migrate/899352ac93fa0672543af976f38881bf.jpeg)
2、这里重点讲下名称框要求
![a05d5c96621c22f269d6bc8c97ef0a93.png](https://i-blog.csdnimg.cn/blog_migrate/1fcaf3976ead455d08a934d9a0aae6ee.jpeg)
名称这个没有要求,随你喜好,最好别太长,因为后面的工作会用到,太长不方便输入,引用位置这里用到了宏表函数files()函数,其语法如下:
FILES函数语法:FILES(directory_text)
directory_text:指定从哪一个目录中返回文件名
directory_text接受通配符问号?和星号*,问号是指匹配任意单个字符,星号匹配任意字符序列,如果要匹配问号和星号本身,请在该字符前面加入波形符~,如果directory_text没有指定,则函数返回活动工作薄所在目录下的所有文件名。
3、那么返回到本题中,我们的文件位置如下所示(C:甥敳獲AdministratorDesktop员工照片)
![9355823064c294f29de0c007b8102f1b.png](https://i-blog.csdnimg.cn/blog_migrate/d7de10f51cf03f4bde233ebc0058dcc6.jpeg)
4、所以完整的引用位置应如下:
![767de6bea538e52f225c4eb5e7cd55b4.png](https://i-blog.csdnimg.cn/blog_migrate/5261dc8a7bf75c6ff40c7b639b1bc213.jpeg)
注意:这里我用了通配符*.*,第一个星号是指任意长度的文件名,第二个星号是指任意格式的文件格式(当然本题这里只有JPG格式的图片),还需要注意的是整个路径一定要用双引号括起来(即:"文件的完整路径+文件本身")
5、这样我们在A1单元格中输入公式=INDEX(员工,ROW(A1)),然后下拉,直到取完为止(即出现错误值)
![417ce69881318d8c281f823eb3c8210d.png](https://i-blog.csdnimg.cn/blog_migrate/10dd7a95da08ca975e6350b56aa29ef9.jpeg)
6、上一步中使用了index()函数,这里作下简单说明
INDEX(array,row_num,column_num)
Array是一个单元格区域或数组常量,本题中即为定义的名称“员工”;
· 如果数组中只包含一行或一列,则可以不使用相应的 row_num 或 column_num 参数;
· 如果数组中包含多个行和列,但只使用了 row_num 或 column_num,INDEX 将返回数组中整行或整列的数组;
Row_num用于选择要从中返回值的数组中的行。如果省略 row_num,则需要使用 column_num。本题中使用了Row()函数,使其能向下生成1开始的连续序号;
Column_num用于选择要从中返回值的数组中的列。如果省略 column_num,则需要使用 row_num。本题为省略用法。
好了,今天就和大家分享到这里了,喜欢的朋友转发、关注并分享