EXCEL怎么用公式提取关键字?

INDEX+SMALL+IF+ROW的函数组合,号称“万能”的函数组合,就是解决一对多查询的一种通式,如果你能掌握,那在Excel里基本上就没有什么查询你是实现不了的了(除了INDIRECT+RC引用)。

很多人在Excel中用函数公式做查询的时候,都必然会遇到的一个大问题,那就是一对多的查找/查询公式应该怎么写?

大多数人都是从VLOOKUP、INDEX+MATCH中入门的,纵然你把全部的多条件查找方法都学会了而且运用娴熟,如VLOOKUP和&、SUMPRODUCT、LOOKUP(1,0/….,但仍然只能对这种一对多的查询望洋兴叹。

这里讲的INDEX+SMALL+IF+ROW的函数组合,号称“万能”的函数组合,就是解决一对多查询的一种通式,如果你能掌握,那在Excel里基本上就没有什么查询你是实现不了的了(除了INDIRECT+RC引用)。

这个函数的特点是:能提取出满足某条件或某些条件的所有数据,可以一次性返回单行单列或多行多列的结果。

让我们通过一个实例来认识一下它们到底有多“万能”吧!

如下图,A1:F9单元格为某次考试结果,每个人一行数据。现在需要在B11单元格(棕色底色填充)输入班级名称,在A14:F21区域返回该班级所有学生考试成绩信息。

本例假设需要查询【1班】所有学生的成绩。

我们的目的是要提取出A列班级名称与B11单元格内容一致的所有数据,如果:1)能提取出符合条件的所有行数;

2)这些行数能从小到大一个一个的输出;

3)可以从原始数据中按第2步输出的行数把数据引用过来,那么问题就解决了。

恰好,在Excel中存在这么几个函数能达到目的,下面我们来逐个介绍。

3、如何提取出符合条件的所有行数?

我们可以使用IF函数判断来生成所有符合条件的行号数组,如下:

本例生成的数组为棕色部分(A2=1班,所以返回A2的行号2,以此类推),按F9可以看到如下数组:

如果要满足多个条件,可以用

这种方式来实现,例如要返回【班级】为“1班”且【总分】>200的查询结果,此部分可以改成:

4、如何顺序输出上一步获得的行号?

由于上一步获得的符合条件的行号数组是数字和FALSE的组合,我们利用SMALL函数就可以逐步输出符合条件的行号。

为了下拉公式方便,我们一般用ROW()函数做SMALL的第二参数,保证下拉公式时自动提取第2小,第3小……

将第一步产生的数组中符合条件的行号从最小的开始连续输出。

从下图可以看到,符合条件的行号已经可以连续输出了。

错误值可以先不用关心,后面我们用其他函数屏蔽。

5、接下来,用函数提取数据

最后一步提取数据可以选用的函数比较多,本例介绍INDEX函数方法。

简单说,INDEX函数可以实现从第一参数中提取出第二参数个数据的目的。

那么,我们用(红色部分是上一步SMALL函数,第一个返回值为2):

就可以返回A1:A9中的第2个值,也就是第1个“1班”;下拉公式就返回了第2个“1班”……

我们把上一步的函数组合放在查询结果区域的第一列,Ctrl+Shift+enter运行公式,并下拉,结果如下:

这样就获得了班级的返回结果。

后面要获取姓名和各科成绩等信息怎么办呢?

通过分析,我们知道了SMALL函数输出的结果已经固定不变了,现在只需要改变INDEX函数引用的列即可。

因此我们将INDEX函数的第一参数设置成了A$1:A$9【行绝对引用,列相对引用】,这样,我们向右拉动公式就会自动变成B$1:B$9。

可以看到上步产生的结果还有错误值存在,我们用IFERROR函数去屏蔽错误值,如果INDEX函数返回的是错误值,则在单元格返回空。

这样就最终完成了查询功能的设置。

