一篇文章带你玩转冷门但实用的宏表函数,Excel进阶必会!
什么是宏表函数?常用宏表函数的应用!
什么是宏表函数也许你用过很多类型的函数,但是对于宏表函数,可能觉得很陌生,很难学。
什么是宏表函数?
有哪些宏表函数?
都有什么功能?
为什么要学习它呢?
宏表函数是个“老古董”,实际上是现在广泛使用的VBA的“前身”。
虽然后来的各版本已经不再使用它,但还能支持,可以实现现有版本的函数或技巧无法完成的功能。
宏表函数的最“原始”的使用是要建立一个“宏表”(类似于现在的VBE),在宏表中写下宏代码,然后运行。
在现在各版本的Excel中,按组合键【Ctrl+F11】就可建立这样一个“宏表”,或者在工作表标签右键单击“插入”,选择“MS Excel 4.0宏表”,如图3-13-32所示。
图3-13-32
关于宏表函数有几点规则和问题如下
(1)在公式中使用宏表函数,最重要的一点就是:不能在公式中直接使用,而必须定义成名称。
(2)很多(不是全部)的宏表函数即使按F9键也不能自动更新,而必须按组合键【Alt+Ctrl+F9】才能更新。
解决办法:在定义名称时加入一个易失函数,利用其易失性强迫结果更新。例如,定义X=GET.CELL(63,A1),当背景颜色改变时,公式结果不能自动更新,必须按组合键【Alt+Ctrl+F9】才能更新。
而如果定义为X=GET.CELL(63,A1)&T(NOW()),则只需按F9键或激活当前工作表的任一单元格即可以立即更新。
连接的易失函数有多种形式,除了上面的例子,还有&T(RAND())<适用文本>、+TODAY()*0<适用数值>等。
(3)宏表函数对公式长度有限制。特别是EVALUATE,它的长度限制为251字符。在对长公式求值的时候这点往往不能满足要求。
其他一些函数对数量也有一些限制。如FILES()函数只能显示256个文件。
(4)最后就是速度问题。宏表函数的运行速度是比较慢的,这在应用时应予注意。
常用宏表函数的应用1.最常用的宏表函数GET.CELL
语法:
GET.CELL(type_num,reference)
type_num指明单元格中信息的类型。
reference是提供信息的单元格或单元格范围,参数形式为[ABC.XLS]sheet1!A1。
如果引用的是单元格范围,使用引用中第一个范围的左上角的单元格。
如果引用被省略,默认为活动单元格。
2.计算文本算式的宏表函数EVALUATE
如图3-13-33所示,文本算式如何计算呢?
单击菜单公式→名称管理器,定义名称“计算”,如图3-13-34所示。
图3-13-33
图3-13-34
在B1输入公式=计算,单击B1单元格右下角+,就可以自动计算A列其他单元格文本算式的结果,如图3-13-35所示。
这个问题也可以不用宏表函数解决,我们在C列输入=,再用&合并C列和A列,D1公式为=C1&A1,如图3-13-36所示,D列公式复制,选择性粘贴数值到E列,如图3-13-37所示。
图3-13-35
图3-13-36
图3-13-37
单击菜单数据→分列,按照默认的一步步操作,最后一步选择默认的常规,就可以得到结果,如图3-13-38所示。
图3-13-38
3.获取工作簿的信息GET.WORKBOOK
一个工作簿有多张工作表,为了查看方便,建立目录工作表,提取所有工作表名称,定义名称如图3-13-39所示。
图3-13-39