用VBA可以做,类似的示例EXCEL 如何筛选出符合条件的数据并自动填充到新表里??www.zhihu.com 步骤如下:1、将销售数据按照产品分类汇总后,点击截图中框出的【选项】→【显示报表筛选页】,即可把每一类都生成一个单独的sheet页。 2、接著用一个工具将各个sheet页拆分成多个excel表,即可得到你想要的。工具介绍如下:有一个APP叫做「Merge Excel Files」,主要功能如下:①合并excel表中的多个sheet页到一个sheet页中,还可选择垂直合并(从上到下)或者水平合并(从左到右);②拆分excel表中的多个sheet页到多个excel表中(即一个sheet页为一个excel文件);③合并多个excel表到一个excel表中;题主的问题是「Excel中有好多个sheet,如何将这些sheet内的数据汇总到一张表中?」,即上述软体功能的第1条。现在拿我这边的一个「订购」表实际操作一下,目的是合并「订购」表中的sheet1、sheet2以及sheet3为一个sheet页。具体操作如下: a、首先将数据导入到「Merge Excel Files」中如下图所示区域。 b、我这边是选择的垂直合并,即从上到下合并数据。然后点击添加所有文件,即将我们需要合并的三个sheet页都选择合并。如下图所示。 c、最后点击菜单栏的「merge excel」按钮,合并并导出最终合并文件即可。 「Merge Excel Files」软体的获取方式如下:可自行网上搜索下载或者留言发送。 数据透视表啊。用插入数据透视表的方法,分分钟完成分类汇总,然后在数据透视表中点击各类的数据,立即生成该类别的明细。举个栗子: 这是原始数据 这是生成的数据透视表双击每个类别的数量,比如类别三的31,立即在一个单独的sheet中生成这个类别的明细表: 在单独的工作表中生成类别三的明细如果我的回答对您有帮助,请随手点赞,如果还有问题,可以在评论中继续讨论。 EXCEL弄这个貌似要手动或者VBA?反正很麻烦要是我就会导入到ACCESS里面,然后建立查询,使用「生成表」的功能,再全部导出成EXCEL表 不用VBA、不用手动也能轻松解决!可以用Alteryx来解决很多Excel中无法解决或者很难解决的问题。多数据表的合并、数据分拆为不同Excel文件在Alteryx里都能轻松实现。 Alteryx在国外非常流行,全球数百万的数据分析师都在使用Alteryx解决数据分析问题,而且Alteryx面向中国用户已推出中文版,试用版地址:www.alteryx.cn。建议国内的分析师都体验和学习一下Alteryx,它会打开一扇数据分析的神奇之门! 肯定要编写vba代码。百度一下,有不少。 用数据透视表来可以实现,【选项】→【显示报表筛选页】 Sub main() Dim d Set d = CreateObject("scripting.dictionary") Dim arr Dim k Dim i As Long, r As Long Application.ScreenUpdating = False Application.SheetsInNewWorkbook = 1 Dim wk As Workbook Dim sh As Worksheet With Sheets("明细表") arr = .Range("a1:f" .Cells(.Rows.Count, 1).End(xlUp).Row) For i = 2 To UBound(arr) If Not d.exists(arr(i, 1)) Then d(arr(i, 1)) = "" End If Next i For Each k In d.keys arr = .Range("a1:f" .Cells(.Rows.Count, 1).End(xlUp).Row) r = 1 For i = 2 To UBound(arr) If arr(i, 1) = k Then r = r + 1 arr(r, 1) = arr(i, 1) arr(r, 2) = arr(i, 2) arr(r, 3) = arr(i, 3) arr(r, 4) = arr(i, 4) arr(r, 5) = arr(i, 5) arr(r, 6) = arr(i, 6) End If Next i Set wk = Workbooks.Add Set sh = wk.Worksheets(1) sh.Range("a1").Resize(r, 6) = arr wk.SaveAs ThisWorkbook.Path Application.PathSeparator k ".xlsx" wk.Close Next k End With Application.ScreenUpdating = True End Sub 推荐阅读:
用VBA可以做,类似的示例
步骤如下:
1、将销售数据按照产品分类汇总后,点击截图中框出的【选项】→【显示报表筛选页】,即可把每一类都生成一个单独的sheet页。
2、接著用一个工具将各个sheet页拆分成多个excel表,即可得到你想要的。工具介绍如下:
有一个APP叫做「Merge Excel Files」,主要功能如下:
①合并excel表中的多个sheet页到一个sheet页中,还可选择垂直合并(从上到下)或者水平合并(从左到右);
②拆分excel表中的多个sheet页到多个excel表中(即一个sheet页为一个excel文件);
③合并多个excel表到一个excel表中;
题主的问题是「Excel中有好多个sheet,如何将这些sheet内的数据汇总到一张表中?」,即上述软体功能的第1条。现在拿我这边的一个「订购」表实际操作一下,目的是合并「订购」表中的sheet1、sheet2以及sheet3为一个sheet页。具体操作如下:
a、首先将数据导入到「Merge Excel Files」中如下图所示区域。
b、我这边是选择的垂直合并,即从上到下合并数据。然后点击添加所有文件,即将我们需要合并的三个sheet页都选择合并。如下图所示。
c、最后点击菜单栏的「merge excel」按钮,合并并导出最终合并文件即可。
「Merge Excel Files」
软体的获取方式如下:可自行网上搜索下载或者留言发送。
数据透视表啊。
用插入数据透视表的方法,分分钟完成分类汇总,然后在数据透视表中点击各类的数据,立即生成该类别的明细。
举个栗子:
双击每个类别的数量,比如类别三的31,立即在一个单独的sheet中生成这个类别的明细表:
如果我的回答对您有帮助,请随手点赞,如果还有问题,可以在评论中继续讨论。
EXCEL弄这个貌似要手动或者VBA?反正很麻烦
要是我就会导入到ACCESS里面,然后建立查询,使用「生成表」的功能,再全部导出成EXCEL表
不用VBA、不用手动也能轻松解决!
可以用Alteryx来解决很多Excel中无法解决或者很难解决的问题。多数据表的合并、数据分拆为不同Excel文件在Alteryx里都能轻松实现。
Alteryx在国外非常流行,全球数百万的数据分析师都在使用Alteryx解决数据分析问题,而且Alteryx面向中国用户已推出中文版,试用版地址:www.alteryx.cn。建议国内的分析师都体验和学习一下Alteryx,它会打开一扇数据分析的神奇之门!
肯定要编写vba代码。百度一下,有不少。
用数据透视表来可以实现,【选项】→【显示报表筛选页】
Sub main() Dim d Set d = CreateObject("scripting.dictionary") Dim arr Dim k Dim i As Long, r As Long Application.ScreenUpdating = False Application.SheetsInNewWorkbook = 1 Dim wk As Workbook Dim sh As Worksheet With Sheets("明细表") arr = .Range("a1:f" .Cells(.Rows.Count, 1).End(xlUp).Row) For i = 2 To UBound(arr) If Not d.exists(arr(i, 1)) Then d(arr(i, 1)) = "" End If Next i For Each k In d.keys arr = .Range("a1:f" .Cells(.Rows.Count, 1).End(xlUp).Row) r = 1 For i = 2 To UBound(arr) If arr(i, 1) = k Then r = r + 1 arr(r, 1) = arr(i, 1) arr(r, 2) = arr(i, 2) arr(r, 3) = arr(i, 3) arr(r, 4) = arr(i, 4) arr(r, 5) = arr(i, 5) arr(r, 6) = arr(i, 6)
End If Next i Set wk = Workbooks.Add Set sh = wk.Worksheets(1)
sh.Range("a1").Resize(r, 6) = arr wk.SaveAs ThisWorkbook.Path Application.PathSeparator k ".xlsx" wk.Close Next k End With Application.ScreenUpdating = True End Sub