Excel 怎么按条件筛选数据
筛选只是把不符合条件的行暂时藏起来,原始数据一行没少。入口位置、多列叠加的用法、筛完求和算错的坑,一次说清。
筛选是把不符合条件的行藏起来,数据一行没少,随时能放回去。它和排序常被混成一件功能,其实排序会真的移动行,筛完再排序,原始顺序就找不回来了。
入口在哪
位置在「数据」选项卡靠右那一组,图标是个漏斗。光标点进数据区域里任意一个单元格,点一下就进入筛选状态,每个标题右边多出一个小箭头。
快捷键是 Ctrl+Shift+L,按一次开、再按一次关。中文输入法下按键可能被抢走,先切到英文再按。
按钮点不动或者点完没有箭头,一般是光标停在表格外面的空白格,或者选中的是不连续区域。光标点进数据中间再试一次,基本就恢复。
真正会让结果错乱的是标题行里的合并单元格和中间的整行空行:合并过的标题只认最左边那一格,夹着空行则只算到空行上面。开筛选前先把这两处清掉。
具体步骤
- 确认标题行是一行、每列一个名字、没有合并、下面没有空行。这一步不做,后面全是坑。
- 光标点进数据区域,点「数据」里的筛选,或直接按
Ctrl+Shift+L。 - 点某一列表头的箭头,勾掉不需要的项,或者直接在搜索框里打字。这是最常用的按值筛选。
- 要按范围筛,用箭头菜单里的数字筛选,比如大于、介于、前 10 项;文本列对应的是文本筛选,比如包含、开头是。
- 再加第二列的条件。多个筛选是同时满足,不是任一满足,两列都设上,剩下的就是两个条件都成立的行。
- 要看全部数据,点箭头里的清除筛选;要退出筛选状态,再按一次
Ctrl+Shift+L。
条件多又不想一层层点,可以在表格旁空白处另写一块条件区域,第一行写标题、下面写条件,再走「数据」里的高级筛选。同一行的多个条件是同时满足,分成两行就是任一满足。
几个坑
- 筛完直接求和。普通求和会把被藏起来的行也算进去,和屏幕上看到的对不上;要只算筛选结果就用
SUBTOTAL,它筛后自动跳过被藏起来的行。 - 筛完复制粘贴。直接选可见区域复制,粘出来会把隐藏行也带上。先在「查找与选择」里选可见单元格再复制。
- 筛完删行。屏幕上看不到的行会跟着一起删,放回来也没了。要清理先清除筛选,确认行数再动手。
- 筛完排序。排序作用于整个区域,隐藏行也会重排,原始顺序就乱了。想保留顺序,先加一列序号。
- 以为条件是「或」。勾了两列得到的是交集,要并集得用高级筛选,或者分两次筛再合结果。
怎么验证
第一看行号。筛选生效时左侧行号会跳号,跳过的就是被藏起来的行;行号连续不断,说明筛选没起作用。
第二看状态栏。选中一列,底部会显示计数,这个数字对应筛选后的行数。清除筛选后再看一次,两个数之差就是藏起来的行数。
第三看总数。在下方空一行写 SUBTOTAL 计数公式,筛选前后它该随条件变,而普通计数始终等于全表行数。两个数对得上,说明筛选范围没错。
常见问题
筛选箭头突然不见了
多半是又按了一次 Ctrl+Shift+L,把筛选整个关掉了,重开一次即可。只有某几列没有箭头,就看那几列的表头是不是改过名或者合并过。
筛选后的序号断了,怎么重编
直接下拉填充会把隐藏行也算进去,编号照样断。用 SUBTOTAL 配 COUNTA 做动态编号,筛选变化时它自己重排,只给可见行编号。
能不能把筛选结果单独存成一张表
可以,选中筛选结果复制,粘到新工作表里。粘之前先选可见单元格,否则隐藏行会一起带过去。也可以用高级筛选里的「将筛选结果复制到其他位置」,一步到位。
一句话总结:筛选只藏行不动数据,开之前清掉合并单元格和空行,多列条件是同时满足,求和与复制都要用只算可见行的做法。