Excel逆向查询的多种方法,赶快学起来

news2024/12/1 0:33:53

关于匹配查询,我们平时用的做多的就是VLOOKUP函数了,但VLOOKUP函数只能正向查找,不能逆向查询。

像是下面这种情况就不可以:
(现在我们想用编码去匹配书名)
在这里插入图片描述
如果在不改变原表格结构的基础上查找出书目编码对应的书名,直接使用VLOOKUP函数得出的结果是错误的。

现在我们将编码放入书名的前面,再试一下就能成功匹配出来书名了:
在这里插入图片描述
工作中很多时候我们无法改变数据源的列排序,在不改变原表格结构的情况下应该如何逆向查找匹配呢?

试试下面几种方法。

一、VLOOKUP、IF函数嵌套

利用 VLOOKUP 和 IF 函数的嵌套处理:

=VLOOKUP(F3,IF({1,0},$B$3:$B$15,$A$3:$A$15),2,0)

在这里插入图片描述

公式解析:通过IF({1,0})函数将A列和B列位置互换,然后在B列精确匹配与F3单元格相同的单元格,并返回互换后的区域对应第2列即A列的数据。

二、VLOOKUP、CHOOSE函数嵌套

利用 VLOOKUP 和 CHOOSE 函数的嵌套处理:
=VLOOKUP(F3,CHOOSE({1,2},$B$2:$B$15,$A$2:$A$15),2,0)

在这里插入图片描述

公式解析:通过CHOOSE({1,2})函数将A列和B列位置互换,然后在B列精确匹配与F3单元格相同的单元格,并返回互换后的区域对应第2列即A列的数据。

三、LOOKUP函数

=LOOKUP(1,0/($B$3:$B$15=F3),$A$3:$A$15)

在这里插入图片描述

公式解析:B列满足等于F3的条件的逻辑值为TRUE,被0除后,就是0;其他不满足条件的逻辑值为FALSE,被0除后,就是“#DIV/0!”的错误值;通过LOOKUP在一批错误值和0组成的数列中,返回比1小的最大值,也即是0值(满足F3条件的行)对应的A列数据。

因为lookup采用二分法的方式,二分法的前提是先排序。因此很多人使用lookup函数发现效果不好,找的结果不对。

为了处理这种方式,采用“0/运算结果”的方式,自动忽略错误值。

因此,要用好lookup,要使用以下结构:

=lookup(1,0/(查询范围=查询值),结果范围)

四、Index、 match函数嵌套

利用 Index 和 match 函数的嵌套处理:
=INDEX($A$3:$A$15,MATCH(F3,$B$3:$B$15,0))

在这里插入图片描述

公式解析:通过INDEX定位到A列,并根据MATCH函数返回F3在B列中所在的行号,得到对应A列数据。

学习 INDEX 和 MATCH 的组合函数用法,看这里!EXCEL好搭档~ INDEX+MATCH

五、Offset、match函数嵌套

利用 Offset 和 match函数的嵌套处理:
=OFFSET($A$2,MATCH(F3,$B$3:$B$15,0),)
在这里插入图片描述

公式解析:以A列A2单元格为基准位置,向下偏移N行,而N就是通过match函数查找到的F3在B3:B15这片区域中的位置。

不懂 可以看这篇讲解,OFFSET和MATCH函数组合查询 我觉得说的特别通俗易懂,相信你一看就明白怎么用了。

六、Indirect、match函数嵌套

利用 Indirect 和 match函数的嵌套处理:

=INDIRECT("A"&MATCH(F3,B:B,0))

在这里插入图片描述

公式解析:通过match函数查找到F3在B列中的行号,列标“A”和行号构成的文本字符串表示单元格位置,用indirect函数引用这一单元格位置的具体内容。

Indirect函数用于返回文本字符串指定的单元格引用;它共有两个参数,第一个参数是文本字符串,第二个参数是引用类型,特别要注意第一个参数必须为文本,否则会返回错误。
在这里插入图片描述

以上就是全部了,希望工作学习中都可以帮助到你。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/41039.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

当MySQL和java通过媒婆navicate谈上了恋爱 ------ MySQL的安装和Java的连接

👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 **收录于专栏 数据库 ⭐当MySQL和java通过媒婆navicate谈上了恋爱⭐ 文章目录⭐当MySQL和java通过媒婆navicate谈上了恋爱…

vue组件库发布到npm

修改项目的信息 在package.json文件中: 修改Readme文件的信息 注册npm 账号 指路官网 vscode终端登录npm 执行 npm login 输入用户名,密码,邮箱,邮箱验证码 如下图 执行 npm publish 如下图 出现的问题 npm ERR! code E403 …

CSAPP Lab6:Malloc

文章目录一、实验简介二、隐式链表实现基本宏块的相关函数mm_initmm_mallocmm_freemm_reallocextend_heapblk_mergeblk_findblk_split使用下次匹配三、显式链表实现四、分离适配五、完整代码隐式链表显式链表课本实现一、实验简介 实现一个动态内存分配器。 tar xvf mallocla…

Linux 应急响应命令总结,收藏版

系统排查 系统基本信息 CPU 信息 CPU 信息:lscpu 操作系统信息 操作系统信息:uname -a 操作系统信息:cat /proc/version 模块信息 模块信息:lsmod 账户信息 系统所有账户 系统所有账户:cat /etc/passwd 超级权限账户 超…

