EXCEL 某单元格不为空时,提取该单元格所在行所有数据到另一个工作表

如上图,第一个工作表里C列有的是空白,有的是记录了员工的出勤情况,现在想把C列所有不为空单元格的所在行全部自动汇总到另一个工作表内。实现下图

用什么公式可以这样自动实现筛选汇总?

用数组公式可实现
={INDEX(C:C,SMALL(IF($C$2:$C$200="",65536,ROW($C$2:$C$200)),ROW(A1)))&""}
可以将这个公式,复制到第一个表格D1中先试试看
数组公式,要ctrl+shift+enter三键结束

将其中的单元格,改成你表里的单元格即可

这是提取C列的值,同理,B列、A列公式为
={INDEX(B:B,SMALL(IF($C$2:$C$200="",65536,ROW($C$2:$C$200)),ROW(A1)))&""}
={INDEX(A:A,SMALL(IF($C$2:$C$200="",65536,ROW($C$2:$C$200)),ROW(A1)))&""}追问

请问65536是什么意思啊

追答

65536是最大行,也就是当单元格时空值时,行数=65536,从而在用small排序时,排到最后面

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-11
要灵活点,这个用筛选,选择性粘贴比用公式方便。
第2个回答  2015-11-11
直接用筛选功能就能实现,筛选所有非空白项目,然后复制到另外一个工作表
第3个回答  2015-11-11
用高级筛选
第4个回答  2015-11-11
全选把空的点掉就可以了追问

我知道可以用筛选,有没有什么公式能自动在另一个工作表里实现,谢谢啦

相似回答