首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >VLOOKUP之多条件查找

VLOOKUP之多条件查找

作者头像
但老师
发布2022-03-22 17:53:30
发布2022-03-22 17:53:30
9290
举报

上次的VLOOKUP基础入门,没有图也没有GIF,估计很难看得下去

VLOOKUP 之一

这次是多条件查找.这份问题源于我在公司遇到的情况:

从数据库导出的数据呢,对个人信息进行了脱敏处理,所以电话号码的末两位被隐藏了,变成了星号.但是我们又有一份有完整电话的发货单,要求对成交的学员发货.问题来了:

  1. 首先我们得知道客户购买了什么产品,好发对应的货物
  2. 如果用仅知的9位号码去匹配呢,这样很容易出现重复的吧

如果你是高级用户,那么你可以用SUMPRODUCT来解决.那就用吧,殊途同归,不妨碍.但是如果你是小白用户,看到这个问题,是不是很心痒痒想用VLOOKUP呢?这也是可以的

下面就是我要说明的,VLOOKUP的多条件查找

一般来讲,名字可能有重复的,手机号前9位也可能有重复的,但是呢,名字+手机号的组合一般是不会有重复的了.在这种情况下,首选是建立一个辅助列作为唯一识别字段,像下面这样

&符号,还有LEFT函数组合成唯一字段.没毛病,然后用VLOOKUP,妥妥的.

就像如何把大象装进冰箱一样简单:

  1. 打开冰箱门
  2. 把大象装进冰箱
  3. 关门

但是其实可以不用辅助列的.在一些比较变态的笔试题中会出现这种变态要求,比如我们公司的BI测试题就有,要求不用辅助列.我来的时候就做过这道题.所以可以这么写:

也可以这么写

这里,CHOOSE和IF的效果是一样的

我分解一下IF这一个公式

首先,我假定你们都是知道VLOOKUP的基本用法的,也就是这样的

VLOOKUP(查找值,范围,返回第几列,精确还是模糊)

VLOOKUP在这里的原理是一样的,就是多了一些其他的东西

比如第一个参数的位置,变成了

E2&LEFT(F2,9)

我相信你们应该懂这个,表示E2单元格联结F2单元格的前9位,也就是我们之前做的辅助列,是这样的

也就是要查找的值是"但老师131888888"

关键在于第二个参数那里,估计你们不太好理解IF为什么这么写.

IF({1,0},A:A&LEFT(B:B,9),C:C)

这是一种数组的写法.拆解成正常的写法,你们应该好理解一点.所以拆解一下,这实际上是两个IF的组合

1. IF(1,AA&LEFT(B:B,9),"随意填写反正不会用到")

2. IF(0,"随意填写反正不会用到",C:C)

IF的用法一直都是IF(判断条件,条件符合则这样,条件不符合则那样).看起来非此即彼的选择,实际上是可以鱼和熊掌兼得的,那就是写成IF({1,0},这样,那样)的数组函数.这样IF函数会先运行一遍{1},也就时'条件符合则这样'那部分,然后再运行一遍{0},也就是'条件不符合则那样',在我们的多对一函数中,借助IF形成了一个具体的多列的范围.也就是A:A&LEFT(B:B,9)作为范围的第一列,C:C作为范围的第2列,也就是{A:A&LEFT(B:B,9),C:C}这样一个两列N行的数据范围

所以啊,VLOOKUP第3个参数,我们要输入2,因为IF构造的范围只有2列啊

所以,是不是和普通的VLOOKUP一样的原理呢?

也就是,如何把大象和小象装进冰箱:

  1. 打开冰箱门
  2. 把大象和小象装进冰箱
  3. 关门
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 但老师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档