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

Google Sheets中按特定规则合并动态垂直数组的公式求解

Google Sheets 动态数组合并方案(指定规则)

针对你需要的「A列每个元素后紧跟完整B列数据,循环遍历A列」的合并规则,以下是两种可行的动态公式方案,无需手动调整范围,会随A/B列数据自动更新:

方案一(推荐:逻辑清晰,高效)

=TOCOL(MAP(A2:INDEX(A:A,COUNTA(A:A)),LAMBDA(a,HSTACK(a,B2:INDEX(B:B,COUNTA(B:B))))),1)

逻辑拆解:

  • A2:INDEX(A:A,COUNTA(A:A)):动态锁定A列的非空数据范围(自动排除表头和后续空行)
  • MAP(..., LAMBDA(a, ...)):遍历A列的每个元素a,对每个元素执行后续操作
  • HSTACK(a, B2:INDEX(B:B,COUNTA(B:B))):将当前A列元素a与完整的B列数据横向拼接成一组
  • TOCOL(...,1):把所有横向拼接的组纵向展开成单列,参数1用于忽略过程中产生的空值

方案二(基于字符串拼接实现)

=FLATTEN(HSTACK(A2:INDEX(A:A,COUNTA(A:A)),FLATTEN(SPLIT(REPT(JOIN("|",B2:INDEX(B:B,COUNTA(B:B))&"|"),COUNTA(A:A)),"|"))))

逻辑拆解:

  • JOIN("|",B2:...):将B列所有数据用|拼接成单个字符串
  • REPT(...,COUNTA(A:A)):按A列的元素数量重复上述字符串,生成包含多组B列数据的长字符串
  • SPLIT(..., "|"):将长字符串拆分回数组,FLATTEN确保数组为垂直结构
  • HSTACK(...):将A列元素与对应重复的B列数组横向拼接,最后FLATTEN展开为单列

示例验证

当A列数据为A、B、C、D,B列数据为1、2、3时,两个公式都会输出:
A、1、2、3、B、1、2、3、C、1、2、3、D、1、2、3,完全匹配你需要的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 12:15:47