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

能否用单个公式实现表格上方值填充与特定行筛选?

需求与解决方案

问题描述

我有一个包含group、sub、spec列及12个月数值列的表格,需要完成两项操作:

  1. 将group、sub列的空白单元格填充为上方最近的有效值
  2. 筛选出仅spec列有内容的行

请问有没有能同时实现这两个需求的单个公式?

给定数据

groupsubspecsummon1mon2mon3
a333
b233
c5122
c16321
b1345
c25212
a1555
b2234
c39234
c46222
c54121

期望输出

groupsubspecsummon1mon2mon3
abc5122
abc16321
ab1c25212
a1b2c39234
a1b2c46222
a1b2c54121

解决方案(Excel动态数组公式)

可以用Excel动态数组函数组合实现,单个公式即可完成两项需求。假设数据在A1:G11区域(表头在第1行),在空白单元格输入以下公式:

=FILTER(
    HSTACK(
        SCAN("",A2:A11,LAMBDA(a,b,IF(b<>"",b,a))),
        SCAN("",B2:B11,LAMBDA(a,b,IF(b<>"",b,a))),
        C2:G11
    ),
    C2:C11<>""
)

公式解析

  • SCAN("",A2:A11,LAMBDA(a,b,IF(b<>"",b,a))):遍历group列,将空白单元格替换为上方最近的有效值
  • 第二个SCAN函数同理处理sub列
  • HSTACK:将处理后的group、sub列与原表格的spec到数值列合并为新数组
  • FILTER:筛选出spec列(对应新数组第3列)不为空的行

如果是不支持动态数组的旧版Excel,无法用单个公式实现,需分两步操作:先通过填充公式补全空白单元格,再手动筛选spec列非空的行。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 21:30:35