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

embedded/2025/3/22 4:52:56/

目录

  • Vlookup函数返回多列结果
  • Vlookup函数多条件匹配
  • Vlookup函数部分匹配
  • TAKE函数嵌套SORT函数,提取排序数据
  • SUBTOTAL函数:制作动态报表
  • SUBTOTAL函数:创建连续编号
  • INDIRECT函数
  • Vlookup跨多表抓取数据
  • INDIRECT函数常见跨表的错误
  • Vloopup函数联用条件格式 再解读
  • 函数与数据有效性/数据验证

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 打开数据验证,点“允许”选择“自定义”

在这里插入图片描述

  • 如果输入不被允许的词则会弹出错误
    在这里插入图片描述

http://www.ppmy.cn/embedded/174600.html

相关文章

为什么labelme框选图片后闪退

Labelme 软件框选图片后闪退的解决方案 Labelme 是一种常用的图像标注工具,但在实际使用过程中可能会遇到一些问题,比如框选图片后程序突然闪退。以下是针对该问题的具体分析和解决方法: 可能原因及对应解决措施 标签文件异常 如果某些图片…

Windows安装Python3【超详细图解】

目录 一、下载 二、安装 三、验证 一、下载 官方Windows系统各种版本https://www.python.org/downloads/windows/ 可以下最新的,但很多老项目并不支持最新版本的,还是推荐下老版本 找一个自己需要的版本,选择适合自己电脑系统架构和位数…

Deepseek r1 本地部署

1.环境需求: 1. 独显 2. 最好32g内存 3. 安装 ollama https://ollama.com/download/windows 2. 安装 deepseek-r1 https://ollama.com/library/deepseek-r1 根据显存选择对应大小的模型,推荐能将整个模型放入显存的大小,放…

VulnHub-Web-Machine-N7通关攻略

一、信息收集 第一步:确定靶机IP为192.168.0.107 第二步:扫描后台及开放端口 第三步:进行敏感目录及文件扫描 http://192.168.0.107/index.html (CODE:200|SIZE:1620) http://192.168.0.107/server-status (CODE:403|SIZ…

【AI 加持下的 Python 编程实战 2_04】第三章:GitHub Copilot 在 Python 函数设计中的正确打开方式(含本地实操)

【全新第二版《Learn AI-assisted Python Programming》封面】 写在前面 本篇是全书的第一处精华内容,从完全零基础小白的角度详细介绍了 Copilot 在 Python 函数设计中的用法,包括提示词的正确写法、基于 AI 工具的函数设计基本工作流程等,虽…

深入解析 Service Worker 在 Chrome 扩展中的应用

1. 什么是 Service Worker? Service Worker 是一种运行在后台的 JavaScript 线程,与网页主线程独立。它的主要作用是拦截网络请求、缓存资源、提供离线支持,并执行后台任务,如推送通知和后台同步。在 Chrome 扩展(Ext…

【协作开发】低成本一键复刻github的gitea

在阅读 next-public 时,反思原本的需求,是否本未倒置,故而重新调研当下开源现状。发现 gitea 完全满足商业软件的开发要求,并且价格足够低,使用足够方便,其他同类软件完全不用看了,真是世界级的…

AI代理到底怎么玩?

摘要 当前AI Agent和RAG(检索增强生成)最流行的架构包括基础RAG、代理式RAG路由、查询规划代理式RAG等,研究表明这些架构在提升AI性能方面效果显著。代理式RAG架构允许AI根据查询动态选择工具或数据源,证据倾向于其在复杂任务中表…