为什么你的加班在老板眼里一文不值?因为宏表函数3秒就可以解决【Excel教程】
之前的教程中跟大家分享过使用宏表函数EVALUATE快速完成包裹体积计算的案例。案例中我们体验到了宏表函数的魅力。原本需要多个文本函数来解决处理的问题,被EVALUATE宏表函数轻松击破。
今天我们就跟大家一起罗列一下几个常用的宏表函数使用案例,相信你会大吃一惊的哦!
首先我们要理解宏表函数到底是什么函数。宏表函数是早期低版本excel中使用的,现在已由VBA顶替它的功能;但仍可以在工作表中使用,不过只能在"定义的名称"(菜单:插入—名称—定义)中使用;还有极少数的宏表函数使用后不会自动改变,而需要按快捷键更新。
1、get.workbook宏表函数
函数语法为get.workbook(type_num,name_text),即提取工作表信息,参数type_num表示提取的类型编号,name_text表示是打开的工作表名称,如果省略则表示当前活动工作簿
参数type_num包含的代码较多,我们主要使用的是1,表示“正文值的水平数组,返回工作簿中所有工作表的名称”
举例:
下表是某公司产品型号明细表,汇总表A列是工作表名称,现在需将工作表名称提取放置在A列。
第一步:单击【公式】选项中的【名称管理】。
第二步:单击【新建】打开【新建名称对话框】,输入名称以及引用位置。
第三步:单击【确定】后我们可以在【名称管理器】中看到刚刚添加的一条记录,单击关闭。
第四步:在汇总表A2单元格中输入函数公式=INDEX(名称,ROW(A1)),通过INDEX引用之前定义的宏函数。ROW(A1)目的是为了INDEX函数的第二个参数随之向下填充而变化,这样我们就能依次提取第1、2、3、4……N个工作表的名称。
我们还可以通过=TRANSPOSE(名称)公式来完成。选中A2:A10单元格区域后输入=TRANSPOSE(名称):
然后使用数组公式快捷键ctrl+shift+enter即可完成提取。
2、get.cell宏表函数
函数语法为get.cell(Type_num, Reference), Type_num指明单元格信息的类型,范围为1-66。Reference为引用的单元格或区域。经常使用的是63,63 返回单元格的填充背景颜色。
下表数据存在3种不同的背景填充颜色,现在需要通过宏表函数将颜色编号统计出来,最后通过编号完成按颜色求和。
第一步:打开名称管理器,在【新建名称】对话框中输入名称YS(颜色),引用位置=GET.CELL(63,WW!$D2)。63表示提取单元格背景填充颜色。
注意:在引用单元格时必须锁定列,输入$D2。
第二步:单击【确定】关闭名称管理器,在E2单元格输入=YS后向下填充,可以看到每一种颜色均由不同编号标识。
第三步:最后通过sumif函数求和即可。如下所示:
3、EVALUATE宏表函数
EVALUATE用于统计引用单元格中以文本形式表示的算术表达式的值。
举例:
下表中G列数据为包裹的长宽高数据,现在需要根据G列数据统计包裹体积。
第一步:打开【名称管理器】新建一条名称记录如下:
第二步:单击【确定】关闭名称管理器,在H2单元格输入=体积,向下填充即可。
4、GET.FORMULA函数
GET.FORMULA作用是返回引用单元格内的公式。
函数语法:GET.FORMULA(reference),reference:指定引用的单元格。GET.FORMULA宏表函数使用以R1C1样式返回结果。(这句话文章后面会解释)
举例:
上图是某员工通过函数公式计算包裹体积。现在需要将K列的公式提取出来并以文本形式显示。
第一步:选中K列数据区域,打开【名称管理器】,新建一个MM的名称记录,引用位置为:
=GET.FORMULA(GET.FORMULA!$K$2:$K$10)
第二步:单击【确定】关闭名称管理器后L2单元格中输入=MM即可显示K2单元格中所使用的函数公式。
大家看到公式中的[RC-4]是不是有点疑问?其实这是单元格引用的另一种表示形式——R1C1形式,R后面的数字表示行数,C后面的数字表示列数。
不加“[]”的数字表示的是从第一行(列)数起的第几行(列);
加“[]”的数字表示从公式所在单元格算起,行位置向上或下移动的行数,列位置向左或向右移动的列数。
比如:rc[-3]*rc[-2]表示当前单元格(公式所在单元格)向左移动3格所在单元格的数值,乘以当前单元格向左移动2格所在单元格的数值。
本例中的RC-4表示K2单元格向左数第四列。
5、GET.DOCUMENT宏表函数
GET.DOCUMENT用于按照指定信息类型返回名称。
GET.DOCUMENT函数语法:
GET.DOCUMENT(type_num, name_text),type_num:指明信息类型的数字,一共有88中数字代码表示88种类型。
通常使用GET.DOCUMENT(76)和GET.DOCUMENT(88)来返回活动工作表和活动工作簿的文件名。
举例:
第一步:打开【名称管理器】新建一条名称记录。我们设置名称为MC,引用位置为=GET.DOCUMENT(76),单击【确定】后关闭【名称管理器】。
第二步:在任意单元跟中输入=MC后即可返回当前工作表名称。
6、FILES宏表函数
FILES宏表函数的作用是返回指定目录下的文件名,FILES宏表函数以一维数组的形式返回结果。
FILES函数语法:FILES(path),path:指定从哪一个目录中返回文件名。
path接受通配符,问号 (?) 和星号 (*)。问号匹配任意单个字符;星号匹配任意字符序列。
举例:
我们现在要返回本计算机C盘下的所有文件名称。
第一步:打开【名称管理器】,【新建名称】对话框中输入名称为CP,引用位置为:=FILES("C:\*.*")。其中"C:\*.*"就表示路径C盘下的所有带后缀的文件,星号通配符表示所有,不包含文件夹。
第二步:关闭【名称管理器】,在A1单元格输入=INDEX(CP,ROW(A1))后向下填充。
与C盘文件对比完全一致。
好了今天我就跟大家分享这6个常用的宏表函数,其实宏表函数虽然陌生但是使用起来还是相当的简单的哦!比起我们常规的函数嵌套要容易很多,这么简单而且用处大大的宏表函数大家一定要学会哦!也许会帮你大忙!希望大家可以自己尝试操作!
想要全面系统学习Excel,不妨关注部落窝教育《一周Excel直通车》视频课或者《Excel极速贯通班》直播培训。
《一周Excel直通车》视频课
包含Excel技巧、函数公式、
数据透视表、图表。
一次购买,永久学习。
最实用接地气的Excel视频课
《一周Excel直通车》
风趣易懂,快速高效,带您7天学会Excel
38 节视频大课
(已更新完毕,可永久学习)
理论+实操一应俱全
主讲老师: 滴答
Excel技术大神,资深培训师;
课程粉丝100万+;
开发有《Excel小白脱白系列课》
《Excel极速贯通班》。
原价299元
限时特价 99 元,随时涨价
少喝两杯咖啡,少吃两袋零食
就能习得受用一生的Excel职场技能!