函数进阶应用1
VLOOKUP函数
返回多列结果
通过混合引用,match函数查找以及Vlookup函数,使用填充柄拖拽行列填充
操作演示:
说明
-
首先我们可以写一个普通的VLOOKUP函数
-
通过match函数找到要填充的符合条件的内容所在单元格的位置
-
在拖拽时,分析哪些需要绝对引用,哪些需要混合引用,这里请参考九九乘法表的引用方式
例如,我们在进行行上的拖拽时要保证客户ID始终在A列,所以我们在A前面加上美元符号($);
而利用match函数查找时,查找内容始终在第一行,所以我们在1前面加上美元符号($)
-
如果在以后的工作中出现类似的要求可以拿来直接用
多条件匹配
通过添加辅助列的形式形式完成Vlookup函数查询填充
操作演示:
说明
- 这里添加的辅助列时通过&符号连接原数据的第一列和第二列得到的
- 以辅助列为线索,进行vlookup函数查询填充
- 为了展示的美观,点击辅佐列所在单元格——右击,隐藏;把辅助列隐藏起来
- 我们这里是强制使用vlookup函数来进行多条件查询,但是进行多条件查询有专门的函数即lookup函数
部分匹配
使用vlookup函数进行查询时线索如果是简称时,我们就使用到了通配符*
操作演示:
说明
- 如果线索的简称取自前n个字,可以直接在线索后面加入“&"*"”即可
- 如果线索的简称取中间的n个字,可以直接在线索颜面和后面加入通配符*,并用英文引号引起来,然后加入字符连接符号&
SUBTOTAL函数
基础
-
初识
-
区别
SUM(金额列) SUBTOTAL(9,金额列) SUBTOTAL(109,金额列) 全部金额 √ √ √ 筛选金额 × √ √ 隐藏金额 × × √
应用
-
场景1:Subtotal制作动态报表
操作演示:
说明
- 制作一个二维柱状图表
- 将区域转换为表格
- 插入切片器,勾选“所属地区”
- 灵活使用SUM函数和SUBTOTAL函数
-
场景2:Subtotal实战-创建连续编号
操作演示:
说明
-
不连续区域中筛选后显示连续编号
-
这里用到了Subtotal函数的计数功能(COUNTA)
-
注意绝对引用和相对引用
-
Subtotal函数是一个统计函数,会把最后一行数据当作汇总项,导致筛选出错;
解决方法是添加筛选时将含有Subtotal函数的填充列(编号列)忽略即可
-
INDIRECT函数
基础
-
在空白单元格内输入“=A1”,则显示A1单元格里的内容;
-
在空白单元格内输入“A1”,则显示A1;为了能够引用A1单元格的内容,我们在"A1"外面包上INDIRECT函数,并在最前面输入“=”。
技巧:在使用INDIRECT函数激活引用时,我们先使用上述方法一引用单元格的内容;通过找规律的形式看一下哪些时变化的哪些是不变的;我们把不变的内容使用英文双引号引起来并使用字符串连接符&连接变化的部分,最后包上INDIRECT函数;例如下图是所示,变化的是“一月,二月”,不变的是“!B5”
test:上述举例是每个月的总计金额均在B5单元格当中,那么如果每个月的总计金额在哪个单元格是不固定的又该如何操作?(这时需要配合VLookup函数)
应用
-
场景1:Indirect与Vlookup跨表查询
操作演示:
说明
- 示例数据是按照不同部门来登记员工信息的
- 不变的部分是:!B:F列
- 变化的部分是:部门名称
-
场景2:indirect函数跨表的常见错误
操作演示:
说明
- 引用单元格内容含有特殊符号的解决方法
- 建议不管有无特殊符合都在INDIRECT函数时使用本方法输入