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

如何在Excel中无需VBA仅显示值为'yes'的行?

最优函数解决方案:筛选库存为'yes'的记录

一、现代Excel版本(365/2021及以后):用FILTER函数(最优选择)

如果你的Excel是365或2021版本,直接用FILTER函数就能完美解决,无需下拉填充,自动动态更新结果,还不会有空行。

假设第一个工作表叫「数据源」,产品数据范围是A1:D10(其中D列为库存状态列),在第二个工作表的A1单元格输入公式:

=FILTER(数据源!A1:D10, 数据源!D1:D10="yes")

输入后会自动返回所有库存状态为yes的完整行,结果会自适应行数,完全没有空行。

二、旧版Excel(2019及以前):用INDEX+SMALL+IF组合数组公式

如果是旧版本Excel不支持FILTER,可以用数组公式来避免空行:

在第二个工作表的A1单元格输入以下公式,然后按Ctrl+Shift+Enter(数组公式必须按这个组合键确认):

=IFERROR(INDEX(数据源!A:A, SMALL(IF(数据源!$D$1:$D$10="yes", ROW(数据源!$D$1:$D$10), ""), ROW(A1))), "")

然后把公式向右、向下填充到对应列和行,这样只会按顺序显示符合条件的记录,超出符合条件的行数后会显示空单元格,不会出现无效的空行。

为什么之前的方法不行?

  • VLOOKUP:它的核心是单值匹配查找,只能根据指定查找值返回对应结果,没法批量筛选出所有符合条件的多行记录,所以不适用。
  • 单独用IF函数:会逐行判断每行是否符合条件,不符合的行直接返回空值,自然会出现大量空行,没法把符合条件的记录集中排列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 16:20:48