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

如何在Google Sheets(Excel)中将多列分组数据合并为带标题的单列列表并添加分隔线

如何在Google Sheets(Excel)中将多列分组数据合并为带标题的单列列表并添加分隔线

嘿,这个需求我之前也处理过!不用手动挨个复制粘贴,用Google Sheets或Excel的动态数组公式就能快速搞定,下面分两种工具给你详细说明:

Google Sheets 实现方法

假设你的电影名在A列、对应人名在B列,找个空白单元格(比如D1)输入以下公式:

=FLATTEN(ARRAYFORMULA(
  LAMBDA(unique_movies,
    BYROW(unique_movies, LAMBDA(movie,
      VSTACK(
        movie,
        FILTER(B:B, A:A=movie),
        "====="
      )
    ))
  )(UNIQUE(A:A))
))

按下回车就能自动生成你想要的格式啦!

公式简单拆解:

  • UNIQUE(A:A):先提取出所有不重复的电影名称,作为分组的核心依据;
  • BYROW(...):逐个遍历每一部电影,用VSTACK把「电影名」「对应的所有人名」「分隔线=====」垂直堆叠成一组;
  • FLATTEN:把所有分组好的内容展开成单列;
  • 最后手动删掉最后一行多余的=====就行,这个小操作比修改公式更省事~

Excel 实现方法(适用于Excel 365/2021及以上版本)

同样假设数据在A:B列,在空白单元格输入这个公式:

=LET(
  unique_movies, UNIQUE(A:A),
  movie_groups, BYROW(unique_movies, LAMBDA(m, VSTACK(m, FILTER(B:B, A:A=m), "====="))),
  result, TOCOL(movie_groups, 1),
  INDEX(result, 1, 1:ROWS(result)-1)
)

回车后直接得到完美格式,连最后一行多余的分隔线都自动去掉了!

公式简单拆解:

  • LET:用来定义变量,让公式逻辑更清晰易懂;
  • unique_movies:提取唯一的电影名称列表;
  • movie_groups:为每部电影生成「标题+人名+分隔线」的组合块;
  • TOCOL:把所有组合块转换成单列数据;
  • INDEX(...,1:ROWS(result)-1):自动剔除最后一行多余的分隔线。

如果你的Excel版本不支持动态数组,也可以先给A列排序,再手动插入电影标题和分隔线,不过显然用公式效率高多啦!

备注:内容来源于stack exchange,提问作者MilindaD

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 07:23:04