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

Google Sheets如何列出相邻单元格为空时的对应非空单元格值

Google Sheets 空单元格相邻非空值分组罗列实现方案

以下提供两种可直接落地的实现方式,按需选择即可。

方法1:原生公式实现(无需编码,适合小数据量场景)

  • 先确认数据结构:假设存在空值的分组列为A列,需要罗列的内容列为B列,数据从第2行开始(第1行为表头)
  • 在结果输出列的首个单元格(如C2)输入以下公式,回车后会自动向下填充所有行的结果:
    =BYROW(ARRAYFORMULA(IF(A2:A<>"",SCAN("",A2:A,LAMBDA(a,c,IF(c<>"",c,a))),)),LAMBDA(x,JOIN("、",FILTER(B:B,ARRAYFORMULA(IF(A2:A<>"",SCAN("",A2:A,LAMBDA(a,c,IF(c<>"",c,a))),))=x,B:B<>""))))
  • 自定义调整说明:
    • 公式里的A2:A替换成你实际的分组列范围,B:B替换成你实际要罗列的内容列范围
    • 公式里的"、"是内容拼接的分隔符,需要用逗号分隔就换成",",需要换行分隔就换成CHAR(10)
    • 如果不需要把内容拼接成字符串,要按横向单元格逐个罗列,把外层JOIN部分替换为TOROW(FILTER(...),1)即可

方法2:Apps Script自定义函数实现(灵活度高,适合大数据量/复杂逻辑场景)

  • 打开目标Google Sheets表格,点击顶部菜单栏「扩展程序」→「Apps Script」进入脚本编辑器
  • 清空编辑器内默认生成的所有代码,粘贴以下代码:
function LIST_BY_GROUP(groupRange, contentRange, separator = "、") {
  const groups = groupRange.flat();
  const contents = contentRange.flat();
  const groupContentMap = {};
  let currentGroup = "";

  // 遍历所有行,给每个分组收集对应的非空内容
  for (let i = 0; i < groups.length; i++) {
    const groupVal = groups[i]?.toString().trim();
    const contentVal = contents[i]?.toString().trim();
    if (groupVal) {
      currentGroup = groupVal;
      groupContentMap[currentGroup] = [];
    }
    if (currentGroup && contentVal) {
      groupContentMap[currentGroup].push(contentVal);
    }
  }

  // 按原表行顺序生成对应结果
  currentGroup = "";
  return groups.map(g => {
    const groupVal = g?.toString().trim();
    if (groupVal) currentGroup = groupVal;
    return [currentGroup ? groupContentMap[currentGroup].join(separator) : ""];
  })
}
  • 点击编辑器顶部的保存按钮,给项目任意命名(比如「分组罗列工具」),首次运行按提示完成账号授权即可(个人账号脚本仅你本人可访问,无安全风险)
  • 回到表格页面,在结果输出列的首个单元格输入自定义函数即可自动生成结果:
    =LIST_BY_GROUP(A2:A,B2:B,"、")
  • 自定义调整说明:
    • 第一个参数传入存在空值的分组列范围,第二个参数传入需要罗列的内容列范围
    • 第三个参数传入自定义分隔符,和公式法规则一致
    • 如果需要实现内容去重、加序号、按特定规则排序等效果,直接修改脚本里收集内容的逻辑即可,比如去重就把数组存成Set结构再转数组

注意:如果数据行数超过10000行,优先使用Apps Script方案,原生公式在大数据量下会出现明显的计算延迟。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 04:42:17