You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel中不使用FILTER函数如何按列值筛选行

非Office 365版本Excel实现按姓名筛选匹配行的方法

你可以通过以下两种常用方案实现需求,无需依赖365专属的FILTER函数:


方法1:INDEX+SMALL+IF数组公式(可自动随D2姓名变动更新结果)

操作步骤

  1. 假设你需要将筛选结果放在G列(对应Value1)、H列(对应Value2),先在G4输入Value1、H4输入Value2作为表头
  2. 点击G5单元格,输入以下公式:
=IFERROR(INDEX(D:D,SMALL(IF($C$5:$C$14=$D$2,ROW($C$5:$C$14),99999),ROW(A1))),"")
  1. 旧版Excel必须按Ctrl+Shift+Enter组合键确认输入,才能激活数组公式生效
  2. 把G5的公式横向拖动到H5,再选中G5和H5一起向下填充,直到单元格出现空白即代表所有匹配行已提取完成

公式逻辑说明

  • IF($C$5:$C$14=$D$2,ROW($C$5:$C$14),99999):遍历所有姓名行,和D2的目标姓名匹配,匹配成功返回对应行号,失败返回一个极大值
  • SMALL(...,ROW(A1)):下拉时依次提取第1、2、N个匹配的行号
  • INDEX(D:D,...):根据行号提取对应列的数值
  • IFERROR(..., ""):所有匹配行提取完成后,自动显示空白,避免出现错误代码

方法2:高级筛选(无需写公式,适合单次筛选场景)

  1. 先构建条件区域:找任意空白单元格,比如F1输入C(和你存姓名的C列列标题保持一致即可,你也可以提前把C4单元格补填为「姓名」,F1就填「姓名」),F2输入=$D$2
  2. 选中你的完整数据区域C4:E14(包含行4的Value1、Value2表头)
  3. 点击顶部菜单栏「数据」选项卡,选择「高级」筛选
  4. 在弹出的对话框中选择「将筛选结果复制到其他位置」,确认「列表区域」为$C$4:$E$14,「条件区域」选择你刚建好的`$F$1:$F$2$,「复制到」选择你要存放结果的起始单元格比如G4,点击确定即可直接生成筛选结果

补充说明:如果你使用的是新版WPS,即使没有Office 365订阅,也原生支持FILTER函数,可直接输入=FILTER(C5:E14,C5:C14=D2,"无匹配结果")使用。

内容的提问来源于stack exchange,提问作者weizer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 22:24:04