Table of contents
有时我们可能需要搜索某些数据来进行工作。 但当数据集很大时,真的很难找到我们要找的东西。 在这篇文章中,我们将告诉你如何 从Excel中提取数据 基于不同的标准。
下载实践模板
你可以从这里下载免费的练习Excel模板。
基于标准的数据提取.xlsx基于标准从Excel中提取数据的5种方法
本节将讨论根据某些标准从Excel中提取数据的5种不同方法。
1.实施数组公式,根据范围标准从Excel中提取数据
以下面的数据集为例,我们将向你描述基于范围提取数据的过程。 假设,我们有一个学生信息的数据集,我们只想从其中检索出获得以下信息的学生信息 分数从80到100 .
根据某一范围提取数据的步骤,使用 阵列 公式如下。
步骤。
- 首先,将条件存储在其他单元格中,以便以后处理这些条件。 这意味着我们将提取学生的详细信息,谁得到了 分数从80到100 ,我们储存了 80为起始值 和 100为终点值 在 细胞I4 和 I5 分别是。
此外,我们还需要存储列,从那里我们将寻找我们的存储值。 意思是,马克80和100是在 标识栏 这就是 第3栏 在我们的数据集中,所以我们把 3为列值 在 细胞I6 .
=index($b$5:$e$14,small(if((index($b$5:$e$14,,$i$6)=$i$4),match(row($b$5:$e$14),row($b$5:$e$14)),""),rows(g11:$g$11)) , columns($a$1:a1)
- 第三,按 Ctrl + Shift + Enter 在你的键盘上。
然后,你将在结果单元格中得到符合你条件的第一个提取的数据。 例如: 约翰尼 其 身份证 是 3 得到了 80分 在 生物学 而且他的记录比其他人的记录更早地存储在数据集中,所以我们得到了 约翰尼的身份证 3 在结果单元格中。
- 现在,通过以下方式拖动列和行的位置 填充手柄 只检索得到的学生的详细资料。 分数从80到100 .
公式分解
- index($b$5:$e$14,,$i$6)
- Output: {60;30;80;55;87;95;100;42;25;18}
- 解释:INDEX功能 通常从给定的单元格范围内返回一个单一的值或整个列或行。 3 被存储在 单元$6 ,所以它返回的是整个列,没有 3 ( 符号 栏),从整个数据集的范围内( $B$5:$E$14 )作为输出。
- INDEX($B$5:$E$14,,$I$6)<=$I$5 -> 成为。
- {60;30;80;55;87;95;100;42;25;18}<=100
- 输出:{TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}。
- 解释一下。 我们储存了 100 在 细胞$5 由于所有的值都小于 100 ($I$5) ,所以它返回一列充满 为真 .
同样地。
- INDEX($B$5:$E$14,,$I$6)>=$I$4 -> 成为。
- { 60;30;80;55;87;95;100;42;25;18}>=80
- 输出:{FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE}。
- 解释一下。 我们储存了 80 在 单元$4 所以它返回 为真 当来自该列的值为 等于或大于80 ;否则,它返回 失败 .
- (index($b$5:$e$14,,$i$6)=$i$4) -> 成为。
- {真;真;真;真;真;真;真;真;真;真;真;真}*{假;假;真;假;真;真;真;假;假;假}。
- 输出:{0;0;1;0;1;1;1;0;0;0}。
- 解释一下。 布尔值有数字等价物。 TRUE = 1 和 FALSE = 0(零)。 在公式中进行算术运算时,它们被转换。
- 行($b$5:$e$14)
- Output: {5;6;7;8;9;10;11;12;13;14}
- 解释一下。 ROW功能 计算一个单元格引用的行数。
- match(row($b$5:$e$14),row($b$5:$e$14)) -> 成为。
- MATCH({5;6;7;8;9;10;11;12;13;14},{5;6;7;8;9;10;11;12;13;14})
- 输出:{1;2;3;4;5;6;7;8;9;10}。
- 解释一下。 MATCH功能 返回一个数组或单元格引用中与指定值相匹配的项目的相对位置,并按特定顺序排列。
- if((index($b$5:$e$14,,$i$6)=$i$4),match(row($b$5:$e$14),row($b$5:$e$14)), "") -> 成为。
- IF( {0;0;1;0;1;1;1;0;0;0}), {1; 2; 3; 4; 5; 6; 7; 8; 9; 10},"")
- 输出:{""; ""; 3; ""; 5; 6; 7; ""; ""; "" }
- 解释一下。 中频功能 返回一个值,如果逻辑测试是 为真 和另一个值,如果逻辑测试是 失败 .
- small(if((index($b$5:$e$14,,$i$6)=$i$4),match(row($b$5:$e$14),row($b$5:$e$14)),""),rows(g11:$g$11) -> 成为。
- small({""; ""; 3; ""; 5; 6; 7; ""; ""}, rows(g11:$g$11)) -> 成为。
- small({""; ""; 3; ""; 5; 6; 7; ""; ""; "" },1)
- 输出:3
- 解释一下。 小巧功能 返回的是 k-th 最小值 从一组数字中。 3 是这组中最小的。
- index($b$5:$e$14,small(if((index($b$5:$e$14,,$i$6)=$i$4),match(row($b$5:$e$14),row($b$5:$e$14)),""),rows(g11:$g$11), columns($a$1:a1) -> 成为。
- index($b$5:$e$14,3,,1)
- 输出:{3;"Johnny", 80, "Biology"}。
- 解释一下。 ǞǞǞ 索引 函数从一个单元格范围内返回一个值( $B$5:$E$14 ),由基于行和列号的数值指定。
阅读更多。 如何从Excel的单元格中提取数据(5种方法)
2.实施数组公式,根据多个条件从Excel中提取数据
在上一节中,我们基于一个给定的范围提取数据。 但在这一节中,我们将向你展示如何基于多个条件提取数据。
看看与之前相同的数据集,但这里不是将一个数值范围(分数80到100)作为一个条件来存储,而是存储了多个条件,例如从以下方面检索学生的详细信息 化学和生物系都有 .
根据多个条件提取数据的步骤,使用 阵列 公式如下。
步骤。
- 首先,将条件存储在其他单元格中,以便以后处理这些条件。 这意味着我们将从以下方面提取学生的详细资料 化学 和 生物学 部门,我们存储了 化学 和 生物学 在 细胞H5 和 H6 分别是。
- 第二,在另一个单元格中,你想要的结果(我们希望我们的结果在 细胞G11 ),写出以下公式。
=index($b$5:$e$14, small(if(countif($h$5:$h$6,$e$5:$e$14), match(row($b$5:$e$14), row($b$5:$e$14)), ""), rows(g11:$g$11), columns($b$5:b5)
- 第三,按 Ctrl + Shift + Enter 在你的键盘上。
之后,你会在结果单元格中得到符合你条件的第一个提取的数据。 例如: 约翰尼 其 身份证 是 3 是来自 生物学系 而且他的记录比其他人的记录更早地存储在数据集中,所以我们得到了 约翰尼的身份证 3 在结果单元格中。
- 现在,通过以下方式拖动列和行的位置 填充手柄 只检索来自该校的学生的详细信息。 部门 的 化学 和 生物学 .
公式分解
- countif($h$5:$h$6,$e$5:$e$14) -> 成为。
- COUNTIF({"化学"; "生物"},{"数学"; "物理"; "生物"; "化学"; "物理"; "数学"; "化学"; "数学"; "生物"})
- 输出:{0;0;1;1;0;0;0;1;0;1}。
- 解释一下。 COUNTIF函数 允许识别范围内的单元格 5美元:6美元 相当于 $E$5:$E$14 .
- if(countif($h$5:$h$6,$e$5:$e$14), match(row($b$5:$e$14), row($b$5:$e$14)), " ") -> 成为。
- if({0;0;1;1;0;0;1;0;1},match(row($b$5:$e$14), row($b$5:$e$14)), " ") -> 成为。
- IF({0;0;1;1;0;0;0;1;0;1},{ 1; 2; 3; 4; 5; 6; 7; 8; 9; 10},"")
- 输出:{"";"";3;4;"";"";"";8;"";10}。
- 解释一下。 ǞǞǞ 基金会 函数有三个参数,第一个参数必须是一个逻辑表达式。 如果该表达式的值为 为真 那么就会发生一件事(参数2),如果 失败 另一件事发生了(参数3)。 逻辑表达式是在步骤1中计算的。 为真 等同于 1 和 失败 等同于 0 (零) .行不 3, 4, 8 和 10 评价 为真 (1) .
- small(if(countif($h$5:$h$6,$e$5:$e$14), match(row($b$5:$e$14), row($b$5:$e$14)), " "), rows(g11:$g$11) -> 成为。
- small({""; ""; 3; 4; ""; ""; 8; "";10},rows(g11:$g$11)) -> 成为。
- small({""; ""; 3; 4; ""; ""; 8; "";10},1)
- 输出:3
- 解释一下。 ǞǞǞ 小型 函数返回 k-th 最小值 从一组数字中。 3 是这组中最小的。
- index($b$5:$e$14, small(if(countif($h$5:$h$6,$e$5:$e$14), match(row($b$5:$e$14), row($b$5:$e$14)), ""), rows(g11:$g$11), columns($b$5:b5) -> 成为。
- index($b$5:$e$14, 3, columns($b$5:b5)) -> 成为。
- index($b$5:$e$14, 3, 1)
- 输出:{3;"Johnny", 80, "Biology"}。
- 解释一下。 ǞǞǞ 索引 函数从一个单元格范围内返回一个值( $B$5:$E$14 ),由基于行和列号的数值指定。
阅读更多。 在Excel中基于单一标准返回多个值(3种选择)
3.使用过滤命令工具从Excel中提取基于范围标准的数据
Excel中的过滤器命令工具是最常用和最有效的工具之一。 提取具体数据 基于不同的标准。
请看下面的数据集,之前我们用它作为例子,通过实现数组公式,提取获得80-100分的学生的详细信息。 但在本节中,我们将学习如何通过利用 Excel的过滤工具 .
下面给出了使用Excel的 "过滤器 "根据某一范围提取数据的步骤。
步骤。
- 首先,只选择 页眉 的数据集。
- 第二,去 数据 -> 过滤器 .
- 第三,它将插入一个 下拉按钮 在数据集的每个标题名称中。
- 然后,由于我们想根据标记提取数据,所以点击 标识旁边的下拉按钮 列。
- 接下来,从下拉列表中,选择 数字过滤器-> 之间。 (同样,由于我们正在提取数据 80至100之间 ,所以我们选择选项 之间的关系 你可以根据你的标准从列表中选择任何其他选项)。
- 现在,从弹出的 自定义自动过滤器 框,选择 80 从 下拉列表 这将会出现,只需点击 下拉按钮 挨着 大于或等于 标签,并选择 100 在标签箱中 小于或等于 .
- 随后,点击 认可 .
最后,你将得到所有的细节,只有那些获得了 分数从80到100 .
阅读更多。 如何从图像中提取数据到Excel(快速步骤)?
类似读物
- 如何从另一个Excel文件中导入数据到Excel(2种方法)
- 将文本文件转换为Excel的VBA代码(7种方法)
- 如何将文本文件自动转换为Excel(3种合适的方法)
- 用分隔符将Excel转换为文本文件(2种简单方法)
- 如何将带有多个分隔符的文本文件导入Excel(3种方法)
4.利用高级过滤器从Excel中提取基于范围标准的数据
如果你不想经历过滤器部分显示的很多步骤,你可以使用 高级过滤器 在Excel中的选项,根据一个给定的范围提取数据。
要利用Excel中的高级过滤选项,你必须在工作表中定义条件,以便以后使用。 请看下图,我们定义的条件是提取学生的详细资料,即 分数80至100 在两个不同的细胞中作为 >=80 和 <=100 根据 符号 而我们将使用 细胞参考号 在我们以后的工作中,这些细胞的情况。
下面给出了使用Excel的高级过滤器根据某个范围提取数据的步骤。
步骤。
- 首先,选择 整个数据表 .
- 第二,到 数据 -> 高级 .
- 最后,你会看到你的范围 选定的数据 旁边的方框中。 列表范围 选择。
- 然后,在旁边的方框中 标准范围 ,选择 携带规定条件的细胞 你会看到工作表的名称将在那里自动生成,跟随持有预定义条件的单元格参考号。
- 最后,点击 认可 .
因此,你将得到所有的细节,只有那些得到了的学生才会有。 分数从80到100 .
阅读更多。 将Excel中过滤后的数据提取到另一个工作表(4种方法)
5.根据范围标准从Excel定义的表中提取数据
你可以从一个 Excel定义的表格 从你的Excel工作表中使用 过滤器 选择。
考虑以下未组织的数据集,我们首先将其定义为一个Excel表,然后从中提取数据。
下面给出了从Excel定义的表格中基于某个范围提取数据的步骤。
步骤。
- 在开始时,选择 任何细胞 从你的数据集中选出一个,然后按 Ctrl T .
- 然后,一个弹出的 创建表格 框将出现,显示 你的数据集的范围作为值 .保留复选框 我的表格有标题 标记。
- 随后,点击 认可 .
它将 自动生成一个表格 基于你的数据集,用一个 下拉按钮 与标题一起。
- 然后,就像我们之前向你展示的那样,点击 标识旁边的下拉按钮 列,因为我们想根据标记提取数据。
- 之后,从下拉列表中选择 数字过滤器-> 之间。 (同样,由于我们正在提取数据 80至100之间 ,我们选择选项 之间的关系 你可以根据你的标准从列表中选择任何其他选项)。
- 现在,从弹出的 自定义自动过滤器 框,选择 80 从 下拉列表 这将会出现,只需点击 下拉按钮 挨着 大于或等于 标签,并选择 100 在标签箱中 小于或等于 .
- 最后,点击 认可 .
最后,你会得到一个Excel定义的表格,其中只包含了得到了 "我 "的学生的详细信息。 分数从80到100 .
阅读更多:如何根据Excel中的多个标准从表中提取数据
牢记
- 由于要搜索的数据表数组的范围是固定的,不要忘记把 美元 符号在阵列表的单元格参考号前面。
- 在处理数组值时,不要忘记按 Ctrl + Shift + Enter 在提取结果时,只按键盘上的 进入 只有在你使用 微软365 .
- 在按下 Ctrl + Shift + Enter ,你会注意到,公式栏里的公式是在 大括号 {} 不要输入那些 括号 {} 你自己,Excel会自动为你做这个。
总结
在这篇文章中,我们学习了如何根据不同的标准从Excel中提取数据。 我希望这篇文章能让你受益匪浅。 如果你有关于这个主题的任何问题,请随时提出。