按条件提取数据,无论是一对多还是多对多的提取,我们都会使用经典的套路组合。那么,在筛选条件下,我们还可以使用吗? 题目时这样子的: 在筛选条件下,提取成绩大于等于70分的所有数据。 在筛选条件下,我们仍旧可以使用对多的经典公式。 在单元格A2中输入下列公式,三键回车并向右向下拖曳即可。 =IFERROR(INDEX(Sheet1!A$2:A$61,SMALL(IF(SUBTOTAL(3,OFFSET(Sheet1!$D$1,ROW($1:$60),))*(Sheet1!$D$2:$D$61)>=80,ROW(Sheet1!$D$2:$D$61)-1),ROW(A1))),'')
这部分,以sheet1中单元格D1为基点,分别向下移动1行-60行,形成一个新的内存数组。 SUBTOTAL(3,OFFSET(Sheet1!$D$1,ROW($1:$60),)) 这部分,利用SUBSTOTAL来判断哪些单元格是隐藏状态,哪些是显示状态,并分别返回0和1。
条件判断。 IF(SUBTOTAL(3,OFFSET(Sheet1!$D$1,ROW($1:$60),))*(Sheet1!$D$2:$D$61)>=80,ROW(Sheet1!$D$2:$D$61)-1) IF函数对上面的条件进行判断,满足部分返回对应的行号。
INDEX函数嵌套SMALL函数返回正确答案。 最后IFERROR函数屏蔽错误 这个就是我们在筛选条件下按条件提取数据的经典套路! |
|
来自: 互利互读一辈子 > 《筛选条件下提取数据》