如何根据标准从Excel中提取数据(5种方法)

  • Share This
Hugh West

有时我们可能需要搜索某些数据来进行工作。 但当数据集很大时,真的很难找到我们要找的东西。 在这篇文章中,我们将告诉你如何 从Excel中提取数据 基于不同的标准。

下载实践模板

你可以从这里下载免费的练习Excel模板。

基于标准的数据提取.xlsx

基于标准从Excel中提取数据的5种方法

本节将讨论根据某些标准从Excel中提取数据的5种不同方法。

1.实施数组公式,根据范围标准从Excel中提取数据

以下面的数据集为例,我们将向你描述基于范围提取数据的过程。 假设,我们有一个学生信息的数据集,我们只想从其中检索出获得以下信息的学生信息 分数从80到100 .

根据某一范围提取数据的步骤,使用 阵列 公式如下。

步骤。

  • 首先,将条件存储在其他单元格中,以便以后处理这些条件。 这意味着我们将提取学生的详细信息,谁得到了 分数从80到100 ,我们储存了 80为起始值 100为终点值 细胞I4 I5 分别是。

此外,我们还需要存储列,从那里我们将寻找我们的存储值。 意思是,马克80和100是在 标识栏 这就是 第3栏 在我们的数据集中,所以我们把 3为列值 细胞I6 .

  • 第二,在另一个单元格中,你想要的结果(我们希望我们的结果在 细胞G11 ),写出以下公式。
  • =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中提取数据。 我希望这篇文章能让你受益匪浅。 如果你有关于这个主题的任何问题,请随时提出。

    Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.