EXCEL怎么把许多不连续的行汇总成连续的行?

首先说明数据非常多,手动删除不现实。想要设置公式,将一个sheet中许多不连续的行数据通过公式转到另一个sheet中,结果不经过任何计算,只是要求所有数据行连续的显示。谢谢

1、选中A列--Ctrl+G--定位条件--空值--确定

2、右击--删除--整行


温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-01
如果需要保留原含有行的数据表,就复制一个工作表(方法:右击下面的工作表标签名称,选择“复制或移动工作表”,再选“创建副本”,选择副本的位置),在复制得到的工作表中,直接排序,就把空行排到后面去了。如果不必保留原数据表,就直接在工作表中排序即可。这不是很简单吗?对于提问所说的“数据非常多”,那这更是不二选的方法,用公式完全没必要,数据多会很卡。
第2个回答  2020-03-01
假定原表shee1
新表的A2输入公式
=index(sheet!a:a,small(if(sheet1!$a$2:$a:$a10000<>"",row($2:$10000),4^8),row(a1)))&""
同时按下CTRL+SHIFT+Enter三键,使数组公式出现{ }
公式右拉再下拉到无数据本回答被提问者采纳
第3个回答  2020-03-01
1、你的描述不清晰,如果只是你截图这种,筛选都可以达到;
2、如果你的表格里有很多要分组的,比如甲、乙、丙、丁……都要分类,那公式就不合适。
所以准确描述问题很重要,能让你快速的获得想要的答案。
给你个对A列数据进行拆分数据并新建相应工作表的代码吧。

Sub 拆分数据()

Dim i, j,

Dim irow As Integer

Dim sh As Worksheet

Dim sht As Worksheet

Dim sh0 As Worksheet

Set sh0 = ActiveSheet

irow = sh0.Range("A65536").End(xlUp).Row

Application.DisplayAlerts = False

If Sheets.Count > 1 Then

For Each sht In Sheets

If sht.Name <> sh0.Name Then

sht.Delete

End If

Next

End If

Application.DisplayAlerts = True

For i = 2 To irow

k = 0

For Each sh In Sheets

If sh.Name = sh0.Cells(i, 1) Then

k = 1

End If

Next

If k = 0 Then

Sheets.Add(after:=Sheets(Sheets.Count)).Name = sh0.Cells(i, 1)

End If

Next

For j = 2 To Sheets.Count

sh0.Range("a1:az" & irow).AutoFilter Field:=1, Criteria1:=Sheets(j).Name

sh0.Range("a1:az" & irow).Copy Sheets(j).Range("a1")

Next

sh0.Range("1:1").AutoFilter

sh0.Select

End Sub
第4个回答  2020-03-01
手动删除也现实
F5/定位/定位条件/空值/删除/删除整行
相似回答