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

如何在不影响表格其他列的情况下合并单列多行并导出至Excel

解决方案:合并单列多行(不汇总其他列)并导出Excel

专业术语说明

你要实现的操作叫做分组字符串折叠(grouped string collapsing)——基于其他列的相同值,将目标列的多行内容合并为单行,同时保留其他列的原始内容。

R代码实现

方法1:用dplyr + tidyr(适合常规数据量)

假设你的数据框为df,需要合并的目标列是target_col,其余列为分组依据:

library(dplyr)
library(tidyr)

# 按除目标列外的所有列分组,合并目标列(用逗号分隔,可自定义)
result_df <- df %>%
  group_by(across(-target_col)) %>%
  summarise(target_col = paste(target_col, collapse = ", "), .groups = "drop")

如果分组列是明确指定的(比如ID、Category),可以直接写:

result_df <- df %>%
  group_by(ID, Category) %>%
  summarise(target_col = paste(target_col, collapse = ", "), .groups = "drop")

方法2:用data.table(适合大数据集,效率更高)

library(data.table)
setDT(df)
result_df <- df[, .(target_col = paste(target_col, collapse = ", ")), by = .(ID, Category)]

导出到Excel

推荐用writexl包(轻量无依赖):

library(writexl)
write_xlsx(result_df, "合并结果.xlsx")

如果需要自定义Excel格式(比如单元格样式),可以用openxlsx:

library(openxlsx)
write.xlsx(result_df, "合并结果.xlsx", rowNames = FALSE)

注意事项

  • 分隔符可自定义:比如换成换行符"\n",在Excel中设置单元格自动换行即可显示多行
  • 确保分组列的内容完全一致,否则会被视为不同分组

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 15:43:24