如何用Google Sheets或Excel公式合并相同movie-name的行?
合并相同电影名称行的实现方法(Google Sheets & Excel)
我来给你两种工具的具体实现方案,不管用哪种,都能快速得到你想要的合并结果:
Google Sheets 实现方式
方法1:UNIQUE + INDEX+FILTER 组合(推荐)
假设你的原始数据在A1:P区域(第一行是表头),可以按以下步骤操作:
- 在新的工作表(或当前表空白区域)的
A1单元格复制原表头:movie-name | Jan | Feb | ... | April - 在
A2单元格输入公式提取唯一电影名:
这个公式会自动列出所有不重复的电影名称,下拉会自动填充。=UNIQUE(A2:A) - 在
B2单元格输入公式提取对应电影的Jan月份值:=IFERROR(INDEX(FILTER(B$2:B, $A$2:$A=$A2), 1), "")FILTER(B$2:B, $A$2:$A=$A2):筛选出当前电影所有Jan月份的数值INDEX(...,1):取筛选结果的第一个值(因为你的数据里每个电影每个月份只有一个值)IFERROR(..., ""):如果没有匹配值,显示空单元格而不是错误
- 选中
B2单元格,向右拖动填充到所有月份列,再向下拖动填充到所有电影行,就能得到合并后的结果。
方法2:数据透视表(更简单,无需写公式)
- 选中原始数据区域
A1:P - 点击菜单栏「数据」→「数据透视表」,选择放置透视表的位置
- 在右侧透视表编辑器中:
- 将
movie-name拖到「行」区域 - 将所有月份列(Jan、Feb...April)拖到「值」区域,值字段设置为「求和」(或「最大值」,因为每个月份只有一个数据,结果一样)
- 将
- 调整透视表格式,空值会自动显示为空,直接得到你要的目标表格。
Excel 实现方式
方法1:Excel 365 专属(UNIQUE + XLOOKUP)
如果你用的是Excel 365或2021版本,支持动态数组函数,操作很方便:
- 同样先复制表头到新区域的第一行
- 在
A2单元格输入:
自动生成唯一电影列表=UNIQUE(A2:A) - 在
B2单元格输入:=XLOOKUP($A2, $A$2:$A, B$2:B, "")XLOOKUP会精准匹配当前电影名,返回对应月份的数值,没有匹配值就显示空
- 拖动填充所有列和行即可。
方法2:兼容所有Excel版本(SUMIF + 手动生成唯一值)
如果是旧版Excel(没有动态数组函数),可以这样做:
- 生成唯一电影名:在
A2单元格输入数组公式(输入后按Ctrl+Shift+Enter确认):
下拉这个公式,直到出现=INDEX($A$2:$A, MATCH(0, COUNTIF($A$1:A1, $A$2:$A), 0))#N/A,然后删除错误行,就得到了唯一电影列表。 - 在
B2单元格输入公式提取对应月份值:=IF(SUMIF($A$2:$A, $A2, B$2:B)=0, "", SUMIF($A$2:$A, $A2, B$2:B))SUMIF会对当前电影名的对应月份数值求和(因为只有一个数据,求和结果就是那个值)IF函数把求和结果为0的情况转为空单元格
- 拖动填充所有列和行即可。
方法3:数据透视表(通用简单方法)
和Google Sheets操作类似:
- 选中原始数据区域,点击「插入」→「数据透视表」
- 透视表字段设置:
- 行:
movie-name - 值:所有月份列,值汇总方式选「求和」或「最大值」
- 行:
- 调整格式后就能得到合并结果。
内容的提问来源于stack exchange,提问作者mdnba50




