excel函数技巧:两个查询函数的用法比较 下篇

news/2023/6/9 20:19:29

VLOOKUP和LOOKUP这对高频函数的较量注定是场持久战。在前两个回合的较量中,VLOOKUP占据上风,此番更要乘胜追击。新一轮较量,即刻开战!

***ROUND 03 交叉查询

什么是交叉查询?我们可以通过一个查找值查找多个字段。如果被查找的多个字段的排列顺序与查找区域中对应字段的顺序不一致,我们称之为交叉查询。如下,我们要从数据源中查找“阿普”的多个字段“绰号”“能力”“职位”,很显然被查找字段与数据源中字段“职位”“能力”“绰号”的排列顺序不一致,这就是交叉查询,要怎么做呢?

最基础的做法就为每一个查找字段单独设置公式。

H3公式 =VLOOKUP($G3,$A$1:$E$12,5,0)

I3公式 =VLOOKUP($G3,$A$1:$E$12,4,0)

J3公式 =VLOOKUP($G3,$A$1:$E$12,3,0)

这种逐一设置公式的做法很笨拙,除了需要重复输入类似的公式外,还需要人工判别每一个单元格的返回列值。如果查找字段很多,估计会逼疯不少表亲。下面看看小花是如何使用VLOOKUP和LOOKUP做交叉查询的。

VLOOKUP:经天纬地,拿手好戏

VLOOKUP和MATCH这对函数组合正是为交叉查询而生。VLOOKUP通过MATCH函数的协助,自动判断出返回列值。MATCH函数用于返回查找值在某一行/列中的位置,它的语法是MATCH(查找值,查找行/列,查找方式)。此处我们用到的查找方式是精确查找,第三个参数用FALSE或0表示。

公式说明

以B17公式为例,“职位”出现在A1:E1的第三个位置,所以MATCH的返回值为3。

介绍完MATCH函数的基本用法后,隆重介绍EXCEL函数中一种使用频率最高的函数组合——VLOOKUP+MATCH。

=VLOOKUP($G3,$A$1:$E$12,MATCH(H$2,$A$1:$E$1,0),0)

公式说明

VLOOKUP+MATCH组合的基本套路是=VLOOKUP(查找值,查找区域,MATCH(查找字段,字段区域,0),0)。它是在VLOOKUP的基本用法上,将第三个参数返回值列序用MATCH替换,通过匹配,自动返回目标字段在查找区域的列序。

套路的基本要点如下:

1.MATCH的查找值必须与VLOOKUP查找区域标题行中的某个单元格完全一致。这是高频错误点,需注意空格的干扰!

2.为了使公式可以拖动填充,VLOOKUP的第一个参数通常锁定列,如$G3,第二个参数通常锁定行和列,如$A$1:$E$12;MATCH的第一个参数通常锁定行,如H$2,第二个参数通常锁定行和列,如$A$1:$E$1。公式最后是“,0),0)”这样的结构,分别表示MATCH函数和VLOOKUP函数都执行精确匹配。这些细节都是小白容易忽略、出错的地方。

LOOKUP:数组形式,剑走偏锋

说实话,交叉查询,LOOKUP同样无法单干,需要找帮手组团行动,譬如 LOOKUP+MATCH+OFFSET。

=LOOKUP($G3,OFFSET($A$1:$A$12,,,,MATCH(H$2,$A$1:$E$1,0)))

公式说明

该公式使用了LOOKUP的数组形式=LOOKUP(查找值,查找区域),表示在查找区域的首行/列中进行匹配,返回查找区域末行/列中与之对应的值。于是问题的重点就变成了如何使查找区域的末列自动变为返回值的所在列。我们用OFFSET函数和MATCH函数来解决。

OFFSET函数是一个偏移函数,它根据给定的偏移行数和列数从初始位置偏移至指定区域,并返回指定大小的区域,它的语法是:=OFFSET(初始区域,偏移行数,偏移列数,[返回区域的行数],[返回区域的列数])

