软件下载 点击激活 软件下载

数据查询,几个模式化公式请收好

小伙伴们好啊,今天和大家分享几个数据查询的典型公式应用。

 

1、一对多查询

所谓一对多,就是符合某个指定条件的有多个结果,要把这些结果都提取出来。

如下图所示,希望根据F2单元格中指定的部门,提取出左侧列表中“生产部”的所有人员姓名。

数据查询,几个模式化公式请收好

Excel 2019及以下版本:在H2单元格输入以下公式,按住Shift+ctrl不放,按回车,再将公式向下拖动到出现空白单元格为止:

=INDEX(A:A,SMALL(IF(B$2:B$16=F$2,ROW($2:$16),4^8),ROW(A1)))&””

数据查询,几个模式化公式请收好

Excel 2021版本,在H2单元格输入以下公式,按回车,结果会自动溢出到相邻单元格。

=FILTER(A2:A16,B2:B16=F2)

数据查询,几个模式化公式请收好

FILTER函数的作用是筛选符合条件的单元格。函数写法为:

=FILTER(要返回内容的数据区域,指定的条件,[没有记录时返回的内容])

本例中,要返回内容的数据区域是A2:A16。

指定的条件是“B2:B16=F2”,这部分对比后,返回一组由逻辑值TRUE或FALSE组成的内存数组。如果数组中的某个元素是TRUE,FILTER函数就返回第一参数中对应位置的内容。

 

2、提取符合多个条件的多条记录

如下图所示,希望提取出部门为“生产部”,并且学历为“本科”的所有记录。

数据查询,几个模式化公式请收好

Excel 2019及以下版本,在I2单元格输入以下公式,按住Shift+ctrl不放,按回车,再将公式向下拖动到出现空白单元格为止:

=INDEX(A:A,SMALL(IF((B$2:B$16=F$2)*(C$2:C$16=G$2),ROW($2:$16),4^8),ROW(A1)))&””

数据查询,几个模式化公式请收好

Excel 2021版本,在I2单元格输入以下公式,按回车,公式结果会自动溢出到其他单元格。

=FILTER(A2:A16,(B2:B16=F2)*(C2:C16=G2))

数据查询,几个模式化公式请收好

本例中,FILTER函数的第二参数使用两组等式,对部门和学历两个条件进行判断,得到两组由逻辑值组成的内存数组。

再将这两个内存数组中的元素对应相乘,如果两个内存数组中同一位置的元素都是TRUE,相乘后结果为1,否则为0,计算后得到一组新的内存数组。如果数组中的某个元素是1,FILTER函数就返回第一参数中对应位置的内容。

3、提取包含关键字的记录

如下图所示,希望查询学历中包含关键字“科”的所有姓名。不论是本科、专科还是民科,都符合要求。

数据查询,几个模式化公式请收好

Excel 2019及以下版本,在H2单元格输入以下公式,按住Shift+ctrl不放,按回车,再将公式向下拖动到出现空白单元格为止:

=INDEX(A:A,SMALL(IF(ISNUMBER(FIND(F$2,C$2:C$16)),ROW($2:$16),4^8),ROW(A1)))&””

数据查询,几个模式化公式请收好

Excel 2021版本,在H2单元格输入这个公式,按回车,公式结果会自动溢出到其他单元格。

=FILTER(A2:A16,ISNUMBER(FIND(F2,C2:C16)))

数据查询,几个模式化公式请收好

本例中,FILTER函数的第二参数先使用FIND函数,来查询F2单元格的关键字在C2:C16区域的每个单元格中所处的位置。如果C2:C16区域的单元格内包含有关键字,就返回表示位置的数字。如果没有关键字,FIND函数会返回错误值。

接下来再使用ISNUMBER函数,判断FIND函数的结果是不是数值,返回由逻辑值TRUE或FALSE组成的内存数组。

在某个单元格中包含关键字时,ISNUMBER函数返回的是TRUE,否则返回的是FALSE。

最后使用FILTER函数,返回A列中与TRUE对应位置的内容。

 

4、筛选在另一个表中没有出现的记录

如下图所示,希望在A列的员工姓名列表中,筛选出C列没有出现的姓名。

数据查询,几个模式化公式请收好

Excel 2019及以下版本,在H2单元格输入以下公式,按住Shift+ctrl不放,按回车,再将公式向下拖动到出现空白单元格为止:

=INDEX(A:A,SMALL(IF(COUNTIF(C$2:C$4,A$2:A$10)=0,ROW($2:$10),4^8),ROW(A1)))&””

Excel 2021版本,在E2单元格输入这个公式,按回车,公式结果会自动溢出到其他单元格。

=FILTER(A2:A10,COUNTIF(C2:C4,A2:A10)=0)

数据查询,几个模式化公式请收好

本例中,先使用COUNTIF函数,统计A列姓名在C列的亲戚列表中出现的次数,然后判断结果是否等于0,如果是0,则表示,在亲戚列表中没有出现。得到结果为:

{TRUE;FALSE;TRUE;……;TRUE;TRUE}

FILTER函数根据以上内容作为第二参数,返回A列中与TRUE对应位置的姓名。

好了,今天咱们的分享就是这些吧,祝各位一天好心情~~

 

练习文件:

点击右上角“前往下载”获取

网络技巧:家庭宽带使用小常识,值得收藏
END
网络技巧:家庭宽带使用小常识,值得收藏
数据查询,几个模式化公式请收好

微信扫一扫加关注,Office自学网官方微信公众号,

专注分享软件安装和视频教程,让你一号在手,办公无忧!

下载权限

查看
  • 免费下载
    评论并刷新后下载
    登录后下载

查看演示

  • {{attr.name}}:
您当前的等级为
登录后免费下载登录 小黑屋反思中,不准下载! 评论后刷新页面下载评论 支付以后下载 请先登录 您今天的下载次数(次)用完了,请明天再来 支付积分以后下载立即支付 支付以后下载立即支付 您当前的用户组不允许下载升级会员
您已获得下载权限 您可以每天下载资源次,今日剩余

给TA打赏
共{{data.count}}人
人已打赏
办公技巧

一组常用公式,效率提升2.3%

2023-3-17 12:12:51

办公技巧

这些公式用不好,加班肯定跑不了

2023-3-18 15:14:35

文章版权声明 1、本网站名称:office自学网
2、本站永久网址:https://www.officezxw.com/
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长QQ:1241926466进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索