一般还有用INDEX(大区域,SMALL(IF(条件区域=条件,ROW(条件区域),4^8),ROW(A1)))&””这种方式去屏蔽错误值,这种屏蔽错误值的思路是,如果条件区域=条件就返回条件区域行号,否则返回一个比较大的用不到的行号,比如说4^8行或数据区域下面的一个空行行号。

这样,INDEX在输出完所有符合条件的行后开始调用4^8行的值(空单元格),为了避免返回0所以再加上一个&””。

本例未使用此种方法,主要是由于后面要查询的其他列有数字,用上述&””的方法数字会变成文本。

如果有日期的时候,日期格式存储的数据会变成一个数字。

}

一起来学office,提高办公技能

多名考生的考试成绩 如下 表:


需要排出名次,具体要求:

首先考虑总分,如果总分一样,再考虑科目1,如果科目1分数一样,再考虑科目2,如果科目2分数一样,再考虑科目3。

就等同于按照总分为第一关键字、科目1为第二关键字、科目2为第三关键字、科目3为第四关键字降序排列,然后再统计名次,如下图:


只不过,这里要求用函数准确统计出每位考生的名次。

如果仅按总分排名次,大家基本都能会,用RANK函数就可以了。如下图,在F2单元格输入公式“=RANK(B2,$B$2:$B$28)”,确定,公式向下填充即可。


这样得出的结果:总分一样,则名次一样。

比如总分同是220分,排名都是4,不能更细的区分出名次排位。

如果总分相同,再考虑科目1

如果总分相同,再按照科目1进一步计算排名,则需要换公式。


我们可以看到:总分相同,但科目1分数不同,则名次不同。

如果总分相同、科目1分数相同,再考虑科目2


如果总分相同、科目1科目2分数相同,可以再考虑科目3进一步排名,公式怎么写?朋友们可以试着写出来,留言。

韩老师将数据分享,大家可以下载练习,练习时,可以修改相应的数据以检验自己公式对与否。

最近有不少朋友从本地书城或书店,或者京东上买了韩老师的书,说案例很实用,韩老师再将书的链接发在这里,有需要的朋友可以趁着618大促来购买:

购买后记得来找韩老师要素材。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

}

怎么从excel表格中筛选出含有某个字的所有内容  以下文字资料是由(历史新知网)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

怎么从excel表格中筛选出含有某个字的所有内容

针对这个字做条件格式,再按格式筛选。
示例:筛选出含”百度“的单元格。
选中该列——点击条件格式——新建规则;
规则类型:只为包含以下内容的单元格设置格式。
规则说明:特殊文本,包含,百度,设置格式为红色字体。
筛选(按颜色筛选:红色)

excel中,表1A列 包含表2A列所有内容,如何筛选出表1与表2相同的所有内容

mysql中怎么筛选出含有某个字符的数据并且替换

excel 怎么筛选出表中含有某字的信息?调出到其他表

筛选--自订--包含“合肥”,确定,再复制到其它地方即可。

怎么用excel筛选出包含某字的所有单元格

假设关键词是“字”,在A列(有表头),在区外的第二行(如B2)输入:
菜单栏——数据——排序和筛选版块——高级——出现《高级筛选》对话框——列表区域:导入A列数据区域——条件区域:导入B1:B2——方式:根据需要——确定。

上传带行列号的有数据示例的表格截图,清楚说明已知条件,达成什么样的结果,才能有针对性地给你准确的答案。

excel 中怎么提取某个字符前的所有内容提取出来

数据---分列---单选“分隔符号”,下一步---勾选“其它”,输入#---点击完成。#以前的内容就是单独的一列了。

替换,选择选项——单元格格式,设置成红色

从两个excel表格中筛选出他们信息一样的信息

希望有人发文并且满意尽快采纳答案

EXCEL表格筛选出倒数第二位为8的所有行

}

我要回帖

更多关于 如何提取单元格中某一关键字 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信