excel按条件提取数据,excel中提取部分数字

首页 > 职场 > 作者:YD1662023-04-20 14:15:15

从数据区域提取符合条件的数据,并按照由大到小排序,可以先筛选出符合条件的数据,然后将筛选出的数据粘贴到目标区域,最后再进行排序。使用这种方法比较简单,不过缺点是,当数据更新时,需要重复执行筛选排序的操作。

本文接下来介绍用函数法和power query法,从数据源提取符合条件的数据,并自动排序。使用这两种方法的优点是,当数据更新时,不用重复操作就可以更新结果。

本文案例演示使用的是Excel2016版本,使用的函数为SUMPRODUCT、MATCH、INDEX函数。如果使用的是OFFICE365版本,可以使用FILTER SORT函数。

1

案例描述

如下图所示,A1:B8为成绩表。要求提取成绩大于等于80的记录,且提取的记录按成绩由高到低排序,结果如E1:F5所示。

excel按条件提取数据,excel中提取部分数字(1)

2

函数法

1、在C列构建辅助列,并在C2单元格输入以下公式:

=IF(B2>=80,SUMPRODUCT(--($B$2:$B$8>B2)) COUNTIF($B$2:B2,B2),"")

拖动C2单元格填充柄,向下复制公式。

excel按条件提取数据,excel中提取部分数字(2)

公式解析:

(1)SUMPRODUCT(--($B$2:$B$8>B2)),计算B2:B8区域中大于B2单元格中数值的个数。

(2)COUNTIF($B$2:B2,B2),计算B2单元格的值在$B$2:B2中出现的次数。B2单元格数值为“88”,该数值第1次出现,因此COUNTIF($B$2:B2,B2)=1。B4单元格数值也为“88”,但是第2次出现,因此因此COUNTIF($B$2:B4,B4)=2。

(3)SUMPRODUCT COUNTIF函数得到的结果,实际是B2单元格的数值在B2:B8中的排序,如下图所示。B6单元格的数值为“91”,数值最大,因此排序为“1”;B2单元格的数值为“88”,仅次于B6单元格的值,因此排序为“2”;而B4单元格的数值和B2单元格相同,也为“88”,但是由于是第2次出现,因此排序为“3”。

excel按条件提取数据,excel中提取部分数字(3)

(4)IF函数的作用是,当B列中的数值小于80时,在C列中不显示排序号,显示为空文本。

2、在E2单元格输入以下公式:

=IFERROR(INDEX(A$2:A$8,MATCH(ROW()-1,$C$2:$C$8,0)),"")

excel按条件提取数据,excel中提取部分数字(4)

首页 1234下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.