excel根据一列数据筛选出另一列及后续多行多列(包含合并单元格)? 50
咔嚓一声巨响,本人闪亮登场!
需要一列辅助列,如下图中的J列:
J2公式为:
=IF(C2="",J1,IF(COUNTIF(A$2:A$7,C2),1,""))
向下填充公式时A2:A7的行号不能变化,所以要加上绝对引用符$把行号锁住。
公式意思是:
如果C格是空单元格,那么返回J格的上方相邻格的值,
否则,如果C格在A列中存在,那么返回一个数字1。
否则,(即C不在A列中时),返回一个空文本""。
【筛选数据】:
选中C1:J16进行筛选(因为第一行是标题,不参与筛选,因此上方要多选上一行)。
以J列值为1作为条件,进行筛选,如下图:
【转移数据】
筛选后被隐藏掉的数据,是不会被复制到的,
因此我们可以在筛选后使用复制粘贴进行数据转移。
选中C列至H列中被筛选出来的数据、复制。
到另张Sheet中进行粘贴即可,如下图:
如图,A20单元格输入公式=IFERROR(INDEX(LOOKUP(ROW($2:$16),ROW($2:$16)/(C$2:C$16<>""),C$2:C$16),SMALL(IF(LOOKUP(ROW($2:$16),ROW($2:$16)/($C$2:$C$16<>""),$C$2:$C$16)=TRANSPOSE($A$2:$A$7),ROW($2:$16)-1),ROW(A1))),"")
数组公式, Ctrl+Shift+回车,公式两端出现大括号{}后,下拉再右拉公式。
(手动将A20:A22、A23:A25、C20:C22、C23:C25的数据分别合并一下单元格,合并时提示只保留最左上角数据时不要管它,确定即可)