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

如何在Google Sheets中按条件拼接单元格并生成值列表?

Google Sheets 换行分隔元素笛卡尔积拼接方案

一、原生函数解决方案

假设待处理的两个单元格分别为A1(第一个单元格)和B1(第二个单元格),可以用以下公式直接生成拼接后的列表:

=FLATTEN(ARRAYFORMULA(SPLIT(A1, CHAR(10)) & " " & TRANSPOSE(SPLIT(B1, CHAR(10)))))

公式说明:

  • SPLIT(A1, CHAR(10)):将A1内的内容按换行符拆分为纵向数组
  • TRANSPOSE(SPLIT(B1, CHAR(10))):将B1内的内容拆分后转置为横向数组
  • ARRAYFORMULA:自动完成两个数组的笛卡尔积拼接(公式中的" "是拼接分隔符,可根据需求替换为"-"、"_"等)
  • FLATTEN:将二维的拼接结果转换为纵向一维列表,匹配预期的换行展示格式

二、Apps Script 自定义函数解决方案

如果需要更灵活的逻辑控制(比如过滤空元素、自定义复杂拼接规则),可以用自定义脚本实现:

  1. 打开目标Google Sheets文档,点击「扩展程序」→「Apps脚本」
  2. 粘贴以下代码并保存项目:
function JOIN_CELL_ELEMENTS(cellA, cellB) {
  // 拆分单元格内容为数组,同时过滤空行
  const arrA = cellA.toString().split('\n').filter(item => item.trim() !== '');
  const arrB = cellB.toString().split('\n').filter(item => item.trim() !== '');
  
  const result = [];
  // 遍历完成所有元素的拼接
  arrA.forEach(itemA => {
    arrB.forEach(itemB => {
      result.push(`${itemA} ${itemB}`); // 修改此处的分隔符或拼接逻辑即可自定义规则
    });
  });
  
  return result;
}
  1. 返回表格,在任意单元格输入=JOIN_CELL_ELEMENTS(A1, B1)即可获取结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 01:45:04