文章图片
文章图片
文章图片
使用vlookup查询数据的同学 , 可能经常遇到需要返回的数据在查找值左侧的情况 。
比如 , 下图的数据表:
通过店铺名称 , 我们希望能匹配到对应的一级大区名称 , 但是大区名称数据 , 却是在店铺名称的左侧 。
由于vlookup存在一个功能上的缺陷 , 那就是 , 返回列数据 , 必须要在查找值数据的右侧 , 函数才能正确的返回数据 。
这就导致vlookup没法正常查询上表中的一级大区名称 。
「不过你可以用以下3种方法来解决这个问题 。 」
- 改变原表结构 。
- 使用数组公式改变表结构 。
- 使用其他函数 。
快捷调整行列顺序的方法如下:
鼠标点击B列标题 , 选中整个B列 。
然后鼠标移动到选中的绿色边框线上 , 鼠标箭头变成四向移动箭头 , 左键点击不放 , 同时按住shift键不放 。
最后向左拖动到合适的位置 , 先放开鼠标左键 , 再放开shift键即可移动完成 。
「但是」 , 公司有些表 , TA不准改!不准改!不准改啊!
如果是按住CTRL键 , 就是复制功能 。
所以你可以用下面两种方法 。
使用数组公式调整表结构函数公式如下:
=VLOOKUP(E2IF({10$B$1:$B$5$A$1:$A$5)20)
注意到了吗?
原本vlookup的第二个参数 , 我们换成了一个数组公式IF({10$B$1:$B$5$A$1:$A$5) 。
如果在空白单元格直接输入这个数组公式 , 会的到这样的结果 。
是不是正好是将店铺名称和大区名称互换位置了 。
wps和office excel请按照数组公式使用方法来输入数组公式 。
- 先选择承载数组公式结果数据的空单元格区域 。
- 再输入数组公式 。
- 最后按数组确认键CTRL+SHIFT+回车确认数组公式 。
{10是一个一维数组常量 , 在if函数中 , 1被认为是True , 0就是False 。
if函数会根据这个一维数组中的值 , 依次来判断 , 是1 , 则返回第二个参数 , 是0则返回第三个参数 。 我们分别在第2和第3参数选上对应的数据区域 , 就可以实现两个数据区域的调换 。
因为最终生成的vlookup查找区域 , 是两列数据 , 所以最终的返回值是在第2列 , 这也是为什么vlookup的第3个参数是2 。
使用其他函数代替vlookup微软早就发布了一个新查找引用函数xlookup , 它比vlookup功能更强大 。
函数语法如下:=XLOOKUP(lookup_value lookup_array return_array [if_not_found
[match_mode
[search_mode
)
来自office支持xlookup不讲武德 , 直接取消了vlookup原本的查找区域包含查找值和返回值的模式 。
xlookup的第一个参数是查找值 , 第二个参数是查找值所在数据区域 , 第三个参数是返回值所在区域 。
所以压根不用管谁在谁的左边右边 , 实现公式如下:
=XLOOKUP(E2$B$2:$B$5$A$2:$A$5)
这个函数目前在Excel 2016及以上和WPS最新版可用 。 如果你目前没法使用这个函数 , 也可以使用index加match组合搭配来实现上面的需求 。
【鼠标|vlookup这个缺点,只需要用个数组公式,就能轻松实现反向查询】index+match函数的查找引用公式如下:
=INDEX($A$2:$A$5MATCH(E2$B$2:$B$50))
match函数用于返回查找值在查找区域的所在行数 , index会根据这个函数 , 返回第一个参数的数据区域中对应行数的数据 。
我将持续发布vlookup函数使用过程中可能遇到的各种案例问题 , 如果你正遇到类似的难题 , 可以留言评论 , 说不定下期就是答案了 。
赶紧转发收藏起来 , 以后遇到这一系列问题 , 就可以派上用场 。
- 操作系统|煎熬17年,这个国产操作系统却选择“归0”,中国院士:太及时了
- 英伟达|颠覆你对三星的固有认知,这个618逆势上升
- 红米手机|为啥都在说红米品控做工差,而OPPO华为却不会?这个说法很中肯!
- 魅族|魅族说你什么好呢?这个618同比还不如金立
- Mini LED|这个端午小长假怎么过?QD-Mini LED电视为你开启宅家娱乐新体验
- |任正非:房子都换三套了日本家电还能用,华为也要有这个质量
- javascript|雷柏全新旗舰级VT960S双模游戏鼠标上市
- 鼠标|节能型PWM电磁阀控制器
- 华硕|霸榜电商热销排行榜,今年618买游戏本认准华硕这个系列就行了
- 电池|12代i5+RTX3050神舟战神笔记本,这个618只需4699就可抱回家