excel如何把符合多条件的多条数据全部提取出来
1如下图是某学校某次竞赛成绩表,现在想要将所有一年级2班的学生名单及成绩提取出来。2在f2单元格输入公式=index(c:c,small(if(($a$2:$a$36=$f$1)*($b$2:$b$36=$g$1),row($2:$36),4^8),row(a1)))&""然后按下ctrl+shift+enter三键结束,最后下拉填充直至出现空白单元格为止。3在g2单元格输入公式=index(d:d,small(if(($a$2:$a$36=$f$1)*($b$2:$b$36=$g$1),row($2:$36),4^8),row(b1)))&""同样按下ctrl+shift+enter三键结束,最后下拉填充直至出现空白单元格为止。这样就把1年级1班的学生名单及成绩全部提取出来了。3该信息非法爬取自百度经验4首先是if函数,它是excel中常用的条件函数,根据指定的条件来判其“真”(true)、“假”(false),根据逻辑计算的真假值,从而返回相应的内容。可以使用函数 if 对数值和公式进行条件检测5if(($a$2:$a$36=$f$1)*($b$2:$b$36=$g$1),row($2:$36),4^8)在本文中的意思就是当年级为1年级且班级为2班时,返回其对应的行号,否则返回4^8的结果65536。最后得到一个有大量数字组成的内存数据组,为了方便大家理解我将这组数据放到e列中,如下图6接着是small函数和row函数,small函数作用是返回数据第k个最小值,row函数则是返回参数的行号。small(if(($a$2:$a$36=$f$1)*($b$2:$b$36=$g$1),row($2:$36),4^8),row(a1))则是依次返回上一步所说的内存数据组的第1,第2,第3……个最小值。在单元格中输入=small($e$2:$e$36,row(a1))其返回结果如下图。7然后是index函数,它是返回表或区域中的值或值的引用。它的语法结构是index(单元格区域,行号,列号),因此他在本文中的作用就是返回small函数提供的行号所对应的姓名或者成绩。在单元格中输入公式=index(c:c,f2),其返回结果如下图。end 20210311