如何把 Excel 数据按分类拆分为多个

 

例题描述

蔬果明细表fruits.xlsx文件中有蔬果总表,数据如下图所示:

..

现需要按类别对蔬果进行拆分后保存到新的sheet里,类别名称(删除类别号后)即为sheet名,如下图所示:

..

 

实现步骤

1、  运行集算器

可去润乾官网下载职场版,同时下载一个免费授权就够了,首次运行时会提示加载。

编写脚本:

..

 

把代码列出来看得清楚点:


A

B

1

=file("E:/excel/fruits.xlsx")


2

=A1.xlsimport@t(;,2)


3

=A2.group(类别)


4

for A3

=substr(A4(1).类别,"]")

5


=A1.xlsexport@ta(A4;B4)

A1   打开fruits.xlsx文件

A2   将文件数据读成序表,选项@t表示首行是列标题,参数2表示从第2行开始读

A3   按类别列对数据进行分组

A4   循环处理每个组

B4   用每组第1条记录的类别值,取]号以后的文字作为sheet

B5   把当前组的记录写入fruits.xlsx中的新sheet中,用B4算出来的名称作sheet名。注意这里一定要加选项a,表示是添加新的sheet

 

想生成多个文件也很容易,只需将 B5 修改:=file("E:/excel/"+B4+".xlsx").xlsexport@t(A4)

这个实现办法和原文件的列数无关,变动列都能支持

 

2、  F9运行这段程序,打开fruits.xlsx就可以看到前文目标图所示的效果了。

 

 

【附件】 fruits.zip