精华内容
下载资源
问答
  • 一个表分成多个水平视图,如 create view t1 as select col1,col2 from total where table='t1' create view t2 as select col1,col2 from total where table='t2' create view t3 as select col1,col2 from ...
  • 举栗子,以下这么一份总表,需要按照班级将其拆分成多个单独的表,一个班级为一个表。你会按照班级一个一个地筛选复制出来吗?班级少,这种操作还可以。如果班级多,有几十个班级,显然这种方法就不适用。那么,怎么...

    所有的质变都是来自量变的积累,每天学一点点,每天进步一点点。

    今天要说的是,如何根据某一列将一个Exce工作表拆分成多个工作表。

    举栗子,

    以下这么一份总表,需要按照班级将其拆分成多个单独的表,一个班级为一个表。

    67b32b0c21004bc78b59075d92215836.gif

    你会按照班级一个一个地筛选复制出来吗?

    班级少,这种操作还可以。如果班级多,有几十个班级,显然这种方法就不适用。

    那么,怎么操作比较省时省力?

    Excel的数据透视表功能就可以帮我们完成这个工作。

    操作步骤:

    一、添加辅助列

    将需要作为拆分标准的列复制一列,作为辅助列。

    本例中是要按班级拆分,故将班级列拷贝一列作为辅助列。

    0587ec9bb010014af2daf7ab22162d94.png

    二、创建数据透视表

    全选表格,点击【插入】—【数据透视表】,选择放置数据透视表的位置在【新工作表】。

    34af0b0a38ba533526f4c807a824426c.gif

    三、设置数据透视表

    1、设置字段

    将字段的辅助列拖动至【筛选】区域,其它字段都拖至【行】区域。

    88a9e99d53cc85074167f514ce434228.gif

    2、整理报表布局

    ◆点击【设计】:

    【报表布局】设置为“以表格形式显示”和“重复所有项目标签”;

    【分类汇总】设置为“不显示分类汇总”;

    【总计】设置为“对行和列禁用”。

    ◆点击【分析】:

    “隐藏+/-按钮”。

    f0bf07df1d9f5255b37d9ff979229593.gif

    四、拆分报表

    利用显示报表筛选页功能来快速实现拆分报表。

    即:点击【分析】—【选项】—【显示报表筛选页】,

    所有的班级报表就都拆分出来了。

    2421bc62e93ff667f2f2fbe87147d53e.gif

    拆分出来的班级报表,都是数据透视表格式。

    如果说,不想最后拆分出来的工作表是以数据透视表这种格式保存,

    那么,可以最后再加一步删除数据透视格式。

    五、删除数据透视表格式

    1、选择所有拆分出来的班级工作表,

    即按住shift键,点选第一个工作表的标签和最后一个工作表的标签;

    2、点击A1单元格左上角的三角形符号选择所有表格内容;

    3、先复制,后粘贴为数值。

    这么操作后,表格就删除了数据透视表格式,转化为普通格式了。

    be9204fc0fadb23a4ad9c3d3254cc06f.gif

    最后,把表格美化一下就好了。

    #学浪计划# #Excel#

    头条搜索真心方便,有啥问题搜一搜,马上出结果,点击下方卡片搜索“快速拆分工作表”,第一条就是答案!

    展开全文
  • 一、原始数据如下(sheet页名称为:数据源),需要根据B列人员所属组织拆分成每个组织一个工作。 二、进入VBE编辑页面 三、插入一个新的模块。 四、在模块1窗口粘入如下代码 ,并保存 五、通过【开发者工具】...

    目录

    一、原始数据表如下(sheet页名称为:数据源),需要根据B列人员所属组织拆分成每个组织一个工作表。

    二、进入VBE编辑页面

    三、插入一个新的模块。

    四、在模块1窗口粘入如下代码 ,并保存

    五、通过【开发者工具】,插入窗口按钮

     六、点击【按钮】,选择第一行,继续选择【组织】单元格即可

    七、在第四部粘贴代码进去后,直接点击​ 运行也可以,按提示选择行和单元格,效果一样。

     八、将多个sheet表拆分为独立表格


     

    一、原始数据表如下(sheet页名称为:数据源),需要根据B列人员所属组织拆分成每个组织一个工作表。

     二、进入VBE编辑页面

    1. 通过【开发工具】>>【查看代码】进入编辑页面
    2. 通过【右击】sheet页名称,选择【查看代码】进入编辑页面
    3. 通过ALT+F11进入编辑页

     

    三、插入一个新的模块。

    四、在模块1窗口粘入如下代码 ,并保存

    Sub CFGZB()
        Dim myRange As Variant
        Dim myArray
        Dim titleRange As Range
        Dim title As Variant
        Dim columnNum As Integer
        myRange = Application.InputBox(prompt:="请选择标题行:", Type:=8)
        myArray = WorksheetFunction.Transpose(myRange)
        Set titleRange = Application.InputBox(prompt:="请选择拆分的表头,必须是第一行,且为一个单元格,如:“组织”", Type:=8)
        title = titleRange.Value
        columnNum = titleRange.Column
        Application.ScreenUpdating = False
        Application.DisplayAlerts = False
        Dim i&, Myr&, Arr, num&
        Dim d, k
        For i = Sheets.Count To 1 Step -1
            If Sheets(i).Name <> "数据源" Then
              
            End If
        Next i
        Set d = CreateObject("Scripting.Dictionary")
        Myr = Worksheets("数据源").UsedRange.Rows.Count
        Arr = Worksheets("数据源").Range(Cells(2, columnNum), Cells(Myr, columnNum))
        For i = 1 To UBound(Arr)
            d(Arr(i, 1)) = ""
        Next
        k = d.keys
        For i = 0 To UBound(k)
            Set conn = CreateObject("adodb.connection")
            conn.Open "provider=Microsoft.ACE.OLEDB.12.0;extended properties=Excel 12.0;Data Source=" & ThisWorkbook.FullName
            Sql = "select * from [数据源$] where " & title & " = '" & k(i) & "'"
            Worksheets.Add after:=Sheets(Sheets.Count)
            With ActiveSheet
                .Name = k(i)
                For num = 1 To UBound(myArray)
                    .Cells(1, num) = myArray(num, 1)
                Next num
                .Range("A2").CopyFromRecordset conn.Execute(Sql)
            End With
            Sheets(1).Select
            Sheets(1).Cells.Select
            Selection.Copy
            Worksheets(Sheets.Count).Activate
            ActiveSheet.Cells.Select
            Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            Application.CutCopyMode = False
        Next i
        conn.Close
        Set conn = Nothing
        Application.DisplayAlerts = True
        Application.ScreenUpdating = True
    End Sub
    

    五、通过【开发者工具】,插入窗口按钮

     六、点击【按钮】,选择第一行,继续选择【组织】单元格即可

     

    七、在第四部粘贴代码进去后,直接点击 运行也可以,按提示选择行和单元格,效果一样。

     八、将多个sheet表拆分为独立表格

    1. 如果要将已经拆分为多个sheet页的excel表格中的sheet页拆分为多个独立的表格,只需要在编辑其中新增模块,粘贴如下代码并执行,等待片刻即可
    Private Sub 分拆工作表()
    Dim sht As Worksheet
    Dim MyBook As Workbook
    Set MyBook = ActiveWorkbook
    For Each sht In MyBook.Sheets
    sht.Copy
    ActiveWorkbook.SaveAs Filename:=MyBook.Path & "\" & sht.Name, FileFormat:=xlNormal '将工作簿另存为EXCEL默认格式
    ActiveWorkbook.Close
    Next
    MsgBox "文件已经被分拆完毕!"
    End Sub

     

    展开全文
  • 一个表 用 Primary Key Identity 作为主键索引 后面有灰常的字段, 这种情况如果拆分成几个表 整体效率是上升了还是下降了? -- 举例 表1 : id 姓名 地址 …… --------------拆-------...
  • 利用Excel汇总专家,把多个excel合成一个总表,也可以把一个表中所有的的sheet分成多个excel
  • 表结构都一样 只不过其中有一个分类 这个分类因为涉及到不同的专区,权限也不同 所以我把每个分类都创建了一张表 到底是合并成一个表好呢 还是每个分类一张表好?
  • mysql将一个表拆分成多个表

    万次阅读 2018-07-28 18:00:03
    mysql如何将一个表分成多个表?表的拆分,根据一个大表的数据创建多个分批的小表,假设有一个5000条数据的表,要把它变成没1000条数据一个表的5等份。create table....select....order by....limit...

    有一个5000条数据的表,要把它变成没1000条数据一个表的5等份。

    假设:表名:xuesi 主键:kid
    xuesi共有5000条数据,kid从1到5000自动增长
    题目:将xuesi分成5个表 每个表1000条不同的数据

    方法1:
    create table xuesi1 select * from xuesi order by kid limit 0,1000;
    create table xuesi2 select * from xuesi order by kid limit 1000,1000;
    create table xuesi3 select * from xuesi order by kid limit 2000,1000;
    create table xuesi4 select * from xuesi order by kid limit 3000,1000;
    create table xuesi4 select * from xuesi order by kid limit 4000,1000;

    以上方法 是根据大表xuesi的主键kid 创建了xuesi1,xuesi2,xuesi3,xuesi4,xuesi5 五等份的小表
    不足:primary key 属性丢失

    方法2:
    create table xuesi1 like xuesi;
    insert into xuesi1 select * from xuesi order by limit 0,1000;
    create table xuesi2 like xuesi;
    insert into xuesi2 select * from xuesi order by limit 1000,1000;
    create table xuesi2 like xuesi;
    insert into xuesi3 select * from xuesi order by limit 2000,1000;
    create table xuesi3 like xuesi;
    insert into xuesi4 select * from xuesi order by limit 3000,1000;
    create table xuesi5 like xuesi;
    insert into xuesi5 select * from xuesi order by limit 4000,1000;

    展开全文
  • 一个表存储产品资料,product资料会挺的吧。 会有1千万行数据。 现在考虑为每个地区创建一个表,例如江苏则访问product _js,南京则访问product _nj ,这样子有助于效率吗?有必要这样子弄吗? 或者是有别的...
  • C# DataTable 按条件分成多个表

    千次阅读 2011-07-30 11:07:37
    最近遇到一个需求:用户以Excel方法导入数据,所导入的数据需要按某个值拆分成主从的关系,故数据的存储也要分成主从存在数据库中;在网找了很久,没有找到更好的办法,于是只好借鉴网上的部分想法做了些加工,...

       最近遇到一个需求:用户以Excel方法导入数据,所导入的数据需要按某个值拆分成主从表的关系,故数据的存储也要分成主从表存在数据库中;在网找了很久,没有找到更好的办法,于是只好借鉴网上的部分想法做了些加工,以备忘记1

    public DataTable dt = new DataTable();
            /// <summary>
            /// 数据源表结构
            /// </summary>
            /// <returns></returns>
            private DataTable CreateTb()
            {
                DataTable tb = new DataTable();
                tb.Columns.Add("UUID");
                tb.Columns.Add("PARENT_UUID");
                tb.Columns.Add("MASTER_DESC1");
                tb.Columns.Add("MASTER_DESC2");
                tb.Columns.Add("SUB_DESC1");
                tb.Columns.Add("SUB_DESC2");
                tb.Columns.Add("SUB_DESC3");
                return tb;
            }

            /// <summary>
            /// 拆分后主表数据结构
            /// </summary>
            /// <returns></returns>
            private DataTable CreateParentTb()
            {
                DataTable tb = new DataTable();
                tb.Columns.Add("UUID");
                tb.Columns.Add("PARENT_UUID");
                tb.Columns.Add("MASTER_DESC1");
                tb.Columns.Add("MASTER_DESC2");
                return tb;
            }

            /// <summary>
            /// 拆分后子表结构
            /// </summary>
            /// <returns></returns>
            private DataTable CreateSupTb()
            {
                DataTable tb = new DataTable();
                tb.Columns.Add("UUID");
                tb.Columns.Add("PARENT_UUID");
                tb.Columns.Add("SUB_DESC1");
                tb.Columns.Add("SUB_DESC2");
                tb.Columns.Add("SUB_DESC3");
                return tb;
            }

            /// <summary>
            /// 数据源(待拆分的数据)
            /// </summary>
            /// <returns></returns>
            private DataTable retDt()
            {
                DataTable dt = CreateTb();
                DataRow row = null;
                for (int i = 0; i < 6; i++)
                {
                    int j = 0;
                    if (i % 2 == 0)//PARENT_UUID 的值,按PARENT_UUIDsss1、PARENT_UUIDsss2分组
                        j = 0;
                    else
                        j = 1;
                    row = dt.NewRow();
                    row["UUID"] = System.Guid.NewGuid().ToString();
                    row["PARENT_UUID"] = "PARENT_UUIDsss" + j.ToString() ;
                    row["MASTER_DESC1"] = "MASTER_DESC1" + i.ToString();
                    row["MASTER_DESC2"] = "MASTER_DESC2" + i.ToString();
                    row["SUB_DESC1"] = "SUB_DESC1" + i.ToString();
                    row["SUB_DESC2"] = "SUB_DESC2" + i.ToString();
                    row["SUB_DESC3"] = "SUB_DESC3" + i.ToString();
                    dt.Rows.Add(row);
                }
                return dt;
            }

            /// <summary>
            /// 测试
            /// </summary>
            /// <param name="mesg"></param>
            public void SeparateDt(out string mesg)
            {
                mesg = string.Empty;
                DataTable sourceData = retDt();
                DataTable parentDt = CreateParentTb();
                DataTable subDt = CreateSupTb();
                string parentUuid = string.Empty;
                string subUuid = string.Empty;

                try
                {
                    IEnumerable<IGrouping<string, DataRow>> results = sourceData.Rows.Cast<DataRow>().GroupBy<DataRow, string>
                        (dr => dr["PARENT_UUID"].ToString());//按PARENT_UUID分组
                    foreach (IGrouping<string, DataRow> ig in results)
                    {
                        //处理主表
                        DataRow parentRow = parentDt.NewRow();
                        parentUuid = System.Guid.NewGuid().ToString();
                        parentRow["UUID"] = parentUuid;
                        parentRow["PARENT_UUID"] = ig.Key;
                        parentRow["MASTER_DESC1"] = "MASTER_DESC1".PadRight(20);
                        parentRow["MASTER_DESC2"] = "MASTER_DESC2".PadRight(20);

                        parentDt.Rows.Add(parentRow);
                        //处理子表
                        foreach (var dr in ig)
                        {
                            DataRow subRow = subDt.NewRow();
                            subUuid = System.Guid.NewGuid().ToString();

                            subRow["UUID"] = subUuid;
                            subRow["PARENT_UUID"] = parentUuid;
                             subRow["SUB_DESC1"] = dr["SUB_DESC1"].ToString();
                            subRow["SUB_DESC2"] = dr["SUB_DESC2"].ToString();
                            subRow["SUB_DESC3"] = dr["SUB_DESC3"].ToString();

                           subDt.Rows.Add(subRow);
                        }
                    }
                    mesg = "主表:" + parentDt.Rows.Count.ToString() + "条记录;" + "子表:" + subDt.Rows.Count.ToString() + "条记录";
                }
                catch (Exception ex)
                {
                    mesg = "程序有问题:" + ex.Message;
                }
            }

     

    展开全文
  • 因我的数据表数据量比较大,现有记录... 我想将这个表分成4个数据库存放,db0,db1,db2,db3 查询记录的时候 我使用union 将几个表中查到的结果汇总在一起, 这样是否会比以前在同一表中存放查询速度变快呢
  • 一一对应的列可以放在一个表里面,但是这样做一定有原因,例如,把一个大表分成若干小表,可以确保安全,防止信息泄露。对于工资信息表,每小时的工资钱数对于不同岗位的人员有所区别,敏感的信息除了统计工资的工作...
  • 最近做一个项目,里面涉及到的需求需要将...将每一条信息写入一个表中,命名为表A,这个表A就含有如图所示的二十多个字段 将这些信息涉及到的字段统一保存,归到一个数据表B中,这个表B就有四个字段 分别为表主键i...
  • 比如,将资料按地区进行打印,并分发给对应地区的业务员,这时候用总来打印的话,我们需要把总按地区分成多个工作,再进行打印,逐个表格操作的话,就相当麻烦了。那么Excel中怎样可以快速的将...
  • 其实说白了就是两个人的个人信息,字段都一样,但是在一个共同的列表中,没办法区分,首先需要将这个大列表分成2个(这里人数是不一定的,分列是按照每个列表固定的长度)的小列表 ''' 遇到问题
  • 直接根据数据量进行拆分有一个5000条数据的表,要把它变成没1000条数据一个表的5等份。假设:表名:xuesi 主键:kidxuesi共有5000条数据,kid从1到5000自动增长题目:将xuesi分成5个表 每个表1000条不同的数据方法1...
  • Excel多个工作簿合成为一个工作 目录 前言 第一步:多张工作簿合并成一个“汇总工作簿”,操作如下: 第二步:把多张sheet合并成一张sheet工作,操作如下: 总结 前言 在工作中,我们会遇到这种情况,...
  • 现在一个项目,是要求手机端向智能手表发送byte[]数组,一个很大的byte数组,比如16*1024个字节,如何分成多个部分,比如每个部分都是200字节,然后把这几个部分一部分部分的发到手表端,就是byte[]数组分块,发送的...
  • 如何将一个表分成多个分表?这是问的比较多的EXCEL问题之一,因为职场人士总会碰到总表分成分表的情况。碰到过不少人,要把总表分成多个分表,用"建立新工作表、复制、粘贴"的方法,这样操作是非常没有效率的,...
  • --将同一个表中 不同[Group]属性的添加列分成一整行 SELECT * INTO VP_Temp FROM ( SELECT DISTINCT A.ID,A.TypeName,A.ItemType,A.isBad, A.sNo sNo1,A.CheckItem CheckItem1,A.BadValue BadValue1,A.[Group] ...
  • 前提:电脑上装有office2007或office2013等,WPS不行。 1、如果你有现成的一个工作簿含有多个工作表的文件,想分成多个工作簿的话, ...'按照需要将分出来的表分成多个工作簿 n = InputBox(“请输入excel的
  • 如果一个表的数据非常大时,然后这个表的数据又有多种状态,这时的查询就非常的慢. 那要怎么处理呢? 首先需要一张总表,这张总表保存所有数据的id,其他的数据根据n种状态分成n个表保存 这样在查询时某类数据时只要...
  • 出现运行错误'3706',可将连接方式,改用DSN连接:conn.Open "Dsn=Excel Files;...分成工作簿的模块代码: Sub CFGZB()  Dim myRange As Variant  Dim myArray  Dim titleRange As Range  Dim t...
  • 一个数据库拆分成多个,同时分析的方法:拆分文件案例:根据变量"性别"(1代表男,2代表女),把数据库拆分成两个,分别为:性别为"男"的数据库,性别为"女"的数据库。采用频数分布描述研究对象的"水平"级分布状况...
  • 如:table有字段为 col; col 1,2,3 2 3 期望结果为 col 1 2 3 2 3
  • 数据库设计(

    万次阅读 多人点赞 2018-09-26 09:21:05
    2、可以将常用信息和不常用信息分成个表来优化数据库  2、一对的话:在的里面建立一的字段,比如母亲(一)和孩子(),在孩子里面添加母亲id 3、的话:比如老师和学生,建立一个关系表,表id,...
  • 、总结1、项目中小组和主题之间是的2、可以将常用信息和不常用信息分成个表来优化数据库2、的话:在的里面建立的字段,比如母亲()和孩子(),在孩子里面添加母亲id3、...
  • 一个小超市把很商品分成了几个大类,例如生鲜类粮油类日杂类糕点类文具类有一个表a类别id类别名称1生鲜类2粮油类3日杂类4糕点类5文具类.......每天要卖很商品,商品有具体的名字,但都属于某一类有个销售记录...
  • ---恢复内容开始---本文转http://www.mhzg.net/a/20117/2011789260293.html由于业务需求,我们可能会把一串以分割符字符串数据放到一个字段,如我们在客户端处理拆分是很简单的,不过这样做效果不太好,怎么用SQL ...
  • 1- 疑难杂症1- 怎么插入不了列答:因为你表格已经满了,把右边无用的空白列,删除掉就好了2- 背景的表格怎么都不见了答:视图→显示网格线3- 怎么把科目和对应的名称,放在一个格子里?答:使用&符号链接4- ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,579
精华内容 1,031
关键字:

一个表分成多个表