指南

Excel 怎么按某一列拆分成多个文件?按部门、地区拆表

更新于 2026-10-18

总表里有全公司的数据,要按「部门」拆成一个部门一个文件发下去;或者按「省份」「供应商」「客户」拆开。手工做一两份不难,难在值多、而且每个月都要做一次。

方法 1:筛选后复制粘贴

  1. 选中表头,「数据 → 筛选」;
  2. 在要拆分的那一列下拉里只勾一个值;
  3. 选中筛选结果(连同表头)复制,粘到新工作簿,保存;
  4. 换下一个值,重复。

值少的时候够用。值一多就很费时间,还容易漏掉某个值,或者忘了带上「空白」那一组。粘贴过去的列宽、冻结窗格也要重新设置。

方法 2:数据透视表「显示报表筛选页」

这是个不太为人知的技巧,能一次拆成多张工作表:

  1. 用总表插入数据透视表,把要拆分的列拖进「筛选」区域,其余字段放进行和值;
  2. 「数据透视表分析 → 数据透视表 → 选项」旁的下拉箭头 →「显示报表筛选页」;
  3. 确定后,每个值生成一张以它命名的工作表。

局限:拆出来的是透视表,不是原始数据行,格式也不是原来的样子;而且只能拆成同一个文件里的多张表,要分成多个文件还得一张张另存。

方法 3:VBA 循环

会写宏的话,可以遍历拆分列的不重复值,逐个筛选、复制到新工作簿并保存。灵活,但要写代码、调代码,文件格式也得改成 .xlsm 或单独放宏。

方法 4:在线一次拆分

xlszip 的拆分工具:

  1. 上传工作簿;
  2. 在「按哪一列拆分」里填表头文字(如「部门」)或列字母(如 B);
  3. 按「开始拆分」。

结果:

注意:公式换成它最后一次计算的结果,因为拆开后行的位置变了,原来的引用会指错地方。

拆完要发出去

各部门拿到的文件里可能还带着作者、公司、本机路径等信息。拆成多张表的可以直接带去外发清理;拆成多个文件的,解压后在外发清理页一次选中全部文件批量处理。

反过来,各部门交回来的表要汇总,见《多个 Excel 文件怎么合并成一个》。

更多指南