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

如何在Excel或R中按列值分组Excel表格行

按指定列分组拆分表格的实现方法

原始表格:

A headerAnother header
First234
Second234
Third235

目标是按Another header列的相同值拆分出多个独立表格,以下是Excel和R两种工具的实现方案:


Excel 实现方式

方法1:手动筛选复制(适合小数据量)

  • 选中表头区域,点击数据选项卡的「筛选」按钮,为每列添加筛选箭头
  • 点击Another header列的筛选箭头,选择第一个分组值(如234),此时表格仅显示该分组的行
  • 选中筛选后的所有行(包含表头),复制后粘贴到新工作表或新文件中
  • 重复上述步骤,依次选择其他分组值(如235)完成拆分

方法2:Power Query 自动拆分(适合大数据量)

  1. 选中表格数据区域,点击数据选项卡的「从表格/区域」,将数据导入Power Query编辑器
  2. 在编辑器中,点击「开始」选项卡的「分组依据」,设置参数:
    • 分组依据:Another header
    • 新列名:自定义名称(如分组数据)
    • 操作:所有行
  3. 点击确定后,表格会生成包含每个分组所有行的嵌套表格
  4. 点击分组数据列右侧的展开箭头,选择「提取到工作表」,即可自动将每个分组拆分到独立工作表

R 实现方式

方法1:base R 原生函数

# 安装并加载读取Excel的包
install.packages("readxl")
library(readxl)
# 读取文件,替换为你的文件路径
df <- read_excel("your_file_path.xlsx")

# 按Another header列分组拆分
split_result <- split(df, df$`Another header`)

# 查看拆分结果,每个列表元素对应一个分组表格
split_result

# 导出每个分组到独立Excel文件
install.packages("openxlsx")
library(openxlsx)
for (group_val in names(split_result)) {
  write.xlsx(split_result[[group_val]], paste0("group_", group_val, ".xlsx"))
}

方法2:dplyr 简洁实现

# 安装并加载dplyr包
install.packages("dplyr")
library(dplyr)
# 读取数据
df <- read_excel("your_file_path.xlsx")

# 分组拆分,返回列表形式的多个表格
split_result <- df %>% group_by(`Another header`) %>% group_split()

# 查看单个分组
split_result[[1]] # 对应234的分组
split_result[[2]] # 对应235的分组

# 导出到Excel文件
for (i in seq_along(split_result)) {
  group_val <- split_result[[i]]$`Another header`[1]
  write.xlsx(split_result[[i]], paste0("group_", group_val, ".xlsx"))
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 10:15:09