EXCEL函数怎么实现多行多列的多条件查询抓取指定数据?

在使用Excel的过程中,我们经常需要从某些工作表中查询有关的数据复制到另一个工作表中,而这几个工作表中的数据的顺序是不完成一样的,并不能直接复制粘贴,这时候就需要用到查找函数。而查找函数中,用得最多的要数VLOOKUP,下面就详细的来讲解下VLOOKUP函数的用法。

1.根据***号查找昵称

Excel中VLOOKUP函数掌握这8条,搞定所有查找引用

查找模式:FALSE(0)代表精确查找,TRUE(1)代表模糊查找(省略也是模糊查找)。

Excel中VLOOKUP函数掌握这8条,搞定所有查找引用

如上图所示,当查找的值不存在时,会出现“#N/A”的错误值,这时候看起来很不美观哟。那么如何屏蔽掉“#N/A”呢?这时可以使用容错函数IFERROR,如果是Excel 2013或以上版本,还可以使用IFNA,该函数专门用于处理“#N/A”错误。

=IFERROR(表达式,错误值要显示的结果)

=IFNA(表达式,错误值要显示的结果)

说白了,这两个函数就是将错误值显示为你想要的结果,不是错误值就返回原来的值。

3.按顺序返回多列对应值

Excel中VLOOKUP函数掌握这8条,搞定所有查找引用

如上图所示,我们要返回两列的数据,可以通过修改第三参数,返回各项的对应值:

如果项目比较少,更改几次也没什么关系,但是如果当项目多时,却会十分不方便。

Excel中VLOOKUP函数掌握这8条,搞定所有查找引用

这时可以使用ROW、COLUMN产生行列号,从而得到1、2、3、n的值。如:

4.按不同顺序返回多列对应值

Excel中VLOOKUP函数掌握这8条,搞定所有查找引用

如上图所示,COLUMN就派不上用场了,是不是只能手动更改第三个参数了呢?答案当然是否定的,我们要相信Excel的超能力,也许只是我们自己不知道或者一时想不到。Excel查找与引用函数里面还有一个功能强大的MATCH函数,可以更改为:

MATCH函数的语法如下:

=MATCH(查找值,区域,排列顺序),排列顺序一共有三个值,1代表升序排列,0代表任意顺序排列,-1代表降序排列,默认为1。

Excel中VLOOKUP函数掌握这8条,搞定所有查找引用

VLOOKUP帮助中提到其只能按照首列进行查找,不能逆向查找,既然如此,就得想办法将非首列的区域转换为首列。如何转换呢,这时就要使用IF函数的高级用法了,即数组函数,这里不详细讲解,之后会有专门的专题讲解。如下:

同样,VLOOKUP帮助中提到其只能进行单一条件查找,不能进行多条件查找。通过使用IF函数来重新构造区域,就可以实现多条件查询。如要通过身份证和姓名两个条件来查询民族:

Excel中VLOOKUP函数掌握这8条,搞定所有查找引用

7.根据第一个字符查找

Excel中VLOOKUP函数掌握这8条,搞定所有查找引用

说明:星号(*)是通配符,代表所有字符;问号(?)代表一个字符。

8.根据区间判断成绩等级

Excel中VLOOKUP函数掌握这8条,搞定所有查找引用

如图,通过添加辅助列的方式可以很轻松的实现:

如果不使用辅助列的话,需要结合多个函数来实现,下面给出公式,大家有兴趣可以自行研究。

只要掌握了以上8条技巧,基本上所有的查询问题都能解决了。

分类专栏: 文章标签:

版权声明:本文为博主原创文章,遵循 版权协议,转载请附上原文出处链接和本声明。

为A3查找区域(第一个条件)
为B3查找区域(第二个条件)

“相关推荐”对你有帮助么?

如附图所示,我的原始数据sheet中,有多列数据,希望将其中同时满足三种条件的数据返回至sandia法sheet中。具体为:原始数据sheet中B列为年,其数值为,总行数141001,相当于每年的数据8760行。C列为月份、E列为时刻,G列为数据。在sandia法sheet中,A列为月份,B列为时刻,1行为。现在希望在原始数据sheet中查找同时满足sandia法sheet对应年、月以及时刻的数据,并返回到sandia法sheet中各年份下面的单元格。我现在用的公式为=IF(AND(TRIM(C$1)=TRIM(原

我要回帖

更多关于 多行多列查找函数 的文章

 

随机推荐