3D-SKIPDENSESEG医学图像分割

蓝色三角、黄色三角、红色三角相对应。 得到第三个feature map,反卷积会恢复到原来的尺寸 Dense block,通道增加了 Transition,池化 用正则表达式把里面的h5文件匹配一下吧 os.path.join()把两个部分的路径拼一下 root_path —data_train *.…

[kubernetes]-k8s开启swap

导语:记录k8s开启swap后先后做的调整 测试版本 k8s1.20版本 使用参数--fail-swap-onfalse Environment"KUBELET_EXTRA_ARGS--fail-swap-onfalse"使用测试 可以开启swap不报错 但是pod使用swap不太理想。且无法实现在使用swap的时候限制pod的内存。会造…

【Java面试】List接口

文章目录Iterator 和 ListIterator 有什么区别?遍历一个 List 有哪些不同的方式?每种方法的实现原理是什么?Java中List 遍历的最佳实践是什么?说一下 ArrayList 的优缺点如何实现数组和 List 之间的转换?ArrayList 和 …

M4 tm4c1294单片机软件调式总结

1,框架图: 调式基本方法: (1)加串口打印初始化,单步跟踪查看,类似gdb的单步; (2)打印命令行,重点参数添加命令行打印; (3&#xff…

Redis 的相关基础知识

【一】 Redis 中默认的端口号为什么是6379 图中的人名为 Alessia Merz ,其中的 Merz 对应的九键输入法按出来的就是6379 【二】 Redis 默认的数据库 Redis 中默认使用的是16个数据库,类似数组下标从0开始,初始默认使用0号数据库 【三】 Redis…

vscode搭建Verilog HDL开发环境

工欲善其事,必先利其器。应该没有多少人会使用Quartus和vivado这些软件自带的编辑器吧,原因在于这些编辑器效率很低,Verilog HDL代码格式比较固定,通常可以利用代码片段补全加快书写。基本上代码写完之后才会打开Quartus或者vivad…

一文带你了解Spring中的事务管理

文章目录前言一、事务的基础概念二、spring中事务的使用声明式事务编程式事务如何选择事务方式三、spring中事务管理实现原理前言 本文将涉及以下知识点: 事务的基础概念spring当中事务的使用spring当中事务管理的实现原理 一、事务的基础概念 事务(T…

python画图

python画图1.使用matplotlib画图2.使用pyecharts画图2.x pyecharts的三种图片渲染工具2.x.1 snapshot_selenium2.x.2 snapshot_phantomjs2.x.3 snapshot_pyppeteer1.使用matplotlib画图 2.使用pyecharts画图 pyecharts是一款将python与echarts结合的强大的数据可视化工具&…

阿里云服务器安装tomcat

一、前置条件 安装tomcat需要先安装jdk,所以没有安装jdk同学,详见参考文章或者此文章 二、Linux上安装tomcat 1. 下载Apache tomcat tomcat官网下载地址 在左边,可以选择下载各种版本的tomcat。根据服务器操作系统选择下载。Linux操作系统…

第七章TCP/IP——ARP网络攻击与欺骗

个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。个人爱好: 编程,打篮球,计算机知识个人名言:海不辞水,故能成其大;山不辞石…

分布式文件系统和对象存储魔力象限,右上角都有谁?

自Gartner 首次发布      分布式文件系统和      对象存储魔力象限以来      戴尔科技集团      就牢牢位居领导者象限      今年也不例外      恭喜      连续第七年获评领导者!    对于入选本年度的魔力象限领导者,我们感到十分荣幸。我们相…

docker安装jenkins最新版

前言 使用的是centos7的linux系统, 检查docker 是否开启网络 如果没有开启网络会报错:WARNING: IPv4 forwarding is disabled. Networking will not work. 检查网络状态 sysctl net.ipv4.ip_forward如果返回为“net.ipv4.ip_forward 1”则表示网络转发正常&am…

1534_TriCore编译器Tasking使用_汇编语言语法以及标识符

全部学习汇总: GreyZhang/TriCore_Tasking_Compiler_Skills: Some skills for Tasking compiler on AURIX platform. Happy hacking! (github.com) 1. 如同C语言,汇编语言也可以续行而且采用了同样的续行符号。不过,我遇到的汇编一直都是很统…

TMS Echo数据复制的Delphi框架

TMS Echo数据复制的Delphi框架 TMS Echo是用于数据复制的Delphi框架。它是TMS Business产品阵容的一部分,它取决于TMS Aurelius的运营。 TMS Echo允许您至少拥有两个数据库并在它们之间同步信息。您对单个客户数据库所做的更改(插入、更新、删除)可能会传输到其他数…

PowerMax——业界首个引入NVIDIA BlueField DPU的高端存储

高性能、可扩展、弹性与空间 全球越来越多的领先企业 都依靠关键任务型存储 承载企业核心业务 DPU作为一个新兴起的概念,正在以惊人的速度崛起。据预测,DPU将成为未来计算的三大支柱之一,CPUGPUDPU构成未来的数据中心。 现在,全球首款 集成NVIDIA BlueField DPU技术的 关…

QMudiaPlayer(状态)

在音乐播放中介绍了QMediaPlayer的基本用法,在这里更深度的使用QMediaPlayer。 媒体播放器的当前媒体的状态: QMediaPalyer::MediaStatus 会发射 mediaStatusChanged()信号 QMediaPlayer::UnknownMediaSt…