oracle两个字段模糊匹配_数据匹配的终极必杀技——
VLOOKUP函数
在每⼀个领域都有⼀些“逆天”的存在,好⽐在⾦庸武侠中的独孤求败、扫地僧,还有飞⽑腿博尔特,飞⼈乔丹等等。
在Excel函数的天下当然也有这样的存在,它们能⼒强⼤,知名度⾼,但同时,它们的强⼤并不是遗世独⽴的,只要我们努⼒的去学习,它们的强⼤⼒量就能为我们所⽤。
很容易想到,VLOOKUP函数就属于这类,作为家喻户晓的查匹配函数,它的威名如雷贯⽿,许多⼈尝试要了解它,但⼜因为畏惧复杂⽽“浅尝辄⽌”,反⽽产⽣了更⼤的抗拒。
今天我们就⼀起来看看这位“超级函数”的真实⾯⽬~
VLOOKUP函数试⽔
VLOOKUP函数的名字看起来挺长,感觉名字这么长,还挺特别的函数就让⼈⼼⾥有些犯怵。但其实它的参数⼀点也不复杂:
VLOOKUP(查值,查区域,查列数,匹配⽅式)。
⼀看到四个参数再加上⼏百⾏的表格,有些朋友就开始打退堂⿎了吧。
下⾯⼩编就⽤⼀个最简单的模型来做⽰范,保证三分钟就能完全看懂这个“超级函数”。
⾸先要了解参数的含义和VLOOKUP使⽤的规则,以下图的表格为例:
使⽤VLOOKUP函数有三个前提:
① ⾄少需要两张表格,如上表中有A、B两张表格(两张表格可在不同的⼯作表内)
② 有某个共同字段可以作为查值(第⼀个参数),如两张表格中的“姓名”就是共同字段
③ A表缺少某个字段⽽B表有该字段,如上表中A表缺少“年龄”,但是B表刚好有,所以可以通过A表中的“姓名”来查匹配并且返
回“年龄”。
接着对照表格,逐⼀确定参数:
① 查值:它是查匹配的依据,也就是上⾯所说的两张表格的共同字段,所以该参数为“A3”。
② 查范围:包含查值(姓名)和需要匹配内容(年龄)的区域(D2:F5)。需要注意的是,查值(姓名)所在的列必须是查区域的第⼀列(最左边),这是很多新⼿会容易犯错的地⽅。如果查值是“性别”,则查的区域为E2:F5。
③ 查列数:要匹配的内容相对于查值是第⼏列,在上⾯的B表,如果查值“姓名“作为第⼀列,则要匹配的”年龄“就是第三列,所以输⼊”3“。
④ 匹配⽅式:“0“表⽰精确匹配,”1“表⽰模糊匹配,通常输⼊”0“。
综上所述,在B3输⼊最终的函数公式:
【=VLOOKUP(A3,$D$2:$F$5,3,0)】。
要注意⼀点喔,VLOOKUP函数⼀般都需要按住⿏标往下拖曳填充,所以查区域通常采⽤绝对引⽤,函数匹配的结果如下图所⽰:
两张表格查重复数据学会了这两张表格的查匹配,就算⼏百上千⾏的表格也是同样的道理。所以,只要学好⼀个公式,再多的数据都只是“纸⽼虎“啦。
快速匹配书名、单价
下⾯我们再来看⼀个稍微复杂⼀些的例⼦,⽤⼀个长表格验证下VLOOKUP函数是不是真的这么厉害。
下图左侧的表格是销售明细,有600多⾏,已经录⼊了⽇期、书店名称、图书编号、销量,缺少图书名称和单价;右侧的表格是原始的价格表,图书编号、图书名称和单价都有,可利⽤“图书编号“作为查值,来匹配书名和单价。
⾸先对应VLOOKUP的参数,得出匹配“图书名称”和“单价”的公式分别是:
匹配的结果完全正确,如下图所⽰。
⽤⼀个函数就解决了许多⾏的数据匹配,如果没有VLOOKUP函数进⾏成百上千个数据匹配的话,难以想象是⼀个多⼤的⼯作量。
反向查询
有的时候表格并不按套路出牌,按照VLOOKUP的“套路”,匹配的列必须在“查值”所在列的右侧,有时表格就是很“叛逆”。
如下图所⽰,需要查匹配“定价”,可是它却在共同的字段“图书编号”所在列的左侧。下⾯⼩编介绍两
种可以解决反向查询问题的⽅
法:
⽅法⼀:
将“定价”列复制到“图书编号”的右侧,如下图所⽰。这种⽅法⼤家应该都能想到,但是这种⽅法存在⼀个问题,它会改变原有表格的结构,如果另有⼀些函数引⽤了该表,则可能导致其他错误。所以我们⼀般不采⽤这种⽅法。
⽅法⼆:
正反两向表格VLOOKUP查询公式对⽐:
对⽐两个公式可以发现,后者就是将前者的“查区域”改为如下的数组公式【IF({1,0},H2:H18,G2:G18)】。
再来看看这个数组公式有什么作⽤。
⾸先选择⼀个和G2:H21等⼤的区域,在编辑栏输⼊该数组公式,按下快捷键【Ctrl+Shift+Enter】,结果如下图所⽰,⽣成“定
价”和“图书编号”左右互换的区域,这样就符合VLOOKUP查匹配的要求了。
在这个数组公式中,IF函数的⽤法和平时不太⼀样,可以理解为:利⽤常量数组{1,0},使得⼀个1×2的数组与另⼀个17×1的数组进⾏计算,返回了⼀个17×2的数组。
最后的反向查公式为:
【=VLOOKUP(C2,IF({1,0},$H$2:$H$21,$G$2:$G$21),2,0)】,结果如下图所⽰:
模糊匹配
上⾯介绍的案例都采⽤了精确匹配,那什么情况下才会使⽤模糊匹配呢?下⾯看⼀个例⼦,如下图所⽰,我们⽤IF嵌套函数判定奖学⾦的例
⼦。
但在利⽤VLOOKUP函数匹配奖学⾦之前,我们需要先将判定标准改造为下图中的样式:
仔细观察表格可以发现,奖学⾦判定标准——“分数”改成了“a-b”的区间形式。特别要注意的是新增了⼀列“下限”,录⼊了每个区间的下限,下限和区间这种不精准对应关系可采⽤“模糊匹配”。
将表格置于E1:G6的区域,在C2单元格输⼊公式:
【=VLOOKUP(B2,$E$1:$G$6,3,1)】,结果如下图所⽰:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论