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

如何依据主工作表D列TRUE值填充子表数据且无空白行?

提取主表中D列为TRUE的行到子表(无空白行)

方法1:使用FILTER函数(推荐,适用于Excel 365/2021及以上版本)

在子表的A1单元格输入以下公式,回车后会自动提取所有符合条件的行,且不会留下空白行:

=FILTER(Sheet5!A:C, Sheet5!D:D=TRUE, "无符合条件的数据")
  • 第一个参数Sheet5!A:C指定要提取的前三列数据范围
  • 第二个参数Sheet5!D:D=TRUE是筛选条件,只保留D列为TRUE的行
  • 第三个参数可选,当没有符合条件的行时显示提示文本,可根据需要修改或删除

方法2:使用INDEX+SMALL组合(兼容旧版Excel)

如果你的Excel版本不支持FILTER函数,可使用数组公式实现:
在子表的A1单元格输入公式,按Ctrl+Shift+Enter确认(新版Excel可能无需手动触发数组计算):

=IFERROR(INDEX(Sheet5!A:A, SMALL(IF(Sheet5!D:D=TRUE, ROW(Sheet5!D:D)), ROW(A1))), "")

然后将公式横向复制到B、C列,再纵向下拉填充,直到单元格显示空值即可。

  • IF(Sheet5!D:D=TRUE, ROW(Sheet5!D:D))会生成所有D列为TRUE的行号数组
  • SMALL(..., ROW(A1))按顺序取出第1、2、3...个符合条件的行号
  • INDEX根据行号提取对应列的数据,IFERROR处理无更多数据时的显示

你之前用的IF公式会留空白行,是因为它逐行判断并返回结果,即使不符合条件也会占用一行;而上述两种方法只会提取符合条件的行,自动紧凑排列,不会留下空白行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 04:57:20