除了我们常用的if,sum函数外,excel还提供了一种特殊的函数——宏表函数。
宏表函数,故名思意,它只能在启动宏的表格中使用。所以我们第一步就是新建一个excel,然后右键—》另存为—》其它格式-》保存为启动宏的工作簿
做好了准备工作,我们来正式讲讲怎么启动
首先我们点击公式-名称管理器
点击“新建”即可新建宏表函数。
了解完怎么进入宏表函数后,下面正式进入正题,给大家分享两个常用的宏表函数。
一、evaluate
这个函数,用于自动把计算过程转化成计算结果。
举个栗子。比如我要在第二列写下计算过程,第三列出结果。
我们先选中c2单元格,然后进入名称管理器。
我们可以随便输入一个名称,比如求和的拼音缩写。然后键入“evaluate”,括号内选中B2(可以加一个$,防止往右移动)。
然后我在C2单元格输入“=qh”,他就会自动计算B2单元格的结果了。
为啥2不加固定符号,因为待会我要下拉下去,要让列自动填充下去。
效果如下。通过evaluate,可以创建一个简单的计算书了。
再说第二个函数。
二、files
files函数,是用于返回文件夹内所有文件名(好像不支持返回文件夹)的一个函数。
假设我要把单个文件夹下面的所有文件名复制下来丢excel,然后创建超链接,变成一个管理目录。
首先,找到那个文件夹,在我文件管理器上面复制它的路径。
比如,我想知道桌面001目录下有哪些文件。
复制路径到excel单元格,比如丢A1单元格。
然,如果你只想要某种类型的文件名,你可以把他的后缀写上去,利用通配符去匹配文件名。
比如“C:\Users\37104\Desktop\001\*.xlsx”,就是查看D目录下所有的表格文件。
比如“C:\Users\37104\Desktop\001\*.*”,就是查看D目录下所有的表格文件。
复习一下,* 代表n个任意字符。? 代表一个任意字符。# 代表一个任意数字。
将路径写入到A1单元格后,我们在名称管理器创建一个files函数的新名称。
然后,老套路,在任意位置的单元格输入“=file”
为啥这次是可以任意位置了,因为A1单元格通过两个固定符号,被固定死了,所以你填任意位置,它都是只针对A1单元格。
接输入函数名称,返回了第一个文件名“001.xlsx",下拉一下,结果还是第一个文件名,这是怎么回事。
原来,files函数是返回改文件夹下所有的文件名,它的返回值一个数组(多个数据的组合。类似数学的排列),如果直接引用数组,它默认返回值就是数组第一个值。
那我该怎么提取数组里面的值呢?
这里要用到一个函数,index,索引函数,它通过行,列值,返回一段区域,或者数组的值。
这样的话,我们可以通过"=index(file,1)"返回数组的第一个值。
"=index(file,n)",返回数组的第n个值了。
当然,直接下拉,数字是不会填充下去的,得自己手输。有没有更加简单的方法呢?
答案是有,row函数,用于计算单元格所在行。
我们把"=index(file,1)",改成"=index(file,row(A1))",然后依次下拉就可会自动填充了。
为啥6,7行报错了,因为Index查找的数值已经超过了数组的界限。数组只有6个,你强行让他找第7个,当然做不到了。
好了,今天的分享就到这里了。我们下期再见。
,