EXCEL表数据自动分表 如图总表中有1万多行数据,如何能自动分表到总表下的1、2、3、4等分表中

发布网友 发布时间:2022-04-22 23:48

我来回答

3个回答

热心网友 时间:2023-10-08 22:49

依据哪列数据,或是什么文字来分?如果是A列,可以根据名称不同,来分。

1、插入一个工作表、统计总表里A列名称出现的次数,并编号,如xxx   编号100001,yyy编号200001;设置完成把这个工作表隐藏。

公式:=VLOOKUP(总表!$A2,{"A",1;"B",2;"C",3;"D",4},2,0)*100000+COUNTIF(总表!A$1:A2,总表!A2)

2、在分表里,用index()+match(),来引用数据。

公式:=IFERROR(INDEX(总表!A:A,MATCH($A2+100000,辅助!$A:$A,0)),"")

追问

依据行数来分,三列数据都过去

追答

1、插入一个工作表、统计总表里A列名称出现的次数,并编号,如xxx   编号100001,yyy编号200001;设置完成把这个工作表隐藏。

公式:=VLOOKUP(总表!$A2,{"A",1;"B",2;"C",3;"D",4},2,0)*100000+COUNTIF(总表!A$1:A2,总表!A2)

2、在分表里,用index()+match(),来引用数据。

公式:=IFERROR(INDEX(总表!A:A,MATCH($A2+100000,辅助!$A:$A,0)),"")

热心网友 时间:2023-10-08 22:49

INDEX数组公式,或编程完成

热心网友 时间:2023-10-08 22:50

见附表,按按钮执行即可 。

Sub 按钮1_Click()
i = 1
j = 1
lastrow = Cells(Rows.Count, 1).End(3).Row
Do While i < lastrow + 1
    Sheets("总表").Select
    Range(Rows(i), Rows(i + 998)).Select
    Selection.Copy
    Sheets.Add After:=ActiveSheet
    ActiveSheet.Name = j
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    i = i + 999
    j = j + 1
Loop
End Sub


声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com