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

Google Sheets中如何合并二维区域并忽略双方空白单元格?

Google Sheets 区域内容合并解决方案

输入区域

Input Range 01(E-G列,行2-7)

  • E列:Set 1、Set 1、Set 1、Set 1、Set 1、(空白)
  • F列:Set 2、Set 2、Set 2、Set 2、Set 2、Set 2
  • G列:Set 3、Set 3、Set 3、(空白)、Set 3、Set 3

Input Range 02(A-C列,行2-7)

  • A列:Category 1、(空白)、Category 3、Category 4、(空白)、Category 6
  • B列:Category 1、Category 2、Category 3、Category 4、(空白)、Category 6
  • C列:Category 1、Category 2、(空白)、Category 4、(空白)、Category 6

需求输出

  • I列:Set 1 Category 1、(空白)、Set 1 Category 3、Set 1 Category 4、(空白)
  • J列:Set 2 Category 1、Set 2 Category 2、Set 2 Category 3、Set 2 Category 4、Set 2 Category 6
  • K列:Set 3 Category 1、Set 3 Category 2、(空白)、(空白)、Set 3 Category 6

可行公式

基础版(生成对应合并区域,保留空白行)

在单元格I2输入以下公式,会自动扩展到K7:

=ARRAYFORMULA(IF((E2:G7<>"")*(A2:C7<>""), E2:G7&" "&A2:C7, ""))

公式说明:

  • (E2:G7<>"")*(A2:C7<>""):通过乘号实现逻辑与,判断对应位置的Set单元格和Category单元格是否都不为空
  • 满足条件时合并为"Set Category"格式;不满足时显示空白
  • ARRAYFORMULA实现批量计算,无需手动下拉填充

进阶版(自动过滤全空白行)

如果需要自动移除整行全空白的行(比如原数据第6行),可使用以下公式(未使用Lambda或复杂辅助函数):

=FILTER(ARRAYFORMULA(IF((E2:G7<>"")*(A2:C7<>""), E2:G7&" "&A2:C7, "")), MMULT(--(ARRAYFORMULA(IF((E2:G7<>"")*(A2:C7<>""), E2:G7&" "&A2:C7, ""))<>""), SEQUENCE(3,1,1,0))>0)

公式说明:

  • 先用基础版公式生成合并区域,再通过FILTER筛选出至少有一列非空的行
  • MMULT用于计算每行非空单元格数量,判断是否大于0来保留该行

之前公式失败原因

  • =ARRAYFORMULA(A2:C7&" "&E2:G7):按行内单元格对应合并(如A2&E2、A3&E3...C7&G7),而非需求的列对列对应(E列&A列、F列&B列、G列&C列),结果不符合预期
  • 带Lambda的公式逻辑冗余,且引入了需避免的Lambda函数,同时过滤规则不匹配需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 05:05:24