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

Google Sheets按条件合并多行数据生成工单邮件内容的实现问题

Google Sheets 自动生成分组邮件正文的数组公式解决方案

需求回顾

在Tickets工作表的A2单元格设置数组公式,根据Tickets!E1的布尔值实现两种模式:

  • 当E1=FALSE:为Data Export工作表的每条数据单独生成带链接和类型的邮件正文
  • 当E1=TRUE:按Tickets!B2:B的链接分组,将同一链接下的所有数据合并为单条邮件正文

完整实现公式

=IF(E1=FALSE,
  ARRAYFORMULA(IF(ISBLANK('Data Export'!A2:A),"","Please ingest the following data "&CHAR(10)&'Data Export'!A2:A&CHAR(10)&"under the link "&B2:B&" as "&'Data Export'!C2:C)),
  BYROW(UNIQUE(FILTER(B2:B,B2:B<>"")),LAMBDA(link,
    "Please ingest the following data:"&CHAR(10)&
    JOIN(CHAR(10),FILTER('Data Export'!A2:A,'Data Export'!B2:B=link))&CHAR(10)&
    "under the link "&link&" as "&INDEX(UNIQUE(FILTER('Data Export'!C2:C,'Data Export'!B2:B=link)),1)
  ))
)

公式拆解说明

1. 单条数据模式(E1=FALSE)

保留原有逻辑,仅修正B3:B为B2:B确保行对齐:

  • ARRAYFORMULA批量处理每行数据
  • 空行自动返回空值,非空行拼接固定文本、数据项、链接和类型,用CHAR(10)实现换行

2. 分组模式(E1=TRUE)

核心用BYROW+UNIQUE+FILTER实现分组遍历:

  • UNIQUE(FILTER(B2:B,B2:B<>"")):提取Tickets!B列所有非空的唯一链接作为分组项
  • BYROW(..., LAMBDA(link, ...)):逐个处理每个分组链接
    • JOIN(CHAR(10),FILTER('Data Export'!A2:A,'Data Export'!B2:B=link)):筛选当前链接对应的所有数据项,用换行符拼接成列表
    • INDEX(UNIQUE(FILTER('Data Export'!C2:C,'Data Export'!B2:B=link)),1):获取当前链接对应的唯一类型值(若同一链接有多种类型,可改为JOIN(", ", UNIQUE(...))拼接所有类型)

注意事项

  • 确保Data Export!B列与Tickets!B列的链接完全匹配(大小写、空格均需一致),否则筛选会失效
  • 若Data Export表中同一链接对应多种类型,可根据需求调整类型字段的拼接逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 13:40:12