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

Google Sheets中如何按规则提取非空单元格并垂直粘贴至指定列?

解决Google Sheets按行提取非空单元格并垂直排列的需求

具体场景解决方案

针对你需要处理「Internal Split」工作表B2:K5区域,将每行第一个空单元格前的非空单元格垂直导入「Accounting Split」A列的需求,可使用以下Google Sheets公式直接实现:

=LET(
  range, 'Internal Split'!B2:K5,
  row_data, BYROW(range, LAMBDA(row, INDEX(row,,1):INDEX(row,,MATCH(TRUE, ISBLANK(row), 0)-1))),
  flattened, FLATTEN(row_data),
  FILTER(flattened, flattened<>"")
)

公式说明:

  • range:指定要处理的目标单元格区域,这里对应「Internal Split」的B2:K5
  • row_data:通过BYROW遍历每一行,用MATCH定位该行第一个空单元格的位置,随后提取从行首到该空单元格前一位的所有非空内容
  • flattened:将每行提取的内容平铺为一维数组
  • FILTER:过滤掉平铺数组中的空值,得到最终的垂直排列结果

使用方法:将上述公式粘贴到「Accounting Split」工作表的A1单元格,结果会自动生成。

通用操作思路

如果要推广到任意行区域的处理,只需修改公式中的range参数为目标区域即可。核心逻辑是:遍历每行→定位首个空单元格→提取该行前序非空内容→平铺过滤→垂直排列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 20:55:28