Excel(函数进阶篇):Vlookup函数进阶、TAKE嵌套SORE函数、SUBTOTAL函数、INDIRECT函数

目录

Vlookup函数返回多列结果

  • 如何根据客户ID返回多列信息?

  • 公式
  • 分析:首先Vlookup函数要查找的值,它的变化规律是:锁定的列改变行;其次,第三个参数返回的是一个索引,所以我们要嵌套一个Match函数;对于match函数来说,最重要的就是找第一个参数和第二个参数,1参数就是目标值,2参数是目标值所在的位置;因为列中,我们只要找固定的一行,所以,需要锁定行,改变列!

Vlookup函数多条件匹配

  • 如下列,查找的值需要满足两个条件,那怎么使用VLOOKUP函数呢?
  • 先新增一个辅助列
  • 然后用VLOOKUP函数查找这个值就行了!

=VLOOKUP(H4&I4,A:D,4,0)

  • 当然这题用 sumifs也能查找到

Vlookup函数部分匹配

  • 遇到要查找的数据和原表的数据不一致,要怎么操作?


  • 解决办法是,加上通配符一起使用:=VLOOKUP(A3&"*",客户信息表!B:E,4,0)


TAKE函数嵌套SORT函数,提取排序数据

  • 要求提取销售额前三和销售额最后三名的相关数据!
  • TAKE函数,参数:TAKE(array, rows, [columns])
    SORT函数,参数:SORT(array, [sort_index], [sort_order], [by_col
  • 首先take函数的第一个参数,我们应该是排序后的区域,不能直接选;所以应该嵌套一个SORT排序函数;第二个参数是我们所要提取的行数或者是列数,如果是正数的话,它就从上往下提,如果是负数的话就是从下往上提!

  • 公式 =TAKE(SORT(A2:D13,3,-1,FALSE),3)

  • 依次类推,倒数三名的只需要把参数修改一下即可!

公式 =TAKE(SORT(A2:D13,3,-1,FALSE),-3)

或者 =TAKE(SORT(A2:D13,3,1,FALSE),3)

SUBTOTAL函数:制作动态报表

  • subtotal函数来制作动态报表
  • subtotal 第一个参数是一些可够选择函数,但是他们所对应的序号,所达成的效果是不一样的。

(1)以求和函数为例,对当前数据源没有隐藏,没有筛选、三种的值是一样的!

(2)如果进行筛选,那么subtotal 参数9 和 109 都会计算当前筛选结果的和

(3)如果有隐藏,那么 subtotal 参数9 不变,109 会计算当前隐藏后筛选结果!

(4)由此可见,109即"百位的参数",对数据最为敏感,会跟着数据的变化而变化!它只统计当前数据源表面上的数据!

  • 计算两个数值:

地区销售总额 公式 =SUBTOTAL(9,表2[金额]) 这里用subtotal函数,这样点击切片器就会筛选相应的城市而发生变化!

地区销售占比 =SUBTOTAL(9,表2[金额])/SUM(表2[金额]) 比上一个不会跟随表面数据而变化的sum函数,即可求占比!

  • 最后进行一些优化

选定几列生成图表ALT N C1 ;先将表格转成超级表 ALT N T ;在选定列,插入切片器 ALT N CF ; 最后将切片器调整行列 ALT JO C ;最后 可以选择去掉网格线 ALT W VG

SUBTOTAL函数:创建连续编号

  • 最终效果:筛选之后,结果的编号也是按顺序的;实现不连续区域、产生连续编号!


  • 回顾一下单元格求和的累加形式:对"同一"单元格求和,锁定前一个参数!通过这种方式总是能够引用左侧上方的所有数据!
  • 所以可以借助COUNTA函数来自动生成一个序号,但是为了让函数对于筛选敏感的话我们需要用,SUBTOTAL函数来调用COUNTA!写法如下↓↓↓
  • 因为COUNTA函数本身就是一个统计函数,如果开启筛选,它会把最后一列给固定。因此我们在使用这个方法时,最好是不要把"自动生成编号"这一列选中、开启筛选!


INDIRECT函数

  • 作用:"间接引用"、激活单元格的引用状态;它可以帮助我助我跨表写公式,写函数!
  • 如何跨表引用,单元格相同位置的值,下图示例中每张表的总计都在相同的位置;想要把它引用到新的单元格做一个统计!


  • 公式 =INDIRECT(H2&"!B5")

Vlookup跨多表抓取数据

  • 解决"总计"不太同一列,用INDIRECT函数,如何操作;转变思路,我们用Vlookup函数去找"总计"这两个字;唯一变化的就是"1月份和2月份..."这些字,所以我们要用到indirect来间接引用即可!

  • 公式 =VLOOKUP("总计",INDIRECT(A2&"!A:B"),2,0)

  • 从不同的表中取值。如下图的示例,每个人都来自于不同的部门,然后要统一的查询到他的入职日期
  • 公式 =VLOOKUP(B2,INDIRECT(A2&"!B:F"),5,0)

INDIRECT函数常见跨表的错误

  • 对于某些表名还有特殊符号,直接用indirect函数,会导致错误,可以先给表面加上一组单引号 ' ' ,用&连接时,用双引号正常括起来,就能引用到了!

  • 如下面实例,1-1的表名,中"-"是特殊符号,所以indirect函数会有引用错误,其他表暂时没问题!

  • 公式写法:

=INDIRECT(" ' "&A2&" ' "&"!B5")

给表名新增一对单引号,那么我们在&的时候就要给每一个单引号加上双引号!这样没加单引号的表他也不会受影响!

Vloopup函数联用条件格式 再解读

  • 要求:查询并标记出停产的产品
  • 做法:
    公式 =VLOOKUP(B2,F:G,2,0)="停产" 设置标红

函数与数据有效性/数据验证

  • 实战:禁止录入停产商品

ALT A V V 打开数据验证,点"允许"选择"自定义"

  • 如果输入不被允许的词则会弹出错误
相关推荐
远洪1 天前
excel 找出两列不同的数据
excel
pcplayer1 天前
非常好用的 Excel 读写控件
excel·delphi·office
Navicat中国1 天前
使用 Navicat 导入向导导入 Excel 数据时,系统提示导入成功,表中也能看到数据,但行数统计显示为 0,这是什么原因?
数据库·excel·导入
穿着内裤的外星人1 天前
触控精灵远程读写Excel步骤配置
excel
是孑然呀2 天前
【小记】excel vlookup一对多(第二篇)
excel
开开心心就好2 天前
专为视障人士设计的免费辅助工具
windows·计算机视觉·计算机外设·excel·散列表·推荐算法·csdn开发云
transformer_WSZ2 天前
excel两列数据绘制折线图
excel·折线图
蒋胜山2 天前
Excel 练习题(5)
经验分享·excel
Data-Miner2 天前
数以轻舟聚焦Excel-Agent场景:当AI做表工具学会说人话
人工智能·excel
夏日清风有你3 天前
Excel 中绘制散点图(Scatter Plot)
excel