服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

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

日期: 来源:Excel之家ExcelHome收集编辑:祝洪忠

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


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对应位置的姓名。


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


练习文件:

https://pan.baidu.com/s/1-bpkuDJGVRc-_S6-E8LNEA?pwd=6688


图文制作:祝洪忠


相关阅读

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

  • 小伙伴们好啊,今天咱们分享一组数据查询的常用公式,看看这些公式你会几种?如下图所示,需要根据H2单元格中的月份,以及H4单元格的城市名,在左侧数据表中来查询同时符合两个条件的数
  • 四舍五入函数

  • ROUND函数是常用的四舍五入函数之一,用于将数字四舍五入到指定的位数。该函数对需要保留位数的右边1位数值进行判断,若小于5则舍弃,若大于等于5则进位。其语法结构为:ROUND(numb
  • 条件格式用不好,奖金数你发的少

  • 小伙伴们好啊,今天和大家分享一个条件格式技巧。先看效果,单击调节按钮,在指定名次之后的数据就会突出显示:步骤1 插入控件在【开发工具】选项卡下,插入数值调节钮。右键单击控件
  • Excel批量插入图片,以后就归函数管了

  • Excel批量插入图片,归函数管了?对,你没看错。Microsoft 365出了一个新函数:IMAGE!以前各种折腾、各种代码的操作,即将被淘汰。准备工作1:一堆图片图片还是那个图片,但保存的位置却不
  • 经典论文解读——布隆过滤器

  • 作者:pishi,腾讯 PCG 后台开发工程师布隆过滤器是一种具有空间优势的概率数据结构,用于回答一个元素是否存在于一个集合中这样的问题,但是可能会出现误判——即一个元素不在集合
  • 新书推荐 | MATLAB信号处理(第2版)

  • 白日何短短,百年苦易满。——唐代 · 李白《短歌行》图书目录第一部分 MATLAB基础知识第1章 初识MATLAB31.1 工作环境1.1.1 操作界面简介1.1.2 命令行窗口1.1.3 命令历史记录
  • "再见了,百度网盘!”

  • 不会吧,都2023年了,还有人在网盘、B站里学“Excel的用法和表格模板”?宝~ 那忒麻烦了,还不靠谱今个,分享你一华为内部流出的 Excel学习资源!1、用Vlookup等66个函数,1秒完成工作数
  • 为什么要避免使用 libc

  • 【编者按】libc 是 Linux 下的标准 C 库,也是初学者写 hello world 包时含有的头文件 #include < stdio.h> 定义的地方,后来其逐渐被 glibc 给取代,本文作者列出了为什么要避免
  • Python+OpenCV与海康工业相机交互

  • 点击下方卡片,关注“新机器视觉”公众号重磅干货,第一时间送达 来源 | 点云PCL1前言因为项目的原因,笔者需要开发自己的程序与海康工业相机(黑白相机)进行实时交互,而不是简单的

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

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

  • 小伙伴们好啊,今天咱们分享一组数据查询的常用公式,看看这些公式你会几种?如下图所示,需要根据H2单元格中的月份,以及H4单元格的城市名,在左侧数据表中来查询同时符合两个条件的数
  • 数据查询,几个模式化公式请收好

  • 小伙伴们好啊,今天和大家分享几个数据查询的典型公式应用。1、一对多查询所谓一对多,就是符合某个指定条件的有多个结果,要把这些结果都提取出来。如下图所示,希望根据F2单元格
  • 该校18号复试,2校成绩出错!

  • 本文由考研斯基原创,未经授权禁止转载本文约2300字,预计需要7分钟大家好,我是考研斯基。近几年受疫情防控等因素的影响,大部分院校都选择采取线上的形式来组织考生复试。但是今
  • 214条最新调剂信息

  • 本文由考研斯基原创,转载须注明来源出处本文约2350字,预计需要8分钟大家好,我是考研斯基。下面是近期官方的最新调剂信息:(点击查看原图)想要查看以上调剂信息详情及报名方式的同