此处我们的初始区域为A1:A12,返回区域仍然是以A1:A12为首列的区域,行、列偏移量皆为0,返回区域的行数也与初始区域一致,因此这三个参数直接用逗号占位,不填数字。最后我们通过MATCH返回匹配列序数,从而确定OFFSET返回区域的列数。公式最终返回以A列为首列、以MATCH返回值为末列,包含1-12行的区域。以H3中的公式为例,MATCH返回5,则OFFSET返回结果是以A1:A12为首列的5列区域即A1:E12。把A1:E12作为LOOKUP数组形式的第二个参数,LOOKUP将查找值$G3在区域A1:E12的首列A1:A12中进行匹配,返回查找区域A1:E12的末列E1:E12中与之对应的值,从而完成交叉查询。

第三回合,在处理交叉查询问题时,VLOOKUP和LOOKUP都能应对自如。

但VLOOKUP的用法较为简单,只需借助MATCH函数即可完成,而LOOKUP函数则需要MATCH和OFFSET两个函数和它配合才能实现。综合看来,后者不如前者简单易学。

***结束语:

VLOOKUP+MATCH是查询函数中非常经典的套路,LOOKUP的数组形式在实战中也非常实用,两者都是查询函数学习的重中之重。希望小伙伴们不要只做VLOOKUP和LOOKUP较量中的吃瓜群众,还要能深入了解其原理,掌握用法,提升能力。

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

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

PLINK/SEQ association test

PLINK/seq可以检测表型-表型之间的相关性,用permutation或者asymptotic statistics。可以基于单变异,基因,也可以基于gene sets。 single variant association 检测一个变异和疾病(dichotomous outcome)的相关性&…

gnomAD 数据库简介

欢迎关注"生信修炼手册"!gnomAD 是一个学术联盟组织,这个组织收集和整理了各种大规模的外显子和全基因组测序数据,并面向全世界免费开放。在它的第一个版本中,只包含了外显子测序的数据,称为Exome Aggregati…

流媒体相关技术了解入门

最近在做直播相关业务,也是经常和流媒体打交道。虽然不是那么的直接,但总还是想了解下,有助于和其他部门同事沟通。 一句话,其实就是,不管直播,还是视频播放,都需要对视频进行转码,然…

ESP数据库简介

欢迎关注"生信修炼手册"!ESP 全称是NHLBI Exome Sequencing Project, 是由多个大学和研究结构合作开展的一个大型的外显子测序项目,主要目的是通过NGS技术对不同人群进行SNP分型,来辅助心脏,肺,血液相关疾病…

(二)外显子组数据分析之原始数据sra数据下载

写在前面: 由于是拿数据练手,因此并没有外显子测序原始数据,因此通过阅读文献,下载文献中使用的数据。 1. 查找外显子测序数据: 通过阅读文献,找到外显子测序数据, 但是有些数据不是开源的&am…

临床外显子组测序分析中的那些坑(中)

临床外显子组测序分析中的那些坑(上)4. Exome CNV分析:参考对照组很早以前,人们就清楚WES还可以根据样本之间序列覆盖深度的差异来推断CNV。由于序列捕获和GC含量,单个目标的覆盖率偏差阻碍了外显子组之间覆盖深度的比…

DNA 8. 癌症的突变异质性及寻找新的癌症驱动基因(MutSigCV)

点击关注,桓峰基因 桓峰基因 生物信息分析,SCI文章撰写及生物信息基础知识学习:R语言学习,perl基础编程,linux系统命令,Python遇见更好的你 120篇原创内容 公众号 桓峰基因公众号推出基于基因组变异数…

Methods for follow-up research of exome analysis:外显子后续分析研究思路总结

外显子后续分析研究思路一般有以下几种(Methods for follow-up research of exome analysis): 1、对突变频率、突变类型、突变方式进行统计分析 Mutations statistical analysis 具体见下图: 参考文献:Di, Jiabo, et a…